1. 軟體工程裡面系統分析和系統需求分析有區別嗎
看看這個吧 希望能對你有幫助「普及計算」時代:嵌入式系統重新劃分計算機類別 由於事物的發展性,對事物的定義是很難放之四海而皆準的,尤其對於計算機領域而言,這種現象更加明顯。以前我們把計算機按其體系結構、運算速度和結構規模等因素分為大、中、小型機和微機,並以此來組織學科和產業分工,後來隨著微機處理速度的迅速提高,使得這種劃分界限大大模糊化。而嵌入式計算機系統在當前及未來的大量應用,無疑會使得這一幕重新上演。 計算技術在各行各業的廣泛滲透,使得嵌入式計算機在應用數量上將遠遠超過傳統意義上的計算機,它可以應用於製造業、通訊、儀表、汽車、軍事、航空航天和消費類電子產品等廣闊領域。許多學者主張以應用為中心把計算機劃分為兩類:通用計算機(典型的如PC)和嵌入式系統。因為科技發展的動力在某種程度上總是欲使人類自身更為舒適,所以未來必定是一個「普及計算」(Pervasive Computing)的時代,在諸如家庭網路(Home Network)、汽車網路(Automobile Network)、移動電子商務(Mobile e-business)以及Financial Service Everywhere等普及計算的重要內容中,嵌入式系統都將是核心的組成部分之一。 在嵌入式系統中,軟體與硬體是緊密集成在一起的。它和通用計算機有著本質的區別,由於它基於具體應用,所以在各種不同嵌入式系統之間,很難找到共通的特性。嵌入式系統的分析和設計無法延用傳統方法。本專題圍繞「嵌入式系統開發技術」這個核心,組織了以下四篇文章: 1. 實時系統軟體分析和設計方法綜述 2. 嵌入式系統軟體的面向對象開發技術 3. 實時操作系統任務間通信的設計與分析 4. 嵌入式計算機系統的設計技術 本專題分兩次刊出,本期刊出前兩篇文章. 實時系統簡介 實時系統在工業、商業和軍事等領域都有非常廣泛的用途,並且已經有很多實際的應用。一般來說,實時系統通常是比較復雜的,因為它必須處理很多並發事件的輸入數據流,這些事件的到來次序和幾率通常是不可預測的,而且還要求系統必須在事先設定好的時限內做出相應的響應。 那麼,是不是響應時間在多少毫秒或多少微秒以內的系統就是實時系統,而超出這個時限的就不算呢?事實上,實時系統並非是指「快速」的系統,實時系統有限定的響應時間,從而使系統具有可預測性。實時系統又可以分為「硬實時系統」和「軟實時系統」。二者的區別在於:前者如果在不滿足響應時限、響應不及時或反應過早的情況下都會導致災難性的後果;而後者則在不滿足響應時限時,系統性能退化,但並不會導致災難性的後果。 實時系統具有以下一些特點,從而區分於其他系統: 嵌入式系統 實時系統通常是嵌入式的系統,也就是由封裝好的軟體系統控制與其相關的硬體。 與外部環境交互 實時系統通常需要與外部環境進行交互,例如,可以控制機器及生產過程,或者監控化學反應並隨時匯報危急情況,這種情況通常需要從外部接收數據並提供輸出和控制外部環境。 時限 實時控制 實時系統經常包括實時控制,從接收到的輸入數據中做出控制決策。 「反應」系統 很多實時系統都是「反應」的系統,也就是說,由事件驅動並且必須對外界事件進行響應。 並發處理 絕大多數實時系統的一個重要特點是並發處理,通常,事件發生的順序是不可預測的。 一些重要概念與一般的系統設計一樣,實時系統軟體也包括一些和一般系統相同的分析和設計概念,在這里不再討論。下面列出幾點對於實時系統設計有特別重要意義的概念: 有限狀態機(FSM) 很多實時系統,特別是實時控制系統,其整個分析機制與系統的狀態有相當大的關系。有限狀態機由有限的狀態和相互之間的轉移構成,在任何時候只能處於給定數目的狀態中的一個。當接收到一個輸入事件時,狀態機產生一個輸出,同時也可能伴隨著狀態的轉移。主要有兩種方法來建立有限狀態機,一種是「狀態轉移圖」,另一種是「狀態轉移表」,分別用圖形方式和表格方式建立有限狀態機。實時系統經常會應用於比較大型的系統中,這時採用圖形或表格方式對理解復雜的系統具有很大的幫助。 並發任務 實時系統通常都會有很多事件同時產生。一個任務描述一個事件,整個系統的並發機制是通過讓很多任務並行運行而實現的。一個強調並發任務的系統設計通常都會顯得更加清楚並且易於理解。 信息隱藏 信息隱藏是一個與各種系統設計都有關的設計概念,原則是每個模塊應該隱藏可能會做改變的設計結果。採用信息隱藏的原因是使模塊可供修改,易於理解,因此也便於維護。 實時系統分析和設計的常用方法 首先要區分兩個不同的概念:系統分析和系統設計。系統分析指的是由用戶提供的,說明軟體系統應該做什麼以及需要在什麼環境下運行等情況的方案;系統設計則是指那些由系統分析員或設計者提供的描述軟體系統如何實現這些需求的方案。在實時系統的設計中,系統的瞬時表現是最難描述的,但同時也是最重要的因素。 以下具體地介紹實時系統設計的常用方法。 語言描述及數學分析 在系統分析和設計中,語言描述是不可缺少的,但其功能也只是對其他方法提供的分析和設計進行補充。在系統分析中,也可以採用數學分析來描述對系統功能的需求。數學分析是一種精確而有效的方法,對系統性能的優化可以通過優化相應的數學模型而獲得,但在大系統中,其作用相對受限。 流程圖 流程圖也許是最早出現的軟體系統模型,而且也有著很廣泛的應用,因此,簡單的系統可以採用流程圖來進行建模。流程圖適合指令不超過5000到10000條的系統。在多任務的系統中,流程圖可用來對各個任務進行分別描述,但是進程之間的交互就不太容易描述,同時也無法描述其瞬時的表現。 結構圖 結構圖是一種廣泛採用的、用以描述系統模塊結構的方法。結構圖從左到右代表了執行的順序,從上到下代表了程序模塊的細節化。結構圖可以在相當多的計算機科學的文獻以及其他描述系統的文章中見到。 偽代碼和編程設計語言(PDL) 編程設計語言與偽代碼只有細小的差別。編程設計語言是一種與系統運行的底層硬體環境相分離開來的抽象語言,它以一種類似於真正的編寫代碼的方式來說明系統。ADA就是一個成功應用編程設計語言的例子。 使用編程設計語言或偽代碼的好處是,它們比直接應用語言來描述系統需求更抽象,而同時比前述所有方法都更接近實際的編程語言。 有限狀態機 有限狀態機是實時系統設計中的一種數學模型,是一種重要的、易於建立的、應用比較廣泛的、以描述控制特性為主的建模方法,它可以應用於從系統分析到設計的所有階段。有限狀態機的組成如下: (1) 一個有限的狀態集合Q (2) 一個有限的輸入集合I (3) 一個變遷函數δ:Q×I→Q 變遷函數也是一個狀態函數,在某一狀態下,給定輸入後,FSM轉入該函數產生的新狀態。δ的定義域內的某些數值可以是未定義的。 有限狀態機通常用圖的方式來表示,其節點代表狀態。若在輸入i下狀態由q1轉變為狀態q2,則有一條標有輸入i的弧線從狀態q1指向q2。此時,其變遷函數δ(q1,i)=q2。圖1示意了一個簡單的有限狀態機。
圖1 簡單有限狀態機 圖1中的左圖表明該FSM有q0、q1、q2、q3四個狀態,輸入集中有a、b、c三個元素;右圖中各個狀態之間的轉換關系則更清晰。有限狀態機非常適合於描述這樣的系統:系統含有有限個狀態,不同事件的發生可以用不同狀態之間的轉換來模擬。 總的來說,有限狀態機的優點在於簡單易用,狀態間的關系能夠直觀看到。但應用在實時系統中時,其最大的缺點是:任何時刻系統只能有一個狀態,無法表示並發性,不能描述非同步並發的系統。另外,在系統部件較多時,狀態數隨之增加,導致復雜性顯著增長。為了消除這些缺點,一些新的方法應運而生。下面介紹的Petri網就是其中一種,與FSM相比,它具有更強的建模能力,並能描述系統的並發、非同步、同步等特性。 Petri網 Petri網是一種使用圖形方式對系統進行需求規格說明的技術,用來定義多進程、多任務系統的數學模型,易於描述系統的並發、競爭、同步等特徵,並可用於評價和改進系統。如今,Petri網已經大量應用於各種系統的模型化。與FSM相比,Petri網不僅能描述同步模型,更適合於相互獨立、協同操作的處理系統。 Petri網的組成成分包括: (1)一個有限的庫所(place)集合,表示系統的狀態。 (2)一個有限的變遷(transition)集合,表示系統中的事件。 (3)一個有限的連接庫所到變遷或者反向的有向箭頭的集合,又分輸入和輸出。 圖2為一Petri網示例,圖中的庫所用圓圈表示,變遷由矩形表示。 Petri網有如下特性: (1)狀態 通過標記Petri網的庫所來給出其狀態,標記Petri網的庫所在圖形中表現為對庫所插入數目不同的令牌。 (2)狀態變化規則 一個變遷可以有多個輸入或輸出庫所,如果一條有向箭頭是從庫所到變遷,則該庫所是該變遷的一個輸入庫所,反之則為輸出庫所。如果一個變遷中每一個輸入庫所都至少有一個令牌,則稱該變遷是一個使能變遷。 (3)點燃 一個使能變遷可以被點燃,即從該變遷的每一個輸入庫所中移走一個令牌,在該變遷的每一個輸出庫所中增加一個令牌。 圖2 Petri網示例
2. <<軟體工程>>里的一個簡單小的管理軟體的需求分析怎麼做啊...求教..最好有例子,,,,要簡單點的
一個基於工作流管理系統的需求分析案例
1. 概念
工作流(workflow)是為提高工作效率而提出的,目前尚無統一、明確的定義。工作流管理聯盟(Workflow Management Coalition)將工作流定義為:業務流程的全部或部分自動化,在此過程中,文檔、信息或任務按照一定的過程規則流轉,實現組織成員間的協調工作以達到業務的整體目標。
2. 與工作流相關的基本概念及其聯系
業務流程(Business Process): 在功能確定的組織結構中,能夠實現業務目標和策略的相互連接的過程和活動集。例如,投保過程、項目開發過程等。
過程定義(Process Definition): 業務流程的形式化描述,用來支持系統建模和運行過程的自動化。過程可分解為一系列子過程和活動,其定義主要包括描述過程起始、終止的活動關系網路以及一些關於個體行為的信息,如組織成員、與IT相關的應用和數據等。
活動(Activity): 活動是過程執行中可被工作機調度的最小工作單元,要求有人或機器的參與。
工作流管理系統(Workflow Management System,WFMS): 一種能定義、創建和管理工作流執行的系統。它可通過單個或多個工作機運行,並能存儲和解釋過程定義。
過程/活動實例(Process/Activity Instances): 實際運行中的一個過程或活動。每個實例代表一個能獨立控制執行、具有內部狀態的線程,可被外界通過標識進行存取。
3 工作流理論與應用結合
(1)需求問題
開發黨務工作流管理系統,實現黨務各類工作流的定義、流程管理、任務的分配、追蹤、相關文檔的記錄和查詢。
(2)工作流功能描述
1. 基本(逐步至完全)支持 Browser;具有成熟的工作流程模塊及完整的協同服務功能;工作流的定義和配置可視化,簡單、方便;
2. 有簡單、復雜流程所需的模塊,可重復使用業務表單;圖形化的流程定製工具;可視化、圖形化的流程開發界面;能清楚指定企業流程邏輯、參與人員及其角色,以及相關信息內容--無須編寫任何復雜的應用程序;每個工作流程步驟皆可以獨立的圖形代表,直接點取即可修改,方便簡單;
3. 以"規則與角色"為基礎;工作流程內容與程序邏輯完全獨立;用戶根據實際工作情況可方便定義新的工作流及修改老的工作流;開發新的應用程序或變更現有應用程序時可重復使用現有的工作流程模塊;工作流程處理程序標准化,如文件呈送及授權簽名等,新的應用程序不用重新編寫;具備角色控制功能,有效地定義參與人員在工作流程中的角色、執行的任務與訪問許可權;自動生成樹狀的組織管理架構;
4. 嚴謹的任務控制流程,包括代辦人管理,可自動替換工作流程的審批人;先進的時間控制管理,包括期限控制、自動提醒、催辦、同時多人並行審批等;
5. 運用工作流程推動企業知識管理:工作流程可作為知識管理的神經中樞;使用該系統可確保有許可權的人在既定的規則與程序下,自動與正確地做信息交互;
6. 系統適合企業的發展及重組,企業的業務流程並不是一成不變的,相反,會隨著業務的發展不斷進行優化;
7. 通過獨特的工作流引擎,能夠直接訪問各種資料庫或調用業務邏輯組件,完成對業務資料庫中數據的控制;
8. 支持多種操作系統平台,方便平滑地遷移;
9. 符合國際工作流管理聯盟(Workflow Management Coalition,WfMC)制定的規范3。
(3)客戶收益
1. 工作流易於定義和改變――應用程序獨立於模型;
2. 可以模擬改變模型後的效果;
3. 以商業規則定義工作流,通過職務定義人員;
4. 規則是強迫執行的――確保企業級范圍的一致性;
5. 新舊應用程序作為商業流程的各部分被集成起來。
(4)我們特色
針對黨務等政府組織部門量身訂做的工作流管理系統。
(5)設計思路範例:用戶操作模塊以工作流思路來設計
系統中的基本角色,是直接的任務分派對象,他或她可以直接看到計算機針對自己列出的「任務清單」,跟蹤每一項任務的狀態,或繼續一項任務,而不必從一個模塊退出,進入另一個模塊,搜索相應任務的線索。前者是面向功能或對象的,而後者是直接面向用戶的。這樣,用戶的任務分派和任務的完成狀態,可以被最大程度地數字化和受到控制。
3. 餐飲點餐管理系統應用中的問題及需求
提供記次就餐、訂餐、按班次就餐管理功能;
可進行就餐時間、參數以及就餐班次的靈活設置,可根據具體實際情況進行變更;
可統計、生成就餐打卡表、部門及個人的日、月就餐統計報表、超餐統計表等管理項目,為薪資計算提供依據;
實現異常數據查詢功能、實時就餐功能和報警功能。科藝嘉提供技術支持。科藝嘉專注研發通用靈活,經驗實用,適合中國的人力資源管理軟體平台。產品包含有KYJHR V10人力資源管理系統,KYJiHR V16 eHR人力資源管理軟體,人事考勤軟體,KYJHR V8人事考勤工資軟體,人事考勤就餐工資管理軟體,人事工資軟體,培訓管理軟體,績效考核管理軟體,門禁管理軟體,消費管理軟體,一卡通系統,OA系統。