《軟件工程導(dǎo)論第3章》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件工程導(dǎo)論第3章(17頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、可行性研究一、目的 開發(fā)任何一個(gè)基于計(jì)算機(jī)的系統(tǒng)都會(huì)受到時(shí)間和資源的限制。因此,開發(fā)方在接受客戶的項(xiàng)目之前,必須根據(jù)客戶可能提供的時(shí)間和資源等條件進(jìn)行可行性研究。 可行性研究工作要在初步的需求定義之后進(jìn)行。其主要任務(wù)不是研究如何解決問題,而是要用最小的代價(jià)在最短的時(shí)間內(nèi)確定該項(xiàng)目是否值得去解決,是否存在可行的解決方案。即在系統(tǒng)層面上論證系統(tǒng)開發(fā)的可行性。 二、可行性研究集中在如下四個(gè)最為敏感的方面: 1.經(jīng)濟(jì)可行性 這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能超過它的開發(fā)成本嗎? 2.技術(shù)可行性 使用現(xiàn)有的技術(shù)能實(shí)現(xiàn)這個(gè)系統(tǒng)嗎?分析技術(shù)冒險(xiǎn)的各種因素,例如有關(guān)的技術(shù)是否已進(jìn)步到足以支持該系統(tǒng)?能否有勝任開發(fā)該系統(tǒng)的熟
2、練技術(shù)人員?為開發(fā)項(xiàng)目的所有硬、軟件資源是否能按期得到?可行性研究 3.操作可行性 系統(tǒng)的操作方式在這個(gè)用戶組織內(nèi)行得通嗎?4.法律可行性 確定由于開發(fā)軟件項(xiàng)目是否會(huì)侵犯他人、集體或國(guó)家的利益,是否會(huì)違反國(guó)家的法律,并由此承擔(dān)法律責(zé)任??尚行匝芯?三、可行性研究需要的時(shí)間長(zhǎng)短取決于工程的規(guī)模。 一般說來,可行性研究的成本只是工程總成本的510??尚行匝芯?四、可行性研究的步驟1、 確定系統(tǒng)規(guī)模和目標(biāo) 分析員訪問關(guān)鍵人員,仔細(xì)閱讀和分析有關(guān)的材料,以便改正含糊或不正確的敘述,清晰的描述對(duì)目標(biāo)系統(tǒng)的一切限制和約束可行性研究 2、 研究目前正在使用的系統(tǒng)1) 新系統(tǒng)必須解決舊系統(tǒng)中存在的問題2) 運(yùn)
3、行使用舊系統(tǒng)所需要的費(fèi)用是一個(gè)重要經(jīng)濟(jì)指標(biāo), 如果新系統(tǒng)不能增加收入或減少使用費(fèi)用,那么從經(jīng)濟(jì)角度看新系統(tǒng)就不如舊系統(tǒng)。3) 注意了解并記錄現(xiàn)有系統(tǒng)和其它系統(tǒng)之間接口情 況,這是設(shè)計(jì)新系統(tǒng)時(shí)的重要約束條件。4) 常見的錯(cuò)誤做法是花費(fèi)過多時(shí)間去分析現(xiàn)有的系統(tǒng)??尚行匝芯?3. 導(dǎo)出新系統(tǒng)的高層邏輯模型 優(yōu)秀的設(shè)計(jì)過程通??偸菑默F(xiàn)有的物理系統(tǒng)出發(fā),導(dǎo)出現(xiàn)有系統(tǒng)的邏輯模型(數(shù)據(jù)流圖),在參考現(xiàn)有系統(tǒng)的邏輯模型,設(shè)想目標(biāo)系統(tǒng)的邏輯模型,最后根據(jù)目標(biāo)系統(tǒng)的邏輯模型建造新的物理系統(tǒng)。可行性研究 抽象實(shí)現(xiàn)改進(jìn)老系統(tǒng)模型新模型新系統(tǒng) 4.重新定義問題 新系統(tǒng)的邏輯模型實(shí)質(zhì)上表達(dá)了分析員對(duì)新系統(tǒng)必須做什么的看法
4、,用戶是否也有同樣的看法呢?分析員應(yīng)該和用戶一起再次復(fù)查問題定義、工程規(guī)模和目標(biāo)。 可行性研究的前四個(gè)步驟實(shí)質(zhì)上構(gòu)成一個(gè)循環(huán),分析員定義問題,分析這個(gè)問題,導(dǎo)出一個(gè)試探性的解,在此基礎(chǔ)上再次定義問題,再一次分析這個(gè)問題,修改這個(gè)解,繼續(xù)這個(gè)循環(huán)過程,直到提出的邏輯模型完全符合系統(tǒng)目標(biāo)。可行性研究 5、導(dǎo)出和評(píng)價(jià)供選的解法 導(dǎo)出供選擇的解法的最簡(jiǎn)單的途徑,是從技術(shù)角度出發(fā)考慮解決問題的不同方案。 依次從技術(shù)可行性、操作可行性、經(jīng)濟(jì)可 行性三個(gè)方面考慮??尚行匝芯?進(jìn)度表經(jīng)濟(jì)上合算技術(shù)上可行操作上可行技術(shù)上不可行用戶不可能操作不合算 6、推薦一個(gè)方案并說明理由7、推薦行動(dòng)方針 任務(wù)分解,確定負(fù)責(zé)人
5、 大致進(jìn)度規(guī)劃 財(cái)務(wù)預(yù)算 風(fēng)險(xiǎn)分析及對(duì)策8、書寫文檔提交審查 請(qǐng)用戶和使用部門的負(fù)責(zé)人仔細(xì)審查??尚行匝芯?軟件計(jì)劃以可行性研究報(bào)告為基礎(chǔ),由軟件人員和用戶共同確立軟件的功能和限制,提出軟件計(jì)劃任務(wù)書。 一個(gè)典型的軟件計(jì)劃計(jì)劃書的內(nèi)容應(yīng)該包括如下四個(gè)方面:1、軟件范圍 軟件計(jì)劃的第一個(gè)任務(wù)是確定軟件需求描述,主要包括功能、性能、可靠性和接口等問題。2、環(huán)境資源 包括軟件、硬件和人力資源,每種資源均從資源的描述,對(duì)資源需求的日程表時(shí)間以及對(duì)資源應(yīng)用的持續(xù)時(shí)間三個(gè)方面來說明。制定軟件計(jì)劃 3、進(jìn)度安排 計(jì)劃者要協(xié)調(diào)可用資源與項(xiàng)目的工作量,考慮各項(xiàng)任務(wù)之間的互相依賴,而在可能時(shí)間時(shí)就并行地安排工作,
6、預(yù)見潛在的問題或瓶子口,并提供意外事故處理等。進(jìn)度安排的主要內(nèi)容 進(jìn)度安排的主要工作是制定軟件進(jìn)度表,以明確開發(fā)各階段的任務(wù)和時(shí)間安排情況。軟件進(jìn)度表的內(nèi)容包括:軟件的任務(wù)劃分情況; 各任務(wù)的起始時(shí)間和結(jié)束時(shí)間;各任務(wù)的工作量和所需的人數(shù); 各任務(wù)之間的銜接關(guān)系;各任務(wù)所需的資源情況; 各任務(wù)完成后所應(yīng)提交的文檔;對(duì)各任務(wù)的審查和審查記錄等。 制定軟件計(jì)劃 軟件進(jìn)度計(jì)劃的編制方法甘特圖法 甘特圖(Gantt Chart)又稱線條圖,是一種對(duì)各項(xiàng)活動(dòng)進(jìn)行計(jì)劃調(diào)度與控制的圖表,它具有簡(jiǎn)單、醒目和便于編制等特點(diǎn)。一般甘特圖的橫方向表示時(shí)間,縱方向列出工作。 甘特圖的描述符號(hào)和示例。特點(diǎn):能夠動(dòng)態(tài)反映
7、軟件項(xiàng)目開發(fā)進(jìn)展的情況。 難以反映多個(gè)任務(wù)之間存在的復(fù)雜的邏輯關(guān)系。制定軟件計(jì)劃 網(wǎng)絡(luò)計(jì)劃法 網(wǎng)絡(luò)計(jì)劃法是用網(wǎng)狀圖表安排與控制各項(xiàng)活動(dòng)的方法,可通過對(duì)網(wǎng)狀圖的分析,方便地確定完成整個(gè)工程至少需要多少時(shí)間,以及哪些子工程是影響工程進(jìn)度的關(guān)鍵。一般適應(yīng)于工作步驟密切相關(guān)、錯(cuò)綜復(fù)雜的工程項(xiàng)目的計(jì)劃管理。 網(wǎng)絡(luò)計(jì)劃法的描述符號(hào)和示例示。4、軟件成本制定軟件計(jì)劃 人月神話(Frederick P.Brooks Jr)n缺乏合理的時(shí)間進(jìn)度是造成項(xiàng)目滯后的最主要原因,它比其他所有因素的總和影響還大。n良好的烹飪需要時(shí)間,某些任務(wù)無法在不損害結(jié)果的情況下加快速度。n由于編程人員通過純粹的思維活動(dòng)來開發(fā),我們期
8、待在實(shí)現(xiàn)過程中不會(huì)碰到困難。但是,我們的構(gòu)思本身是有缺陷的,因此總會(huì)有bug。弗雷德里克布魯克斯 人月神話n用人月作為衡量一項(xiàng)工作的規(guī)模是危險(xiǎn)和帶有欺騙性的神話,因?yàn)樗凳救藛T數(shù)量和時(shí)間是可以相互替換的。n Brooks法則:向進(jìn)度落后的項(xiàng)目增加人手,只會(huì)使進(jìn)度更加落后。n向軟件項(xiàng)目中增派人手從三個(gè)方面增加了項(xiàng)目必要的總體工作量:任務(wù)重新分配本身和所造成的工作中斷;培訓(xùn)新人員;額外的相互溝通。 n關(guān)于進(jìn)度安排,我的經(jīng)驗(yàn)是1/3計(jì)劃、1/6編碼、1/4構(gòu)件測(cè)試以及1/4系統(tǒng)測(cè)試。 參考書目1、軟件工程導(dǎo)論 張海藩 清華出版社2、 軟件工程導(dǎo)論學(xué)習(xí)輔導(dǎo)張海藩 清華出版社2、軟件工程 徐仁佐 華中科技出版社3、軟件工程原理、方法與應(yīng)用 史濟(jì)民等 高等教育出版社4、軟件工程方法與實(shí)踐李芷 科學(xué)出版社5、人月神話 Frederick P.Brooks Jr. 清華出版社