第一章軟體工程概述
1﹑軟體產品的特性是什麼?
產品特性:
⑴是一種邏輯產品,與物質產品有很大的區別。
⑵軟體產品的生產主要是研製,生產成本主要在開發和研製,開發研製完成後,通過複製就產生了大量軟體產品。
⑶軟體產品不會用壞,不存在磨損,消耗。
⑷生產主要是腦力勞動,還末完全擺脫手工開發方式,大部分產品是"定做"的
⑸開發軟體的費用不斷增加,致使生產成本相當昂貴。
2﹑軟體生產有幾個階段?各有何特徵?
⑴程式設計時代:這個階段生產方式是個體勞動,使用的生產工具是機器語言,組合語言。
⑵程式系統時代:這個階段生產方式是小集團合作生產,使用的生產工具是高階語言,開發方法仍依靠個人技巧,但開始提出結構化方法。
⑶軟體工程時代:這個階段生產方式是工程化的生產,使用資料庫﹑開發工具﹑開發環境﹑網路﹑分布式﹑物件導向技術來開發軟體。
3﹑什麼是軟體危機?主要表現在哪些方面?
軟體開發技術的進步未能滿足發展的要求。在軟體開發中遇到的問題找不到解決的辦法,問題積累起來,形態尖銳的矛盾,導致了軟體危機。
表現方面:
(1) 使用者對開發出的軟體很難滿意。 (2) 軟體產品的質量往往靠不住。
(3) 一般軟體很難維護4) 軟體生產效率很低。
(5) 軟體開發成本越來越大。 (6) 軟體成本與開發進度難以估計。
(7)軟體技術的發展遠遠滿足不了計算機應用的普及與深入的需要。
4﹑什麼是軟體工程?它目標和內容是什麼?
軟體工程:就是用科學的知識工程和技術原理來定義,開發,維護軟體的一門學科。
軟體工程的目標:付出較低開發成本;達到要求的功能;取得較好的效能;開發的軟體易於移植;只需較低的維護費用;能按時完成開發任務,及時交付使用;開發的軟體可靠性高。
軟體工程的內容:研究內容包括開發技術和開發管理兩個方面。開發技術主要研究:
軟體開發方法,開發過程,開發工具和環境。開發管理主要研究:軟體管理學,軟體經濟學,軟體心理學。
5﹑軟體工程面臨的問題是什麼?
軟體工程需要解決的問題:軟體的費用,可靠性,可維護性,軟體生產率和軟體的重用。
6﹑什麼是軟體生存週期?它有哪幾個活動?
軟體生存週期:乙個軟體從提出開發要求開始直到該軟體報廢為止的整個時期。
包括:可行性分析和專案開發計畫,需求分析,概要設計,詳細設計,編碼,測試,維護。
7﹑什麼是軟體生存週期模型?有哪些主要模型?
生存週期模型:描述軟體開發過程中各種活動如何執行的模型。對軟體開發提供強有力的支援,為開發過程中的活動提供統一的政策保證,為參與開發的人員提供幫助和指導,是軟體生存週期模型化技術的基礎,也是建立軟體開發環境的核心。
主要有:瀑布模型,增量模型,螺旋模型,噴泉模型,基於知識的模型,變換模型。
8﹑什麼是軟體開發方法?有哪些主要方法?
使用早已定義好的技術集及符號表示習慣來組織軟體生產的過程。通過使用成功的軟體開發方法,在規定的投資和時間內,開發出符合使用者需求的高質量的軟體。軟體開發方法是克服軟體危機的重要方面之一,對軟體工程及軟體包產業的發展起了不可估量的作用。
主要有:結構化方法,jackson方法,維也納開發方法﹙vdm﹚,物件導向開發方法。
9、軟體工程方法學包含3個要素分別是什麼?
分別是:方法、工具和過程。
方法是完成軟體開發的各項任務的技術方法,回答「怎樣做」的問題;
工具是為運用方法而提供的自動的或半自動的軟體工程支撐環境;
過程是為了獲得高質量的軟體所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟。
10、什麼是軟體過程?
為了獲得高質量軟體所需要完成的一系列任務的框架,規定了完成各項任務的工作步驟。在完成開發任務時必須進行一些開發活動,並且使用適當的資源,在過程結束時將把輸入轉化為輸出。
11、瀑布模型的特點及優點?
特點: (1)各個階段的順序性和依賴性;
(2)劃分邏輯設計與物理設計,盡可能推遲程式的物理實現;
(3)每個階段必須完成規定的文件,對其中問題通過複審及早發現,及早解決。
優點: 可強迫開發人員採用規範的方法(例如,結構化技術);
嚴格地規定了每個階段必須提交的文件;
要求每個階段交出的所有產品都必須經過質量保證小組的仔細驗證。
12、螺旋模型的優點?
對可選方案和約束條件的強調有利於已有軟體的重用,也有助於把軟體質量作為軟體開發的乙個重要目標;
減少了過多測試(浪費資金)或測試不足(產品故障多)所帶來的風險;
在螺旋模型中維護只是模型的另乙個週期,在維護和開發之間並沒有本質區別。
螺旋模型主要適用於內部開發的大規模軟體專案。專案越大,風險也越大,因此,進行風險分析的必要性也越大。此外,只有內部開發的專案,才能在風險過大時方便地中止專案。
13、快速原型的分類、特點及使用策略?
分類:探索型、實驗型、進化型
特點:盡快向使用者提供乙個可在計算機上執行的目標系統的模型,以便使使用者和開發者在目標系統應該「做什麼」這個問題上盡可能快地達成共識。
快速原型應該具備的第乙個特點是「快速」;
快速原型應該具備的第二個特點是「容易修改」。原型的「修改—試用—反饋」過程可能重複多遍。
使用策略:廢棄策略和追加策略。
14、軟體工程的目標?
付出較低開發成本;達到要求的功能;取得較好的效能;開發的軟體易於移植;只需較低的維護費用;能按時完成開發任務,及時交付使用;開發的軟體可靠性高。
15、軟體開發技術主要研究內容?
軟體開發方法,開發過程,開發工具和環境。
16、軟體開發管理主要研究內容?
軟體管理學,軟體經濟學,軟體心理學。
17、快速原型開發的步驟?
快速開發、需求、構造原形、原形、執行原形、評價原形、修改意見。
第二章可行性研究
1、可行性研究的任務是什麼?
可行研究的任務:首先需要進行概要的分析研究,初步確定專案的規模,目標,約束和限制。分析員再進行簡要的需求分析,抽象出專案的邏輯結構,建立邏輯模型。
從邏輯模型出發,經過壓縮的設計,探索出若干種可供選擇的解決方法,對每種解決方法都要研究它的可行性。
主要從四個方面考慮:
⑴.技術可行性:一般要考慮的情況包括開發的風險即設計出的系統能否達到要求的功能和效能;資源的有效性;相關技術的發展是否支援;
⑵.經濟可行性:進行開發成本的估算以及了解取得效益的評估,確定要開發的專案是否值得投資。
⑶.法律可行性:要開發的專案是否存在任何侵權問題。
(4).管理可行性:執行方式在使用者組織內是否可行,現有管理制度﹑人員素質﹑操作方式是否可行。
2、可行性研究有哪些步驟?
⑴.確定專案規模和目標;
⑵.研究正在執行的系統;收集﹑研究﹑分析現有系統的文件資料,實地考察系統訪問有關人員,然後描繪現有系統的高層系統流程圖。
⑶.建立新系統的高層邏輯模型;使用資料流圖和資料字典描述資料在系統中的流動和處理情況。
⑷.匯出和評價各種方案;匯出若干較高層次的物理解決方法,根據技術可行性﹑經濟可行性﹑社會可行性進行評估,得到可行的解決方法。
⑸.推薦可行方案;進行成本~效益分析,決定該專案是否值得開發,若值得開發那麼解決方案是什麼,並且說明該方案可行的原因和理由。
⑹.編寫可行性研究報告;將上述可行性過程的結果寫成相應文件,即可行性研究報告。
3、可行性研究過程包括哪些?
1. 複查系統規模和目標2. 研究目前正在使用的系統
3. 匯出新系統的高層邏輯模型 4. 進一步定義問題
5. 匯出和評價供選擇的解法 6. 推薦行動方針
7. 草擬開發計畫8. 書寫文件提交審查
4、什麼是資料流圖?其作用是什麼?
資料流圖(dfd):以圖形的方式描述資料在系統中流動和處理的邏輯過程。只反映系統必須完成的邏輯功能,是一種功能模型。
5、什麼是資料字典?其作用是什麼?共有哪些條目?
資料字典(dd)用來定義資料庫流圖中的各個成分的具體含義。有以下四類條目:資料流,資料項,資料儲存,基本加工。
7、某圖書管理系統有以下功能:
⑴借書:輸入讀者借書證。系統首先檢查借書證是否有效,若有效,對於第一次借書的讀者,在借書證上建立檔案。
否則,查閱借書檔案,檢查該讀者所借圖書是否超過10本,若已達10,拒借,末達10本,辦理借書(檢查庫存,修改庫存目錄並將讀者借書情況錄入借書檔案。)
⑵還書:從借書檔案中讀出與讀者有關的記錄,查閱所借日期,如超期(3個月)作罰款處理。否則,修改庫存目錄與借書檔案。
⑶查詢:通過借書檔案,庫存目錄檔案查詢讀者情況﹑圖書借閱及庫存情況,列印統計表。
解:8、某銀行的計算機儲蓄系統功能是:將儲戶的存戶填寫的存款單或存款單輸入系統,如果是存款,系統記錄存款人姓名﹑住址﹑存款型別﹑存款日期﹑利率等資訊,並列印出存款單給儲戶;如果是取款,系統計算清單給儲戶。
請用dfd,idef0描繪該功能的需求,並建立相應資料字典。
9、乙個考務處理系統的要求如下,試畫出該系統的資料流圖。
(1) 對考生送來的報名表進行檢查;
(2) 對合格的報名表編好准考證號碼後將准考證送給考生,並將彙總後的考生名單送給閱卷站;
(3) 對閱卷站送來的成績表進行檢查,並根據考試中心指定的合格標準審定合格者;
(4) 填寫考生通知單(內容包含考試成績及合格∕不合格標誌),送給考生;
(5) 按地區、年齡、文化程度、職業、考試級別等進行成績分類統計及試題難度分析,產生統計分析表。
(1)頂層資料流圖
(2) 第1層資料流圖
(3) 第2層資料流圖
加工1子圖:
加工2子圖:
10、系統流程圖
是概括地描繪物理系統的傳統工具,表達的是資料在系統各部件之間流動的情況,
11、原型化方法主要用於解決什麼問題?試說明這種方法的主要優缺點。
原型化方法主要用於解決在產品開發的早期階段需求不確定的問題,使用者、經理和其他非技術專案風險承擔者發現在確定和開發產品時,原型可以使他們的想象更具體化。 這種方法的主要優點如下:
(1)明確並完善需求原型作為一種需求工具,它初步實現所理解的系統的一部分,使用者對原型的評價可以指出需求中的許多問題。
(2) 探索設計選擇方案原型作為一種設計工具,可以探索不同的使用者介面技術,使系統達到最佳的可用性,並且可以評價可能的技術方案。
(3)發展為最終的產品原型作為一種構造工具,是產品最初子集的完整功能實現,通過一系列小規模的開發迴圈,你可以完成整個產品的開發。
軟體工程重點知識複習 集錦
第一章軟體工程概述 1 軟體產品的特性是什麼?產品特性 是一種邏輯產品,與物質產品有很大的區別。軟體產品的生產主要是研製,生產成本主要在開發和研製,開發研製完成後,通過複製就產生了大量軟體產品。軟體產品不會用壞,不存在磨損,消耗。生產主要是腦力勞動,還末完全擺脫手工開發方式,大部分產品是 定做 的 ...
軟體工程範本
測試計畫初稿 這裡所說的測試,主要是指整個程式系統的組裝測試和確認測試。本檔案的編制是為了提供乙個對該軟體的測試計畫,包括對每項測試活動的內容 進度安排 設計考慮 測試資料的整理方法及評價準則。4.實現階段 模組開發卷宗 開始編寫 模組開發卷宗是在模組開發過程中逐步編寫出來的,每完成乙個模組或一組密...
軟體工程報告
設計專案 圖書管理系統 專業電腦科學與技術 班級計s091 學號 093433 學生姓名李萌 同組同學郭飛 一 實驗目的 學習用軟體工程的方法開發軟體,熟練掌握用高階語言編寫 除錯和執行各種程式的設計方法。二 實驗要求 本系統需要掌握軟體工程的基本知識,對系統進行可行性分析和需求分析,並熟練運用vc...