資源描述:
《軟件工程李愛(ài)萍 作業(yè)參考問(wèn)題詳解-最終版修改》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、實(shí)用文檔第一章1.1什么是軟件?軟件和程序的區(qū)別是什么?答:⑴軟件是程序、數(shù)據(jù)以及開發(fā)、使用和維護(hù)程序需要的所有文檔的完整集合。軟件的定義是:計(jì)算機(jī)程序、方法、規(guī)則、相關(guān)的文檔資料以及在計(jì)算機(jī)上運(yùn)行程序時(shí)所必須的數(shù)據(jù)。⑵軟件不是程序,程序是軟件的一部分。程序是為了解決某個(gè)特定問(wèn)題而用程序設(shè)計(jì)語(yǔ)言描述的適合計(jì)算機(jī)處理的語(yǔ)句序列。它是由軟件開發(fā)人員設(shè)計(jì)和編碼的。程序執(zhí)行時(shí)一般要輸入一定的數(shù)據(jù),也會(huì)輸出運(yùn)行的結(jié)果。沒(méi)有相關(guān)文檔,僅有程序是不能稱之為軟件產(chǎn)品的。1.2什么是軟件生存周期?劃分生存周期的主要原則是什么?答:(1)軟件的生存周期是指某一軟件項(xiàng)目被提出并著
2、手實(shí)現(xiàn)開始,直到該軟件報(bào)廢或停止使用為止所經(jīng)歷的時(shí)間。(2)主要原則:各階段的任務(wù)彼此間盡可能相對(duì)獨(dú)立,同一個(gè)階段各項(xiàng)任務(wù)的性質(zhì)盡可能相同,從而降低每個(gè)階段任務(wù)的復(fù)雜性,簡(jiǎn)化不同階段之間的聯(lián)系,有利于軟件開發(fā)過(guò)程的組織管理。1.3什么是軟件危機(jī)?它有哪些主要表現(xiàn)?為什么會(huì)產(chǎn)生軟件危機(jī)?答:(1)軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。(2)主要表現(xiàn):對(duì)軟件開發(fā)成本和研制進(jìn)度的估計(jì)常常很不精確,導(dǎo)致經(jīng)費(fèi)預(yù)算經(jīng)常突破,進(jìn)度超時(shí)完成;由于開發(fā)人員常常對(duì)用戶需求只有模糊的了解以及開發(fā)人員和用戶又未能及時(shí)交換意見,導(dǎo)致已完成的軟件不能滿足用戶
3、的需要;軟件產(chǎn)品質(zhì)量差,可靠性得不到保證;軟件產(chǎn)品可維護(hù)性差;軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升,軟件的發(fā)展跟不上硬件的發(fā)展;軟件開發(fā)生產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用速度普及深入趨勢(shì),軟件發(fā)展跟不上用戶的要求。(3)產(chǎn)生軟件危機(jī)的原因:造成軟件危機(jī)的原因與軟件自身的特點(diǎn)有關(guān),也與軟件開發(fā)人員在開發(fā)和維護(hù)時(shí)采用的生產(chǎn)方式、方法、技術(shù)有關(guān)。軟件是計(jì)算機(jī)系統(tǒng)中的邏輯部件,軟件產(chǎn)品往往規(guī)模龐大,結(jié)構(gòu)復(fù)雜。給軟件的開發(fā)和維護(hù)帶來(lái)客觀的困難;軟件開發(fā)的管理困難。由于軟件規(guī)模大、結(jié)構(gòu)復(fù)雜、又具有無(wú)形性,導(dǎo)致管理困難,進(jìn)度控制困難,可靠性無(wú)法保證;軟件開發(fā)費(fèi)
4、用不斷增加,維護(hù)費(fèi)用急劇上升,直接威脅計(jì)算機(jī)應(yīng)用的擴(kuò)大;軟件開發(fā)技術(shù)落后;生產(chǎn)方式落后;開發(fā)工具落后,生產(chǎn)效率提高緩慢。另外軟件開發(fā)人員忽視需求分析的重要性,輕視軟件維護(hù)也是造成軟件危機(jī)的原因。1.4什么是軟件工程?怎樣利用軟件工程消除軟件危機(jī)?答:(1)軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門學(xué)科(2)首先應(yīng)該對(duì)計(jì)算機(jī)軟件有一個(gè)正確的認(rèn)識(shí),徹底清除“軟件就是程序”文案大全實(shí)用文檔的錯(cuò)誤觀念;要使用好的開發(fā)技術(shù)和方法,并且要不斷研究探索更好更有效的技術(shù)和方法;要有良好的組織、嚴(yán)密的管理,各類人員要相互配合,共同完成任務(wù),充分認(rèn)識(shí)軟件開發(fā)不是某種個(gè)體勞動(dòng)的神秘
5、技巧;應(yīng)該開發(fā)和使用好的軟件工具,從而有效提高軟件生產(chǎn)率。采用“工程化”的思想做指導(dǎo)來(lái)解決軟件研究中面臨的困難和混亂。1.5何謂面向?qū)ο筌浖こ蹋亢?jiǎn)述它和傳統(tǒng)軟件工程的區(qū)別與聯(lián)系?答:(1)以面向?qū)ο蟪绦蛟O(shè)計(jì)為基礎(chǔ)的軟件工程。(2)傳統(tǒng)軟件工程是以結(jié)構(gòu)化程序設(shè)計(jì)為基礎(chǔ),而面向?qū)ο筌浖こ淌且悦嫦驅(qū)ο蟪绦蛟O(shè)計(jì)為基礎(chǔ)。與面向過(guò)程的軟件工程的開發(fā)思想相比,面向?qū)ο箝_發(fā)方法不再是以功能劃分為導(dǎo)向,而是以對(duì)象作為整個(gè)問(wèn)題分析的中心,圍繞對(duì)象展開系統(tǒng)的分析與設(shè)計(jì)工作。在開發(fā)過(guò)程方面,面向?qū)ο筌浖こ毯蛡鹘y(tǒng)軟件工程一樣也是把軟件開發(fā)劃分為分析、設(shè)計(jì)、編碼和測(cè)試等幾個(gè)階段,
6、但各個(gè)階段的具體工作不同,除了在編碼階段使用的語(yǔ)言不同外,面向?qū)ο筌浖こ虨榇_發(fā)軟件確定“類與對(duì)象”一般在需求分析階段進(jìn)行,設(shè)計(jì)階段則主要完成對(duì)象內(nèi)部的詳細(xì)設(shè)計(jì);而在傳統(tǒng)軟件工程中,將軟件設(shè)計(jì)劃分為“總體設(shè)計(jì)”和“詳細(xì)設(shè)計(jì)”,分別完成軟件的總體結(jié)構(gòu)圖的設(shè)計(jì)和各個(gè)模塊內(nèi)部算法的詳細(xì)設(shè)計(jì)。即:傳統(tǒng)軟件工程開發(fā)過(guò)程包括需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、面向過(guò)程的編碼和測(cè)試;面向?qū)ο筌浖こ涕_發(fā)過(guò)程包括需求分析與對(duì)象抽取、對(duì)象詳細(xì)設(shè)計(jì)、面向?qū)ο蟮木幋a和測(cè)試。1.6什么是軟件生存周期模型?試比較本章介紹的四種模型的優(yōu)缺點(diǎn),說(shuō)明每種模型的使用范圍答:(1)軟件生存周期模型
7、即為軟件開發(fā)模型,是描述軟件開發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的模型,是軟件過(guò)程、活動(dòng)、任務(wù)的結(jié)構(gòu)框架。優(yōu)點(diǎn)缺點(diǎn)適用范圍瀑布模型能清晰直觀地表達(dá)軟件開發(fā)全過(guò)程,明確規(guī)定要完成的主要活動(dòng)和任務(wù),用來(lái)作為軟件項(xiàng)目工作的基礎(chǔ)。只有當(dāng)分析員能夠做出準(zhǔn)確的需求分析時(shí),才能得到預(yù)期的正確結(jié)果。它是一種理想的線性開發(fā)模式,缺乏靈活性,特別是無(wú)法解決軟件需求不明確或不準(zhǔn)確的問(wèn)題。適合于需求很明確的軟件項(xiàng)目開發(fā)的模型,對(duì)于經(jīng)常變化的項(xiàng)目而言,瀑布模型毫無(wú)價(jià)值。文案大全實(shí)用文檔快速原型模型通過(guò)實(shí)踐讓用戶了解未來(lái)目標(biāo)系統(tǒng)的概貌,以便判斷哪些功能是符合需要的,哪些方面需要改進(jìn)。反復(fù)改進(jìn),最
8、終建立完全符合用戶需求的新系統(tǒng)。克服瀑布模型的缺點(diǎn),