# 系統分析 CH1 * **software:Logic,一般而言不太會損壞,只會不符合需求,多半客製化** * **Hardware:實際存在的東西,會損壞折舊,大部分是大量生產的文件** | 種類 | 描述 | |:--:|:--:| |系統軟體|連接電腦硬體跟應用程式,讓電腦正常工作的軟體 ex:Your installer| |應用程式|一種專門For特定工作的程式,ex:word| |==++**軟體的組成**++==|程式+資料與資結+文件| |程式|用程式語言撰寫的exe,一種store在media上的二進制資料| |文件|使用手冊,需求文件等| |==資料與資結==|執行時所管理的資料結構| ## 資訊系統結構(big to small) 商業環境>企業>資訊系統>軟體 * ++軟體工程:系統化地進行軟體系統的開發,透過一些經驗證可行的方法,在時間與預算內開發系統++ >方法:需求、分析、設計、實作、測試、部署 >工具:CASE(Computer-Aided Software Engineering Tools) >流程:流程圖 |軟體工程三大階段|| |:--:|:--:| |定義|聽懂客戶的requirement,提供那些功能| |開發|如何達成軟體需求,決定架構、資結、撰寫程式、測試| |維護|除錯、升級等| * 術語:作業(Task):活動的組成元素,最小工作單位 |軟體開發生命週期(SDLC)|| |:--:|:--:| |需求|++**功能性需求**++:我所需要提供的功能。 ++**非功能性需求**++:ex:最少須選修16學分的限制| |分析|想方案,並尋找合適程式語言| |設計|++**系統導向**++:決定系統的軟硬架構,使用的作業系統並分割為子系統,評估是否需要資料庫。 ++**物件導向(重複利用性高)**++:將分析模型轉成設計模型,找出完整的物件屬性、方法的類別關係| |實作|Coding| |測試|確定是否符合定義與滿足客戶要求| |部署|給客戶| |軟體生命週期|描述| |:--:|:--:| |瀑布式模型|如同上面的需求到部署,缺點:缺乏彈性| |反覆與漸進式|針對主要需求進行開發,快速建立初期版本,再debug| |雛形|針對初期無法瞭解完整需求的情況,先建立一個簡單版本,給客戶評估,然後再依照反饋開發,通常雛形的code會捨棄| |螺旋|整合瀑布+雛形再加風險分析,若客戶覺得風險太高有可能專案停頓,分為:企劃、風險分析、工程、客戶評估,不斷輪轉| ==Rational統一流程==:IBM研發,利用物件導向來開發系統,最主要的概念就是透過++方法論++來解決問題 * 方法論:解決問題的方法集合,方法則是定義一種可重複使用的技術來解決指定的問題,其優點為可複製性 ### ++**四個階段**++ >初始:訂出目標 >強化:定義架構 >建構:利用反覆與漸進式coding >轉換:釋出beta並改善 ###### tags: `系統分析`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up