《軟件開發(fā)流程》課件_第1頁
《軟件開發(fā)流程》課件_第2頁
《軟件開發(fā)流程》課件_第3頁
《軟件開發(fā)流程》課件_第4頁
《軟件開發(fā)流程》課件_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件開發(fā)流程,軟件開發(fā)流程,軟件開發(fā)流程,軟件開發(fā)流程概述,項目: 需求來自某個別用戶,定制性能 政府、企業(yè)、基金項目 金土資源、myPKI 產(chǎn)品: 需求來自某類用戶,不單獨定制 Windows,軟件開發(fā)流程,1、可行性分析做不做?,目的:為決策提供依據(jù) 要求:真實、全面與重點兼顧 內(nèi)容: 市場可行性:成熟?對手?用戶? 政策可行性:盜版軟件? 技術(shù)可行性:核心技術(shù)?時間? 成本收益分析:辦公、工資、培訓、維護 SWOT分析: Strengths, Weaknesses, Opportunities, Threats,軟件開發(fā)流程,SWOT分析,Strengths 技術(shù)技能優(yōu)勢: 資產(chǎn)優(yōu)勢:有

2、形(先進設施)、無形(品牌) 人力資源優(yōu)勢: 組織體系優(yōu)勢 競爭能力:開發(fā)周期,營銷網(wǎng)絡 Weaknesses 缺乏核心技能技術(shù)? 缺乏有競爭力的資產(chǎn)資源(包括人力) ,Opportunities 確認評價每個重要機會 客戶群的擴展 市場壁壘 并購競爭對手? 向其他地理區(qū)域擴張? Threats 市場內(nèi)的競爭對手 市場增值率 匯率和外貿(mào)政策 市場需求減少 經(jīng)濟危機,國家調(diào)控政策,軟件開發(fā)流程,2、需求分析有所為有所不為,重要性: 難點: 用戶需求不斷改變、交流理解有誤差 內(nèi)容: 功能需求 性能指標 環(huán)境需求:軟、硬件環(huán)境 界面需求:人機交互方式 使用工具:Rational Rose、Visio

3、,軟件開發(fā)流程,3、系統(tǒng)設計架構(gòu)師,軟件體系結(jié)構(gòu)屬于系統(tǒng)設計 可分兩個階段:總體設計和詳細設計 總體設計: 需求分析的結(jié)果軟件體系構(gòu)架、結(jié)構(gòu) 復雜系統(tǒng)模塊進行功能劃分、建立層次結(jié)構(gòu) 詳細設計: 各個模塊的功能設計,軟件開發(fā)流程,3、系統(tǒng)設計流程,軟件開發(fā)流程,3、系統(tǒng)設計內(nèi)容,軟件開發(fā)流程,系統(tǒng)設計用戶界面設計,用戶界面類型 對話框:計算器 文檔:office 瀏覽器:outlook 其他,如游戲界面 界面設計 人機界面就是系統(tǒng)本身,軟件開發(fā)流程,3、系統(tǒng)設計界面設計原則,實用、直觀、簡潔、生動 對用戶友好:符合習慣、及時反饋信息 風格一致:Word Powerpoint 錯誤處理:提示、撤銷

4、等 幫助: 盡量減少非必要信息,軟件開發(fā)流程,3、系統(tǒng)設計數(shù)據(jù)庫設計,目的:設計表結(jié)構(gòu)存儲、操作數(shù)據(jù) 步驟,分兩步: 抽象:客觀對象抽象出 實體和聯(lián)系 模型 Entity-Relationship 將 (概念)模型轉(zhuǎn)化為實際數(shù)據(jù)庫系統(tǒng)支持的數(shù)據(jù)模型(物理模型) 數(shù)據(jù)庫設計范式 1NF、2NF、3NF、BCNF 使得添加、更新、刪除時少發(fā)生錯誤 工具: PowerDesigner,軟件開發(fā)流程,4、模塊設計,模塊指系統(tǒng)的各功能部件 模塊化降低開發(fā)、測試、維護的代價 如何劃分模塊:沒有標準答案 模塊設計的原則 接口公開、內(nèi)部實現(xiàn)隱藏 高內(nèi)聚:模塊內(nèi)部關(guān)聯(lián)度高。如果不高? 低耦合:模塊之間依賴程度應

5、該低。高? 模塊設計內(nèi)容 接口(外)、數(shù)據(jù)結(jié)構(gòu)+算法(內(nèi)),軟件開發(fā)流程,4、模塊設計OOP設計,類的抽象 類的結(jié)構(gòu)層次:繼承、依賴 類的屬性、定義 類的實現(xiàn),軟件開發(fā)流程,5、模塊設計數(shù)據(jù)結(jié)構(gòu)和算法,設計理念 為那種應用服務? 時間優(yōu)先還是空間優(yōu)先? 熟悉哪些算法或數(shù)據(jù)結(jié)構(gòu) 一般過程 先設計全局數(shù)據(jù)結(jié)構(gòu)、再局部數(shù)據(jù)結(jié)構(gòu) 優(yōu)先使用已有、成熟、合適的,再考慮自行設計 滿足性能即可,不滿足,再優(yōu)化,軟件開發(fā)流程,6、編碼,語言 Java:面向?qū)ο?、分布式、解釋型、可移植、多線程, J2SE, J2EE,J2ME .Net: 健壯、安全、統(tǒng)一、開發(fā)簡單 CLR(Common Language Run

6、time): 核心,類似虛擬機,負責代碼執(zhí)行、內(nèi)存管理、安全等 Framework:平臺基礎(chǔ) C#, C+, Unix/Linux,軟件開發(fā)流程,6、編碼編碼規(guī)范,目標: 易讀、風格統(tǒng)一、安全,可維護移植 內(nèi)容: 命名 代碼書寫格式 其他如函數(shù)、變量等的設置要求,軟件開發(fā)流程,6、編碼開發(fā)方法,一種軟件開發(fā)方法:極限編程XP (eXtreme Programming) Kent Beck:1996 理念:交流、樸素、反饋、勇氣、尊重 將復雜的開發(fā)過程分解為 許多相對簡單的小周期。積極交流反饋,讓涉眾清楚開發(fā)進度、問題、困難,并及時調(diào)整。相互尊重! 極限:把所有強調(diào)的思想、方法做到最好,其他忽略

7、; RUP Agile Scrum,軟件開發(fā)流程,6、編碼源代碼控制,版本管理 人員離開變動?如何記錄重要更新?多個版本出現(xiàn),管理版本的變化?對各個小組的子模塊管理?保留修改軌跡,便于撤銷錯誤的改動? 常用工具: VSS, Microsoft Visual SouceSafe CVS, Concurrent Versions System, Open source,軟件開發(fā)流程,7、軟件測試,定義(Myers,軟件測試藝術(shù)): 為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程 目的:保證軟件質(zhì)量 時機:在軟件交付用戶或投入運行之前 經(jīng)驗:錯誤越遲被發(fā)現(xiàn),調(diào)試難度越大。 階段: 單元測試、集成測試、系統(tǒng)測試、用戶測

8、試,軟件開發(fā)流程,7、軟件測試,單元測試 由開發(fā)者編寫一段代碼,檢驗程序基本功能是否正確。 測試的單元:類、函數(shù)。 例如裝配電腦,先測試顯卡、硬盤、光驅(qū)等,軟件開發(fā)流程,7、軟件測試,集成測試:自頂向下 樁模塊:模擬真模塊,提供數(shù)據(jù) 建立測試驅(qū)動模塊:以程序真正的主模塊為驅(qū)動模塊,替換某樁模塊,輸入數(shù)據(jù),檢測輸出是否正確 回歸測試:做一定修改后,再次由測試部門進行測試,軟件開發(fā)流程,7、軟件測試,集成測試:自底向上 組織模塊群:將部分底層模塊組裝成實現(xiàn)某個功能的模塊群 建立測試驅(qū)動模塊:對上一步組裝的模塊群開發(fā)一個測試程序,輸入數(shù)據(jù),測試輸出是否正確,軟件開發(fā)流程,7、軟件測試系統(tǒng)測試,概念:

9、將完整的軟件及其所依賴的軟硬件環(huán)境整合,進行測試 內(nèi)容: 性能、負載 黑盒測試:不關(guān)心內(nèi)部,只看結(jié)果是否正確 白盒測試:結(jié)構(gòu)或邏輯測試,檢驗內(nèi)部功能是否按規(guī)定正確工作。 單元測試通常是白盒測試,而集成測試和系統(tǒng)測試往往是黑盒測試,軟件開發(fā)流程,7、軟件測試測試工具,單元測試:xUnit(CppUnit, Junit, Nunit) 黑盒: 功能測試:Rational SQA Robot 性能測試: Rational SQA Load 白盒測試: 內(nèi)存泄露:Rational Purify 代碼覆蓋率:Rational Purecoverage 代碼性能:Rational Quantify 測試管

10、理:Rational Test Manager,軟件開發(fā)流程,8、結(jié)項,安裝盤的制作 InstallShield, Acresso公司,事實標準 VisioStudio.Net 發(fā)布程序 版權(quán)保護 加密:序列號 說明書幫助文檔制作 HLP,早期,Microsoft Help Workshop CHM, 1998年推出, Microsoft Html Help Workshop,軟件開發(fā)流程,8、軟件維護,未發(fā)現(xiàn)的Bug 需求改變 版本升級兼容 售后培訓 ,軟件開發(fā)流程,Dimensions of software complexity,Higher technical complexity -

11、 Embedded, real-time, distributed, fault-tolerant - Custom, unprecedented, architecture reengineering - High performance,Lower technical complexity - Mostly 4GL, or component-based - Application reengineering - Interactive performance,Higher management complexity - Large scale - Contractual - Many stake holders - “Projects”,Lower management complexity - Small scale - Informal - Single stakeholder - “Products”,CASE: computer aided software engineering,軟件開發(fā)流程,Forces in Software,Our enemy is complexity, and its our goal to kill it. Jan Baan,Functionality,Cost

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論