




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件生存周期各個階段的文檔
階段可行性研編碼生成運行
需求分析軟件設計
文檔究與計劃與實現(xiàn)與測試與維護
可行性研究報告
項目開發(fā)計劃VJ
軟件件求說明書J
效據(jù)要求說明竹J
測試計劃7V
概要設計說明書
詳細設計說明書J
數(shù)據(jù)庫設計說明曲
模塊開發(fā)卷宗J
用戶手冊JV
操作手冊J
測試分析報告J
開發(fā)進度月報JJJJ
項II開發(fā)總結J
表5?3各類人員與軟件文檔的使用關系
7人員
告理人員開發(fā)人員維護人員用戶
文省
可行性分析(研究)報告JJ
軟件(成項目)開發(fā)計劃JJ
軟件管求娩格說明JJ
接口需求規(guī)格說明JJ
系統(tǒng)/子系統(tǒng)設計(鰭構設討)說明
軟件(緒構)設計說明JJ
摟口設計說明J
沿據(jù)庫(頂層)設i+說明J
(軟件)用戶手冊J
作手冊
?4
測試計知J
測試報告JJ
軟件配置首理計劃J
軟件質量保證過劃J
開發(fā)迸度月報J
項目開發(fā)年結報臺V
軟件產(chǎn)1a規(guī)格說明J
軟件版本說明J
因果圖(魚骨圖)--一黑盒
第一章概述
第一章填空題
1.面向對象開發(fā)方法有Coad方法、Booch方法和OMT方法.
2.結構化方法總的指導思想是自頂向下、逐步求精.它的基本原則是功能的分解
與抽象。它是軟件工程最早出現(xiàn)的開發(fā)方法,特別適合于數(shù)據(jù)處理領域
的問題。
3.從軟件工程誕生以來,已經(jīng)提出了多種軟件開發(fā)方法,如結構化方法、Jackson方法、
面向對象的方法,它們對軟件工程及軟件產(chǎn)業(yè)的發(fā)展起到了不可估量的作用。
4.螺旋模型將開發(fā)過程分為幾個螺旋周期,在每個螺旋周期內分為四個工作步驟。第一,
制定計劃。確定目標,選定目標,選定實施方案.明確開發(fā)限制條件。第二,風險分析。
分析所選主案,識別風險,通過原型消除風險。第三,開發(fā)實施實施軟件開發(fā)。第四,
用戶評估。評價開發(fā)工作,提出修改意見,建立下一個周期的計劃。
5.螺旋模型將快速原型與瀑布模型結合起來,加入了兩種模型均忽略了風險分析,彌
補了這種模型的不足。
6.瀑布模型是將軟件生存周期各個活動規(guī)定為依線性順序連接的若干階段的模型。它包括
可行性分析、項目開發(fā)計劃、需求分析、概要設計、詳細設計、編碼、測試、
維護,它規(guī)定了由前至后、相互銜接的固定次序,如同瀑布流水,逐級下落。
7.軟件工程過程包含的七個過程是獲取過程、供應過程、開發(fā)過程、操作過程、維護過
程、管理過程、支持過程。
8.軟件生存周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。
9.軟件工程需要解決的問題,有軟件費用、軟件可靠性、軟件可維護性、軟件生產(chǎn)率、
和軟件重用°
10.軟件工程研究的主要內容是軟件開發(fā)技術和軟件開發(fā)管理兩個方面。在軟件開發(fā)技術中,
主要研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和軟件開發(fā)環(huán)境。在軟件開發(fā)
管理中,主要是研究軟件管理學、軟件經(jīng)濟學、軟件心理學.
11.軟件工程研究的主要內容是軟件開發(fā)技術和軟件開發(fā)管理兩個方法。
12.軟件生產(chǎn)的發(fā)展,到現(xiàn)在為止,經(jīng)過了三個階段,即、程序設計、程序系統(tǒng)、軟件
工程時代。
13.軟件工程要用的方法建立軟件開發(fā)中的各種模型和各種算法,如可靠性模型,
說明用戶需求的形式化模型等。
14.計算機科學中的研究成果均可用于軟件工程,但計算機科學著重于原理和理論,而
軟件工程著重于建造軟件系統(tǒng)
15.通常,結構化方法,可使用瀑布模型、增量模型、螺旋模型進行開發(fā);Jackson
(JSD)方法可使用瀑布模型、增量模型進行開發(fā);面向對象方法一般是采用噴泉模型,也
可用瀑布模型、增量模型進行開發(fā);而形式化的維也納方法只能用變換模型進行開發(fā)。
16.瀑布模型為軟件開發(fā)提供了一種有效的管理模式。根據(jù)這一模式制定開發(fā)計劃,
進行成本預算,組織開發(fā)力量,以項目的階段評審和文檔控制為手段有效地對整個開發(fā)過程
進行指導,所以它是以文檔作為驅動、適合于軟件需求很明確的軟件項目的模型。
17.軟件工具一般是指為了支持軟件人員開發(fā)和維護活動而使用的軟件。例如項目估算
工具、需求分析工具、設計工具、編碼工具、測試工具和維護工具等C
18.簡單實用、應用廣泛、技術成熟的開發(fā)方法是一結構化方法。
19.概要設計主要是把各項功能需求轉換成系統(tǒng)的體系結構.
20.最基本、應用廣泛、以文檔為驅動、適用于開發(fā)功能明確的軟件項目生存期模型是瀑
布模型。
21.結構化方法是一種面向數(shù)據(jù)流的的開發(fā)方法。由結構化分析、結構化設計、結構化程序
設計構成。
22.軟件工程研究的主要內容是軟件開發(fā)管理和軟件開發(fā)技術兩個方面。
23.將軟件生存周期各個活動規(guī)定為依線性順序聯(lián)接的若干階段的模型是」^模型。
24.軟件工具是支持軟件開發(fā)人員的開發(fā)和維護活動而使用的軟件。
第一章簡答題
1.軟件產(chǎn)品的特性是什么?
答:軟件產(chǎn)品具有以下一些獨特的特性:
(1)軟件是一種邏輯產(chǎn)品則看不見摸不著的,因而具有無形性,這是腦力勞動的結晶,它
以程序和文檔的形式出現(xiàn),保存在作為計算機存儲器磁盤和光盤介質上,通過計算機的執(zhí)行
才能體現(xiàn)它的功能和作用。
(2)軟件產(chǎn)品的生產(chǎn)主要是研制軟件產(chǎn)品的成本主要體現(xiàn)在軟件的開發(fā)和研制上,軟件開
發(fā)研制完成后,通過復制就產(chǎn)生了大量軟件產(chǎn)品。
(3)軟件產(chǎn)品不會用壞,不存在磨損、消耗問題。
(4)軟件產(chǎn)品的生產(chǎn)主要是腦力勞動,還未完成擺脫手工開發(fā)方式,大部分產(chǎn)品是“定做”
的。
(5)軟件費用不斷增加,軟件成本相當昂貴。軟件的研制工作需要投入大量的、復雜的、
高強度的腦力勞動,它的成本非常高。
2.什么是軟件生存周期?它有哪幾個活動?
答:
軟件生存周期是指一個軟件從提出開發(fā)要求開始直到該軟件報廢為止的整個時期。把整
個生存周期劃分為若干階段,使得每個階段有明確的任務,使規(guī)模大、結構復雜和管理復雜
的開發(fā)變得容易控制和管理。
軟件生存周期的各階段有不同的劃分。在劃分軟件生存周期階段時,應遵循一條基本原
則是各階段的任務應盡可能相對獨立,同一階段各項任務的性質盡可能相同,從而降低每個
階段任務的復雜程度,簡化不同階段之間的聯(lián)系,有利于軟件項目開發(fā)的組織管理。通常,
軟件生存周期包括可行性分析和項目開發(fā)計劃、需求分析、概要設計、詳細設計、編碼、測
試、維護等活動,可以將這些活動以知當方法分配到不同階段去完成。
3.什么是軟件生存周期模型?有哪些主要模型?
軟件生存周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。軟件生存周期模型
確立了軟件開發(fā)和演繹中各階段的次序限制以及各階段活動的準則,確立開發(fā)過程所遵守的
規(guī)定和限制,便于各種活動的協(xié)調,便于各種人員的有效通信,有利于活動重用,有利于活
動管理。
主要的軟件生存周期模型有瀑布模型、螺旋模型、噴泉模型、變換模型、增量模型和基
于知識的模型。
4.什么是軟件開發(fā)方法?有哪些主要方法?
答:
軟件開發(fā)方法是一種使用早已定義好的技術集及符號表示習慣來組織軟件生產(chǎn)的過程。
方法一般表述成一系列的步驟,每一步驟都與相應的技大和符號相關。軟件開發(fā)方法是克服
軟件危機的重要方面之一,
從軟件工程誕生以來,人們重視了軟件開發(fā)方法的研究,已經(jīng)提出了多種軟件開發(fā)方法
和技術,對軟件工程及軟件產(chǎn)業(yè)的發(fā)展起到了重要作用的方法有:結構化方法、Jackson方
法、面向對象的開發(fā)方法等。
5.軟件工程面臨的問題是什么?
答:軟件工程面臨的問題有軟件費用、軟件可靠性、軟件可維護性、軟件生產(chǎn)率和軟件重用
等。
(1)軟件費用,軟件生產(chǎn)基木上仍處于手工狀態(tài),軟件是知識高度密集的技術的綜合產(chǎn)物,
人力資源遠遠不能適應軟件這種迅速增長的社會要求,所以軟件費用上升的勢頭必然還將繼
續(xù)下去。
(2)軟件可靠性。在軟件開發(fā)中,通常要花費40%的代價進行測試和排錯,就這樣還不能
保證以后不再發(fā)生錯誤,為了提高軟件可靠性,就要付出足夠的代價。
(3)軟件維護。統(tǒng)計數(shù)據(jù)表明:軟件的維護費用占整個軟件系統(tǒng)費用的2/3,而軟件開發(fā)費
用只占整個軟件系統(tǒng)費用的1/3。因此,軟件工程面臨如何提高軟件的可維護性,減少軟件
維護的工作量的問題。
(4)軟件生產(chǎn)率。計算機的廣泛應用使得軟件的需求量大幅度上升,而軟件的生產(chǎn)又處于
手工開發(fā)的狀態(tài),軟件生產(chǎn)率低下,使得各國都感到軟件開發(fā)人員不足,這種趨勢仍舊繼續(xù)
下去。
(5)軟件重用。提高軟件的重用性,對于提高軟件生產(chǎn)率、降低軟件成本有重要意義。當
前的軟件開發(fā)存在著大量重復的勞動,耗費了不少的人力資源。軟件重用是軟件工程中的一
個重要研究課題。
6.軟件工程目標是什么?
答:軟件工程是一門工程性學科,目的是成功地建造一個大型軟件系統(tǒng),所謂成功是要達到
以下幾個目標:付出較低的開發(fā)成本;達到要求的軟件功能;取得較好的軟件性能;開發(fā)軟
件易于移植;需要較低的維護費用;能按時完成開發(fā)任務,及時交付使用;開發(fā)的軟件可靠
性高。
7.軟件工程內容有哪些?
答軟件工程研究的主要內容是軟件開發(fā)技術和軟件開發(fā)管理兩個方面。在軟件開發(fā)技術中,
主要研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。在軟件開發(fā)管理中,主要研
究軟件管理學、軟件經(jīng)濟學、軟件心理學等。
8.軟件開發(fā)的目標是什么?
答:軟件開發(fā)的目標是在規(guī)定的投資和時間內,開發(fā)出符合用戶需求的高質量的軟件。為了
達到此目的,需要成功的開發(fā)方法。
9.結構化方法總的指導思想是什么?
答:結構化方法總的指導思想是自頂向下、逐步求精。它的基本原則是功能的分解與抽象。
這是軟件工程中最早出現(xiàn)灼開發(fā)方法,特別適合于數(shù)據(jù)處理領域的問題。相應的支持工具較
多.發(fā)展較為成熟。
10.軟件工程過程有哪些內容?
答:軟件工程過程規(guī)定了獲取、供應、開發(fā)、操作和維護軟件時,要實施的過程、活動和任
務。其目的是為各種人員提供一個公共的框架,以便于相同的語言進行交流。這個框架由幾
個重要過程組成,這些主要過程含有用來獲取、供應、開發(fā)、操作和維護軟件所用的基本的、
一致的要求。該框架還有用來控制和管理軟件的過程。各種組織和開發(fā)機構可以根據(jù)具體情
況進行選擇和剪裁.可在一個機構的內部或外部實施0
軟件工程過程沒有規(guī)定一個特定的生存周期模型或軟件開發(fā)方法,各軟件開發(fā)機構可為其開
發(fā)項目選擇一種生存周期模型,并將軟件工程過程所含的過程、活動和任務映射到該模型中。
也可以選擇和使用軟件工發(fā)方法來執(zhí)行適合于其軟件項目的活動和任務。軟件工程過程包含
如下七個過程。
(1)獲取過程。定義需方按合同獲取一個系統(tǒng)、軟件產(chǎn)品或服
務的活動。
(2)供應過程。定義供方向需方提供合同中的系統(tǒng)、軟件產(chǎn)品
或服務所需的活動。
(3)開發(fā)過程。定義開發(fā)者和機構為了定義和開發(fā)軟件或提供
服務所需地活動。此過程包括需求分析、設計、編碼、集成、
測試、軟件安裝和驗收等活動。
(4)操作過程。定義操作者和機構為了在規(guī)定的運行環(huán)境中為
其用戶運行一個計算機系統(tǒng)所需要的活動。
(5)維護過程。定義維護者和機構為了修改和管理軟件,使它處于良好運行狀態(tài)所需要的
活動。
(6)管理過程。定義軟件工程中各項管理活動,包括:項目開始和范圍定義,項目管理計
劃,實施和控制,評審和評價,項目完成。
(7)支持過程。支持過程對項目的生存周期過程給予支持。它有助于項目的成功并能提高
項目的質量。
11.軟件危機的表現(xiàn)有哪些?
答:(1)經(jīng)費預算經(jīng)常突破,完成時間一再拖延。由于跳乏軟件開發(fā)的經(jīng)驗和軟件開發(fā)數(shù)據(jù)
和積累,使得開發(fā)工作的計劃很難制定。主觀盲目制定計劃,執(zhí)行起來與實際情況有很大差
距,使得開發(fā)經(jīng)費一再突破。由于對工作量估計不足,對開發(fā)難度估計不足,進度計劃無法
按時完成,開發(fā)時間一再拖延。
(2)開發(fā)的軟件不能滿足用戶要求。開發(fā)初期對用戶的要求了解不夠明確,未能得到明確
表達。開發(fā)工作開始后,軟件人員和用戶又未能及時交換意見,使得一些問題不能及時解決,
導致開發(fā)的軟件不能滿足用戶的要求,因而開發(fā)失敗。
3)開發(fā)的軟件可維護性差。開發(fā)過程沒有統(tǒng)一的、公認的規(guī)范,軟件開發(fā)人員按各自的風
格工作,各行其是。開發(fā)過程無完整、規(guī)范的文檔,發(fā)現(xiàn)問題后進行雜亂無章的修改。程序
結構不好,運行時發(fā)現(xiàn)錯誤也很難修改,導致可維護性差。
(4)開發(fā)的軟件可靠性差。由于在開發(fā)過程中,沒有確保軟件質量的體系和措施,在軟件
測試是又沒有嚴格的、充分的、安全的測試,提交給用戶的軟件質量差,在運行中暴露出大
量的問題。這種不可靠的軟件,輕者會影響系統(tǒng)正常工作,重者會發(fā)生事故,造成生命財產(chǎn)
的重大損失。
12.軟件的特點有哪些?
答:6邏輯產(chǎn)品;12使用無磨損;③生產(chǎn)主要是研制;4生產(chǎn)主要靠腦力勞動;⑤生產(chǎn)成本高。
答:(1)軟件是一種邏輯產(chǎn)品,它與物質產(chǎn)品有很大的區(qū)別。軟件產(chǎn)品是看不見摸不著的,
因而具有無形性,它是腦力勞動的結晶,它以程序和文檔的形式出現(xiàn),保存在計算機存儲器
的磁盤和光盤介質上,通過計算機的執(zhí)行才能體現(xiàn)它的力能和使用。
(2)軟件產(chǎn)品的生產(chǎn)主要是研制軟件產(chǎn)品的成本主要體現(xiàn)在軟件的開發(fā)和研制上,軟件開
發(fā)研制完成后,通過復制就產(chǎn)生了大量軟件產(chǎn)品。
(3)軟件產(chǎn)品不會用壞,不存在磨損、消耗問題。
(4)軟件產(chǎn)品的生產(chǎn)主要是腦力勞動,還未完全擺脫手工開發(fā)方式,大部分產(chǎn)品是“定做”
的。
(5)軟件費用不斷增加,軟件成本昂貴。軟件的研制工作需要投入大量的、復雜的、高強
度的腦力勞動,它的成本非常高。
13.軟件危機的原因有哪些?
答:(1)軟件的規(guī)模越來越大,結構越來越復雜。隨著計算機應用的日益廣泛,需要開發(fā)的
軟件規(guī)模曰益龐大,軟件結構也日益復雜。
(2)軟件開發(fā)管理困難而復雜。由于軟件規(guī)模大,結構復雜,又具有無形性,因此導致管
理困難,進度控制困難,質量控制困難,可靠性無法保證。
(3)軟件開發(fā)費用不斷增加。軟件生產(chǎn)是一種智力勞動,它是資金密集、人力密集的產(chǎn)業(yè),
大型軟件投入人力多,周期長,費用上升很快。
(4)軟件開發(fā)技術落后。
(5)生產(chǎn)方式落后。仍然采用個體手工方式開發(fā),根據(jù)個人習慣愛好工作,無章可循,無
規(guī)范可依據(jù),靠言傳身教方式工作。
(6)開發(fā)工具落后,生產(chǎn)率提高緩慢。
14.軟件生產(chǎn)的發(fā)展有哪幾個階段?
答:自從第一臺計算機誕生以來,就開始了軟件的生產(chǎn),到現(xiàn)在為止,經(jīng)過了三個階段。即
程序設計時代,程序系統(tǒng)時代,軟件工程時代。
15.軟件工程性質是什么?
答:軟件工程是一門綜合性的交叉學科,它涉及計算機科學、工程科學、管理科學、數(shù)字等
領域。
計算機科學中的研究成果均可用于軟件工程,但計算機科學著重于原理和理論,而軟件工程
著重于如何建造一個軟件系統(tǒng)。
軟件工程要用工程科學中的觀點來進行費用估算、制定進度、制定計劃和方案。
軟件工程要用管理科學中的方法和原理進行軟件生產(chǎn)的管理。
軟件工程要用數(shù)學的方法建立軟件開發(fā)中的各種模型和各種算法,如可靠性模型,說明用戶
需求的形式化模型等。
第二章可行性研究
第二章填空題
1亙行性甄的目的就是用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發(fā),
是否值得去開發(fā)。
2.可行性研究的目的不是去開發(fā)一個軟件項目,而是研究這個軟件項目是否能夠開發(fā),是
否值得去開發(fā)。
3.技術可行性是對要開發(fā)項目的功能、性能、限制條件進行分析,確定在現(xiàn)有的資
源條件下,技術風險有多大,項目是能否能實現(xiàn)。
4.典型的可行性研究有以下步驟:確定項目規(guī)模和目標,研究正在運行的系統(tǒng),建立新
系統(tǒng)的高層邏輯模型,導出和評價各種方案,推薦可行的方案,編寫可行性研究報告。
5.項目開發(fā)計劃的主要內容有:項目概述、實施計劃、人員組織及分工、交付期限。
6.一個可行性研究報告的主要內容如下:引言;可行性研究前提;對現(xiàn)在系統(tǒng)的分析;所
建議系統(tǒng)的技術可行性分析,?所建議系統(tǒng)的經(jīng)濟可行性分析;社會因素可行性分析;
其他可供選擇方案;結論意見。
7.成本/效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本進行估算.然后與可能取得的效
益進行比較和權衡,
9.可行性研究在進行簡要需求分析和設計時,要在較高層次上以較抽象的方式進行需求分
析和設計的過程。
11.系統(tǒng)流程圖用圖形符號表示系統(tǒng)中的各個元素,表達了系統(tǒng)中各種元素之間的信息流動
情況。
13.可行性研究的目的是用最小的代價,在盡可能短的時間內,確定問題是否能夠解決o
14.可行性研究具體步驟的最后一步是編寫可行性報告°
15.可行性研究可從技術可行性、經(jīng)濟可行性、社會(碟作)可行性三個方面分析研究每
種解決方法的可行性。
17.可行性研究實質上是要進行一次簡化、壓縮了的需求分析、設計過程,要在較高層次
上以較抽象的方式進行需求分析和設計的過程。
18.系統(tǒng)流程圖是描繪物理系統(tǒng)的傳統(tǒng)工具,它用圖形符號來表示系統(tǒng)中的各個元素二
19.可行性研究中描述系統(tǒng)高層物理模型的工具是系統(tǒng)流程圖。
21.可行性研究的第一個具體步驟是確定項目的規(guī)模和目標。
第二章簡答題
1.研究項目的技術可行性一般要考慮哪些情況?
答:技術可行性一般要考慮的情況包括:
(1)開發(fā)的風險:在給出的限制范圍內,能否設計出系統(tǒng)并實現(xiàn)必須的功能和性能。
(2)資源的有效性:可用于開發(fā)的人員是否存在問題??捎糜诮⑾到y(tǒng)的其他資源是否具
備°
(3)技術:相關技術的發(fā)展是否支持這個系統(tǒng)。
(4)開發(fā)人員在評估技術可行性時,一旦估計錯誤,將會出現(xiàn)災難性后果。
2項目開發(fā)計劃主要內容有哪些?
答:經(jīng)過可行性研究后,若一個項目是值得開發(fā)的,接下來應制定項目開發(fā)計劃。項目開發(fā)
計劃是一個管理性的文檔,它的主要內容如下:
(1)項目概述
說明項目的各項主要工作;說明軟件的功能、性能;為完成項目應具備的條件,用戶及合同
承包者承擔的工作、完成期限及其他條件限制;應交付的程序名稱,所使用的語言及存儲形
式;應交付的文檔。
(2)實施計劃
說明任務的劃分,各項任務的費任人;說明項目開發(fā)進度,按階段應完成的任務,用圖表說
明每項任務的開始時間和完成時問;說明項目的預算,各階段的費用支出預算。
(3)人員組織及分工
說明開發(fā)該項目所需人員的類型、組成結構、數(shù)量等.
(4)交付期限
說明項目最后完工交付的日期。
3.可行性研究的主要內容有哪些?
答:(1)必要性
為了減少大型工程項目的風險,必須進行可行性研究。同樣,
對于大型軟件項目,由于周期長、投資大、使用資源多,開發(fā)之
后是否能達到預期目的等原因,也必須進行可行性研究,以避免
時間、人力、資源、經(jīng)費的巨大浪費。
可行性研究的目的就是用最小的代價,在盡可能短的時間內,
確定該軟件項目是否能夠開發(fā),是否值得開發(fā)。
(2)任務
進行可行性研究時,首先要進行概要分析,初步確定項目的規(guī)
模、目標、約束和限制條件。然后進行簡要的、高層次的需求分
析,決定系統(tǒng)的主要功能,在此基礎上進行簡要的、壓縮的設
計,提出幾種解決方案。對每種方案進行可行性研究,可行性研
究有三方面內容:
①技術可行性:
主要研究開發(fā)項目的技術風險有多大,可以從下列方面研
究:現(xiàn)有的開發(fā)技術能否解決開發(fā)項目的技術難題?現(xiàn)有的開
發(fā)人員的技術水平是否能夠解決這些難題?現(xiàn)有的硬軟件資源
是否滿足解決技術難題的需要?因為這時項目的目標、力能、
性能都要概要的、模糊的,在不準確的情況下較難解決。
②經(jīng)濟可行性:
主要研究系統(tǒng)開發(fā)以后能否得到應有的效益??捎贸杀拘?/p>
益分析來研究這一問題。
③社會可行性:
主要研究兩方面的問題,一是采用的技術是否存在責任和
侵權的問題,二是開發(fā)的系統(tǒng)運行時與當前管理制度、人員素
質、操作方式的矛盾能否解決。
4.可行性研究的具體步驟有哪些?
答:典型的可行性研究有下列步驟:
(1)確定項目規(guī)模和目標
分析員對有關人員進行調查訪問,仔細閱讀和分析有關的材料,對項目的規(guī)模和目標進行定
義和確認,清晰地描述項目的一切限制和約束,確保分析員正在解決的問題確實是要解決的
問題“
(2)研究正在運行的系統(tǒng)
正在運行的系統(tǒng)可能是一個人工操作的系統(tǒng),也可能是舊的計算機系統(tǒng),要開發(fā)一個新的計
算機系統(tǒng)來代替現(xiàn)在系統(tǒng)。因此,現(xiàn)有的系統(tǒng)是信息的重要來源,要研究它的基本功能,存
在什么問題,運行現(xiàn)有系統(tǒng)需要多少費用,對新系統(tǒng)有什么新的功能要求,新系統(tǒng)運行時能
否減少使用費用等等。
應該收集、研究、分析現(xiàn)有系統(tǒng)的文檔資料,實地考察現(xiàn)有系統(tǒng),在考察的基礎上,訪問有
關人員,然后描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖,與有關人員一起審查該系統(tǒng)流程圖是否正確。
這個系統(tǒng)流程圖反映了現(xiàn)有系統(tǒng)的基本功能和處理流程。
(3)建立新系統(tǒng)的高層邏輯模型
根據(jù)對現(xiàn)有系統(tǒng)的分析研究,逐漸明確了新系統(tǒng)的功能、處理流程以及所受的約束,然后使
用建立邏輯模型的工具——數(shù)據(jù)流圖和數(shù)據(jù)字典來描述數(shù)據(jù)在系統(tǒng)中的流動和處理情況。注
意,現(xiàn)在還不是軟件需求分析階段,不是完整、詳細地描述,只是概括地描述高層的數(shù)據(jù)處
理和流動。
(4)導出和評價各種方案
分析員建立了新系統(tǒng)的高層邏輯模型之后,要從技術角度出發(fā),提出實現(xiàn)高層邏輯模型的不
同方案,即導出若干較高層次的物理解法。根據(jù)技術可行性、經(jīng)濟可行性、社會可行性對各
種方案進行評估,去掉行不通的解法,就得到了可行的解法
(5)推薦可行的方案
根據(jù)上述可行性研究的結果,應該決定該項目是否值得去開發(fā)。若值得開發(fā),那么可行的解
決方案是什么,并且說明該方案可行的原因和理由。該項目是否值得開發(fā)的主要因素是從經(jīng)
濟上看是否合算,這就要求分析員對推薦的可行方案進行成本/效益分析。
(6)編寫可行性研究報告
將上述可行性研究過程的結果寫成相應的文檔,即可行性研究報告,提請用戶和使用部門仔
細審查,從而決定該項目是否進行開發(fā),是否接受可行的實現(xiàn)方案。
5.可行性研究報告的主要內容?
答:一個可行性研究報告的主要內容如下:
(1)引言
說明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術語和參考資料。
(2)可行性研究的前提
說明開發(fā)項目的功能、性能和基本要求;達到的目標;各種限制條件;可行性研究方法和決
定可行性的主要因素。
(3)對現(xiàn)有系統(tǒng)的分析
說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負荷;各項費用支出;所需各類專業(yè)技術人員和
數(shù)量;所需各種設備;現(xiàn)有系統(tǒng)存在什么問題。
(4)所建議系統(tǒng)的技術可行性分析
所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)
對用戶的影響;對各種設備、現(xiàn)有軟件、開發(fā)環(huán)境、運行環(huán)境的影響;對經(jīng)費支出的影響;
對技術可行性的評價。
(5)所建議系統(tǒng)的經(jīng)濟可行性分析
說明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收周期。
(6)社會因素可行性分析
說明法律因素,對合同責任、侵犯專利權、侵犯版權等問題的分析;說明用戶使用可行性,
是否滿足用戶行政管理、工作制度、人員素質的要求。
(7)其它可供選擇方案
逐一說明其他可供選擇的方案,并說明未被推薦的理由。
(8)結論意見
說明項目是否能開發(fā);還需什么條件才能開發(fā);對項目目標有何變動等。
作業(yè)
1、在軟件開發(fā)的早期價段為什么要進行可行性分析研究?應該從哪些方面研究目標系統(tǒng)的
可行性?
答案:對于大型軟件系統(tǒng)的開發(fā),通過進行可行性分析與研究論證,可以減少和降低軟
件開發(fā)的技術風險和投資風險。軟件可行性研究的實質是對將要開發(fā)的軟件項目進行一次簡
化的需求分析和設計工作,軟件可行性研究的目的是要用最小的代價、在盡可能短的時間內
確定軟件項目的可行性。
可行性研究的任務包括進行概要設計,確定系統(tǒng)的規(guī)模、目標、邊界、限制;進行
簡要的概括的需求分析,確定系統(tǒng)功能;進行簡要設計,提出幾種設計方案,并對每一種方
案進行論證。
軟件項目的可行性可以從技術可行性、經(jīng)濟可行性、社會可行性三方面進行論證
2、為方便儲戶,某銀行擬開發(fā)計算機儲蓄系統(tǒng),儲戶填寫的存款單或取
款單由業(yè)務員鍵入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、
存款類型、存款日期、利率的信息,并打印出存款單給用戶;如果是
取款,系統(tǒng)計算利息并打印出利息清單給用戶。給出相應的數(shù)據(jù)流圖
和數(shù)據(jù)字典。
數(shù)據(jù)字典1
數(shù)據(jù)流名稱:取款單、存款單
別名:無
簡述:顧客存做款時填寫的單據(jù)
來源:顧客
去向:核查
數(shù)據(jù)流量:500份/天
組成:日期+[?。荽婵罱痤~]+姓名+住址+[存]存款金額]+(密碼)+{帳號}
數(shù)據(jù)字典2
數(shù)據(jù)流名稱.結算單
別名:無
簡述:顧客取款時得到的利率清單
來源:銀行儲蓄系統(tǒng)
去向:顧客
數(shù)據(jù)流量:500份/天
組成:取款日期+取款金額+儲戶姓名+儲戶住址+存款類型+利息+操作員
數(shù)據(jù)字典3
數(shù)據(jù)流名稱:存/取款信息
別名:無
簡述:系統(tǒng)核查確認后得到的存做款信息
來源:銀行儲蓄系統(tǒng)
去向:登錄
數(shù)據(jù)流量:500份/天
組成:日期+[存|取款金額]+儲戶姓名+儲戶住址+存款類型+帳號+利率+密碼+操作員
數(shù)據(jù)字典4
數(shù)據(jù)流名稱:付款信息
別名:無
簡述:銀行儲蓄系統(tǒng)處理的取款信息
來源:銀行儲蓄系統(tǒng)
去向:付款處理
數(shù)據(jù)流量:500份/天
組成:取款日期+取款金額+儲戶姓名+儲戶住址+存款類型+帳號+利息+操作員
數(shù)據(jù)字典5
數(shù)據(jù)存儲名稱:帳卡
別名:無
簡述:存放用戶信息及取款情況
組成:取款日期+取款金額+儲戶姓名+儲戶住址+存款類型+帳號+利息+操作員
組織方式:數(shù)據(jù)文件,以儲戶姓名或帳號為關鍵字進行索引
查詢要求:要求能立即查詢并修改
數(shù)據(jù)字典6
數(shù)據(jù)項名稱:存款類型
別名:無
簡述:國家規(guī)定的幾類存款方式
類型:字符串
長度:2位
取值范圍幾含義:00:定期
01:零存整取
10:活期
11:定/活兩便
第三章需求分析
第三章填空題
1.需求分析的基本任務是要準確地定義新系統(tǒng)的目標,為了滿足用戶需要,回答系統(tǒng)必須
“做什么”的問題。
2.在需求分析階段,首先進行問題識別,即雙方確定對問題的綜合需求,這些需求包括:
功能需求、性能需求、環(huán)境需求、用戶界面需求°另外還有可靠性、安全性、
保密性、可移植性、可維護性等方面的功能。
3.在需求分析階段要進行以下幾方面的工作:問題識別、分析與綜合、導出軟件的邏
輯模型、編寫文檔。
4需求分析階段所要編寫的文檔有:需求規(guī)格說明書、初步用戶使用手冊、確認測試
ifflo
5.在SA方法的需求描述工具中,數(shù)據(jù)流圖描述系統(tǒng)的分解,即描述系統(tǒng)由哪幾部分組成,
各部分之間有什么聯(lián)系等等。數(shù)據(jù)字典定義了數(shù)據(jù)流圖中每一個圖形元素。結構化語言、判
定表或判定樹則詳細描述數(shù)據(jù)流圖中不能被再分解的每二金加工。
6SA方法利用圖形等半形式化的描述方式表達需求,簡明易懂,用它們形成需求說明書中
的主要部分o這些描述工具是:數(shù)據(jù)流圖、數(shù)據(jù)字典、描述加工邏輯的結構化語言、
判斷表、判定樹。
7.在進行可行性研究和軟件計劃以后,確定確認開發(fā)一個新的軟件系統(tǒng)是必要的而且是可
能的,那么就進入需求分析階段。
8.需求分析是指,開發(fā)人員要準確理解用戶的要求,進行細致的調查分析,將用戶非形式
的需求陳述轉化為完整的需求定義,再由需求定義轉換到相應的形式功能規(guī)約(需求規(guī)格說
明)的過程。
9.需求分析的困難主要體現(xiàn)在四個方面:問題的復雜性、交流障礙、不完備性和不
一致性、需求易變性。
10.用于描述基本加工的小說明的三種描述工具是結構化語言、判斷表、判定樹
11,結構化分析的英文簡稱是SA,數(shù)據(jù)流圖的英文簡稱是DFD,數(shù)據(jù)字典的英文簡稱為
DPo
12.結構化語言的外層采用題序、選生、嬉環(huán)三種基本結構描述控制結構。
13.由于數(shù)據(jù)流是流動中的數(shù)據(jù),所以必須有流向o除了與存儲之間的數(shù)據(jù)流不
用命名外,數(shù)據(jù)流應該用名詞或名詞短語命名。
14.建立數(shù)據(jù)字典一般的兩種形式是手工建立和利用計算機輔助建立并維護。
15.結構化分析(StructuredAnalysis,簡稱SA)是面向數(shù)據(jù)流進行需求分析的方法。
它是70年代后期由Yourdon、Constantine、DeMarc。等人提出和發(fā)展,并得到廣泛的應用°
16.三種描述加工邏輯的工具各個優(yōu)缺點,對于順序執(zhí)行和循環(huán)執(zhí)行的動作,用結構化語言
描述。對于存在多個條件復雜組織的判斷問題,用判斷表和判定樹。
17.在有些情況下,數(shù)據(jù)流圖中的某個加工的一組動作依賴于多個邏輯條件的取值。這時,
用自然語言或結構化語言都不易清楚地描述出來。而用逑i定塞就能夠清楚地表示復雜
的條件組合與應做動作之間的對應關系。
第三章簡答題
1.什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?
答:數(shù)據(jù)字典(DataDictonay簡DD)是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的,
它以一種準確的、無二義性的說明方式為系統(tǒng)的分析、設計及維護提供了有關元素的一致的
定義和詳細的描述。
數(shù)據(jù)流圖僅描述了系統(tǒng)的“分解”,系統(tǒng)由哪幾部分組成,各部分之間的聯(lián)系,并沒有
對各個數(shù)據(jù)流、加工、數(shù)據(jù)存儲進行詳細說明,如數(shù)據(jù)流、數(shù)據(jù)存儲的名字并不能反映其中
的數(shù)據(jù)成分、數(shù)據(jù)項目內容和數(shù)據(jù)特性,在加工中不能反映處理過程等等。分析人員僅靠“圖”
來完整地理解一個系統(tǒng)的邏輯功能是不可能的。數(shù)據(jù)字典就是用來定義數(shù)據(jù)流圖中的各個成
分的具體含義,客觀存在一種準確的、無二義性的說明方式為系統(tǒng)的分析、設計及維護提供
了有關元素的一致的定義和詳細的描述。它和數(shù)據(jù)流圖共同構成了系統(tǒng)的邏輯模型,是需求
規(guī)格說明書的主要組成部分。
數(shù)據(jù)字典是為分析人員查找數(shù)據(jù)流圖中有關名字的詳細定義而服務的,因此也像普通字
典一樣,要把所有條目按一次的次序排列起來,以便查閱。數(shù)據(jù)字典有以下四類條目:數(shù)據(jù)
流、數(shù)據(jù)項、數(shù)據(jù)存儲、基本加工。數(shù)據(jù)項是組成數(shù)據(jù)流和數(shù)據(jù)存儲的最小元素。
數(shù)據(jù)流條目給出了DFD中數(shù)據(jù)流的定義,通常列出該數(shù)據(jù)流的各組成數(shù)據(jù)項。數(shù)據(jù)存
儲條目是對數(shù)據(jù)存儲的定義,數(shù)據(jù)項條目是不可再分解的數(shù)據(jù)單位,加工條目是用來說明
DFD中基本加工的處理邏輯的,數(shù)據(jù)字典中的加工邏輯主要描述該加工“做什么”,即實
現(xiàn)加工的策略,而不是實現(xiàn)加工的細節(jié),它描述如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工
規(guī)則。有幾種常用的描述方法,它們是結構化語言、判定表、判定樹。
2.需求分析階段的文檔是什么?
答:需求分析階段的文檔有:
(1)"需求規(guī)格說明”,把雙方共同的理解與分析結果用規(guī)范的方式描述出來,作為今后
各項工作的基礎。
(2)初步用戶使用手冊,著重反映被開發(fā)軟件的用戶功能界面和用戶使用的具體要求,用
戶手冊能強制分析人員從用戶使用的觀點考慮軟件。
(3)確認測試計劃,作為今后確認和驗收的依據(jù)。
3.建立數(shù)據(jù)字典的形式是什么?
答:建立數(shù)據(jù)字典一般有兩種形式:
(1)手工建立:數(shù)據(jù)字典的內容用卡片形式存入。
①按四類條目規(guī)范的格式印制卡片。
②在卡片上分別填寫各類條目的內容。
③先按圖號順序排列,同一圖號的所有條目數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲和加工順序排列。
④同一圖號中的同一類條目(如數(shù)據(jù)流卡片)可按名字的字典順序存入,加工一般按編號
順序存放。
⑤同一成分在父圖和子圖都出現(xiàn)時,則只有父圖上定義。
⑥建立索引目錄。
(2)利用計算機輔助建立并維護。
①編制一個“字典生成與管理程序”,可以按規(guī)定的格式輸入各類條目,能對字典條目增、
刪、改,能打印出各種查詢報告和清單,能進行完整性、一致性檢查等等。
②利用已有的數(shù)據(jù)庫開發(fā)工具,針對數(shù)據(jù)字典建立一個數(shù)據(jù)庫文件,可將數(shù)據(jù)流、數(shù)據(jù)項、
數(shù)據(jù)存儲和加工分別以矩陣表的形式來描述各個表項內容,然后使用開發(fā)工具建成數(shù)捱庫文
件,便于修改、查詢,并可隨時打印出來。另外,有的DBMS本身包含一個數(shù)據(jù)字典子系
統(tǒng),建庫時能自動生成數(shù)據(jù)字典。計算機輔助開發(fā)數(shù)據(jù)字典比手工建立數(shù)據(jù)字典有更多的優(yōu)
點,能保證數(shù)據(jù)的一致性和完整性,使用也方便,但增前了技術難度與機器開銷。
4.簡述SA方法的優(yōu)缺點
答:
結構化分析方法的優(yōu)點:
結構化分析方法是軟件需求分析中公認的、有成效的、使用廣泛的一種方法,它較適合于開
發(fā)數(shù)據(jù)處理類型軟件需求分析。該方法利用圖形等半形式化工具表達需求,簡明、易讀,也
易于使用,為后一階段的設計、測試、評價提供了有利條件。
結構化分析方法的缺點:
(1)傳統(tǒng)的SA方法主要用于數(shù)據(jù)處理方面的問題,主要工具DFD體現(xiàn)了系統(tǒng)“做什么”
的功能,但它僅是一個靜態(tài)模型,沒有反映處理的順序,即控制流程。因此,不適合描述實
時控制系統(tǒng)。
(2)60年代末出現(xiàn)的數(shù)據(jù)庫技術,使許多大型數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)都組織成數(shù)據(jù)庫形式,
SA方法使用DFD在分析與描述“數(shù)據(jù)要求”方面是有局限的,DFD應與數(shù)據(jù)庫技術中的實
體聯(lián)系圖(ER圖)結合起來。ER圖能增加對數(shù)據(jù)存儲的細節(jié)以及數(shù)據(jù)與數(shù)據(jù)之間、數(shù)捱與處
理過程之間關系的理解,還解決了在DD中所包含的數(shù)據(jù)內容表示問題,這樣才能較完整地
描述用戶對系統(tǒng)的需求。
(3)對于一些頻繁的人機交互的軟件系統(tǒng),如飛機訂票、銀行管理、文獻檢索等系統(tǒng),用
戶最關心的是如何使用它,輸入命令、操作系統(tǒng)、系統(tǒng)響應方式、輸出格式等等,都是用戶
需求的重要方面,DFD不適合描述人機界面系統(tǒng)的需求,SA方法往往對這一部分自然語言
作補充。
(4)描述軟件需求的精確性有待于提高。
5.結構化語言的結構由哪些部分組成?
答:結構化語言是介于自然語言(英語或漢語)和形式語言之間的一種半形式語言。形式語
言精確,但不易被理解,自然語言易理解,但它不精確,可能產(chǎn)生二義性。結構化語言取“長”
補“短二它是在自然語言基礎上加了一些限定,使用有限的詞匯和有限的語句來描述加工
邏輯,它的結構可分成外層和內層兩層:
(1)外層:用來描述控制結構,采用順序、選擇、重復三種基本結構。
①順序結構:是一組祈使酒句、選擇語句、重復語句的順序排列,祈使語句指至少包含一個
動詞及一個名詞,指出要執(zhí)行的動作及接受動作的對象。
②選擇結構:一般用IF—THEN—ELSE—ENDIF、CASE—OF—ENDCASE等關鍵詞。
③重復結構:一般用DO—WHILE—ENDDO.REPEAT—JNTIL等關鍵詞。
(2)內層:一般是采用祈使語句的自然語言短語,使用數(shù)據(jù)字典中的名詞和有限的自定義
詞,其動詞含義要具體,盡量不用形容詞和副詞來修飾。還可以使用一些簡單的算術運算和
邏輯運算符號。
6.試述需求分析的概念及主要分析方法
答:(1)需求分析
需求指用戶對軟件系統(tǒng)的需求,需求分析指通過對系統(tǒng)的調查、分析、綜合,產(chǎn)生完整
的需求說明的過程,即用易讀、直觀的格式,表達系統(tǒng)“做什么”的問題。
需求分析的方法有多種,如結構化分析方法和面向對象分析方法,這些方法有共同適用
的基本原則:
①能夠表達和理解的數(shù)據(jù)域和功能域。
②可以把一個復雜問題按某種方式進行劃分,并能逐步細化,從而使復雜的問題簡化,軟
件的功能域、數(shù)據(jù)域都可以劃分。
③建立模型。模型(及模式化表示)可以幫助分析人員更好地理解軟件系統(tǒng)。邏輯模型是
系統(tǒng)功能與數(shù)據(jù)信息的邏輯表示,不是實現(xiàn)的細節(jié),它反映了系統(tǒng)本質的東西。需求分析的
任務也就是該階段要進行的工作,必須明確這些工作。
(2)結構化分析方法
結構化分析方法簡稱SA法,是需求分析中使用最多的方法之一,適用于數(shù)據(jù)處理類型
軟件需求分析。這一方法除了簡單、易于掌握之外,還能和設計階段的結構化設計(SD)銜
接.從而取得良好的設計結果。SA方法的基本手段是“分解”和“抽象”,這是系統(tǒng)開發(fā)
技術中控制復雜性的兩種手段。它先將系統(tǒng)"抽象"成一個模型,此模型是有輸入和輸出并
有系統(tǒng)名稱的盒子,然后打開這個盒子,對它進行逐層分解,直到能被理解、可以實現(xiàn)為止。
因此分析策略是自頂向下、逐層加細,由抽象到具體的過程。由于分析中的主要依據(jù)是
數(shù)據(jù)傳遞變換所形成的數(shù)據(jù)流,所以結構化分析一般采用的方法是使用數(shù)據(jù)流的分析方法,
最終結果是產(chǎn)生需求規(guī)格說明書,該文檔包括一套數(shù)據(jù)流圖、對數(shù)據(jù)流圖中的成分進行定義
的一本數(shù)據(jù)字典及對加工邏輯的描述。
7.在分解數(shù)據(jù)流圖時易犯的錯誤有哪些?
答:
(1)將數(shù)據(jù)流畫成控制流,加工(圓圈)與加工之間只能是數(shù)據(jù)流。
(2)有的加工無輸入或輸出。每個加工至少有一個輸入流和一個輸出流,反映出加工有數(shù)
據(jù)來源及加工結果。
(3)父圖與子圖不平衡,子圖反映的是父圖中某個加工的分解,因此它的輸入、輸出數(shù)據(jù)
流應與父圖中相應加工的輸入、輸出流一致。
8.需求分析的難點有哪些?
答:
在計算機發(fā)展的早期,所求解問題的規(guī)模較小,需求分析因此而被忽視。隨著軟件系統(tǒng)復雜
性的提高及規(guī)模的擴大,需求分析在軟件開發(fā)中的所處的地位愈加突出,從而也愈加困難,
它的難點主要體現(xiàn)在以下幾個方面:
(1)問題的復雜性。因用戶需求所涉及的因素繁多引起,如運行環(huán)境和系統(tǒng)功能等等。
(2)交流障礙。需求分析涉及人員較多,如軟件系統(tǒng)用戶、問題領域專家、需求工程師和
項目管理員等,這些人具備不同的前景知識,處于不同的角度,扮演不同角色,造成了
相互之間交流的困難,
(3)不完備性和不一致性。由于各種原因,用戶對問題的陳述往往是不完備的,其各方面
的需求還可能存在著矛盾,需求分析要消除其矛盾,形成完備及一致的定義。
(4)需求易變性。用戶需求的變動是一個極為普遍的問題.即使是部分變動,也往往會影
響到需求分析的全部,導致不一致性和不完備性。
9.需求分析的基本任務是什么?本階段主要進行哪些工作?
答:
需要分析的基本任務是要準確地定義新系統(tǒng)的目標,為了滿足用戶需求,回答系統(tǒng)必須
“做什么”的問題。在可行性研究和軟件計劃階段對這個問題的回答是概括的、粗略的。
本階段要進行以下幾方面的工作:
(1)問題識別
雙方確定對問題的綜合需求,這些需求包括:
功能需求:所開的軟件必須具備什么樣的功能,這是最重要的。
性能需求:待開發(fā)的軟件的技術性能指標。如存儲容量、運行時間等限制。
環(huán)境需求:軟件運行時所需要的軟、硬件(如機型,外設,操作系統(tǒng),數(shù)據(jù)庫管理系統(tǒng)
等)的要求。
用戶界面需求:人機交互方式、輸入輸出數(shù)據(jù)格式等等。
另外還有可靠性、安全性、保密性、可移植性、可維護性等方面的需求,這些需求一般
通過雙方交流、調查研究來獲取,并達到共同的理解。
(2)分析與綜合,導出軟件邏輯模型
分析人員對獲取的需求,進行一致性的分析檢查,在分析、綜合中逐步細化軟件功能,
劃分成各個子功能.這時也包括對數(shù)據(jù)域進行分解,并分配到各個子功能上,以確定系統(tǒng)的
構成及主要成份,并用圖文結合的形式,建立起新系統(tǒng)的邏輯模型。
(3)編寫文檔
編寫“需求規(guī)格說明書二把雙方共同的理解與分析結果用規(guī)范的方式描述出來,作為
今后各項工作的基礎。
編寫初步用戶使用手冊,著重反映被開發(fā)軟件的用戶功能界面和用戶使有的具體要求,
用戶手冊能強制分析人員從用戶使用的觀點考慮軟件。
編寫確認測試計劃,作為今后確認和驗收的依據(jù)。
修改完善軟件開發(fā)計劃。在需求分析階段對待開發(fā)的系統(tǒng)有了更進一步的了解,所以能
更準確地估計開發(fā)成本、進度及資源要求,因此對原計劃要進行適當修正。
10.軟件需求分析與說明的方法有哪些原則?
答:
(1)必須能夠表達和理解問題的數(shù)據(jù)域和功能域。數(shù)據(jù)域包括數(shù)據(jù)流(即數(shù)據(jù)通過一個系
統(tǒng)時的變化方式)、數(shù)據(jù)內容和數(shù)據(jù)結構,而功能域反映上述三方面的控制信息。
(2)可以把一個復雜問題按功能進行分解并可逐層細化。通常軟件要處理的問題如太大、
太復雜就很難理解,劃分成幾部分,并確定各部分間的接口,就可完成整體功能。在需求分
析過程中,軟件領域中的數(shù)據(jù)、功能、行為都可以劃分。
(3)建模。建立模型可以幫助分析人員更好地理解軟件系統(tǒng)的信息、功能、行為,這些模
型也是軟件設計的基礎。
11.SA分析步驟是什么?
答:
(1)了解當前系統(tǒng)的工作流程,獲得當前系統(tǒng)的物理模型。當前系統(tǒng)(也稱現(xiàn)行系統(tǒng))指
目前正在運行的系統(tǒng),可能是需要改進的正在計算機上運行的軟件系統(tǒng),也可能是人工的處
理系統(tǒng),通過對當前系統(tǒng)的詳細調查,了解當前系統(tǒng)的工作過程,同時收集資料、文件、
數(shù)據(jù)、報表等,將看到的、聽到的、收集到的信息和情況用圖形描述出來。也就是用一個模
型來反映自己對當前系統(tǒng)的理解,如畫系統(tǒng)流程圖。這一模型包含了許多具體因素,反映現(xiàn)
實世界的實際情況。
(2)抽象出當前系統(tǒng)的邏輯模型。物理模型反映了系統(tǒng)“怎么做”的具體實現(xiàn),去掉物理
模型中非本質的因素(如物理因素),抽取出本質的因素指系統(tǒng)固有的、不依賴運行環(huán)境變
化而變化的因素,任何實現(xiàn)均這樣做。非本質因素不是固有的,隨環(huán)境不同而不同,隨實現(xiàn)
不同而不同。對物理模型進行分析,區(qū)別本質因素和非木質因素,去掉非本質因素,應形成
當前系統(tǒng)的邏輯模型,反映了當前系統(tǒng)“做什么”的功能。
(3)建立目標系統(tǒng)的邏輯模型。目標系統(tǒng)指待開發(fā)的新系統(tǒng)。分析、比較目標系統(tǒng)與當前
系統(tǒng)邏輯上的差別,即在當前系統(tǒng)的基礎上決定變化的范圍,把那些要改變的部分找出來,
將變化的部分抽象為一個加工,這個加工的外部環(huán)境及輸入輸出已確定。然后對“變化的部
分”重新分解,分析人員根據(jù)自己的經(jīng)驗,采用自頂向下逐步求精的分析策略,逐步確定變
化部分的內部結構,從而建立目標系統(tǒng)的邏輯模型。
(4)作進一步補充和優(yōu)化。為了完整地描述目標系統(tǒng),還要作一些補充:說明目標系統(tǒng)的
人機界面,它所處的應用環(huán)境及外界環(huán)境的相互聯(lián)系,決定人機界面;說明至今尚未詳細考
慮的細節(jié),如出錯處理、輸入輸出格式、存儲容量、響應時間等性能要求與限制。
12.SA描述工具有哪些?
答:SA方法利用圖形等半形式化的描述方式表達需求,簡明易懂,用它們形成需求說明書
中的主要部分。這些描述工具是:
(1)數(shù)據(jù)流圖;
(2)數(shù)據(jù)字典;
(3)描述加工邏輯的結構化語言、判定表、判定樹。
其中,“數(shù)據(jù)流圖”描述系統(tǒng)的分解,即描述系統(tǒng)由哪幾部分組成,各部分之間有什么
聯(lián)系等等?!皵?shù)據(jù)字典”定義了數(shù)據(jù)流圖中每一個圖形元素。結構化語言、判定表或判定樹
則詳細描述數(shù)據(jù)流圖中不能被再分解的每一個加工。
第四章總體設計
第四章填空題
1進入設計階段要把軟件“做什么”的邏輯模型變換為“怎么做”的物理模型,即
著手實現(xiàn)軟件的需求,并將設計的結果反映在設計文檔中。
2.在軟件需求分析階段,已經(jīng)搞清楚了軟件做什么的問題,并把這些需求通過規(guī)格說明
書_描述了出來,這也是目標系統(tǒng)的邏輯模型。
3.軟件設計是一個軟件需求把轉換為軟件表示的過程,包括概要設計和詳細設計。
4.設計軟件結構,具體為:①采用某種設計方法,將一個復雜的系統(tǒng)按功能劃分成模塊。
②確定每個模塊的功能。③確定模塊之間的遇用去系。Z確定模塊之間的接旦,即模塊之間
傳遞的信息。⑤評價模塊結構的質量。
5.概要設計文檔主要有:概要設計說明書、數(shù)據(jù)庫設計說明書、用戶手冊、修訂測試計劃。
6.在一個模塊中,功能、狀態(tài)與接□反映模塊的外部特性,邏輯反映它的內部特性
7.概要設計評審是對設計部分是否完整地實現(xiàn)了需求中規(guī)定的功能、性能等要求,設計方
案的可行性,關鍵的處理及接口定義正確性、有效性,各部分之間的一致性等等都一一進行
評審。
8.模塊化是指解決一個復雜問題時自頂向下逐層把軟件系統(tǒng)劃分若干模塊的過程。每個模
塊完成一個特定的子功能,所有的模塊按某種方法組裝起來,成為一個整體,完成整個系統(tǒng)
所要求的功能。
9.通過抽象,可以確定組成軟件的過程實體。通過信息隱藏,可以定義和實施對模塊的過
程細節(jié)和局部數(shù)據(jù)結構的存取限制。
10.開發(fā)一個大而復雜的軟件系統(tǒng),將它進行適當?shù)姆纸猓坏山档推鋸碗s性,還可以減
少開發(fā)工作,從而降低開發(fā)成本,提高軟件生產(chǎn)率,這就是模塊化的依據(jù)。
11.信息隱蔽指在設計和確定模塊時,使得一個模塊內包含的信息(過程或數(shù)據(jù)),對于
不需要這些信息的其他模塊來說,是不能訪問的。
12.推耍是認識復雜現(xiàn)象過程中使用的思維工具,即抽出事件本質的、共同的特性而暫不
考慮它的細節(jié),不考慮其它因素。
13.控制耦合指一個模塊調用另一個模塊時,傳遞的是控制變量(如開關、標志等),被調
模塊通過該控制變量的值有選擇地執(zhí)行模塊內某一功能。因此被調模塊內應具有多個功能,
哪個功能起作用受其調用模塊控制。
14.公空殖指通過一個公共數(shù)據(jù)環(huán)境相互作用的那些模塊間的耦合。公共耦合的復雜程度
隨耦合模塊的個數(shù)增加而增加。
15.內容捐合是最高程度的耦合。這種耦合出現(xiàn)在當一個模塊直接使用另一個模塊的,或通
過非正常入口轉入另一模塊內部時。
16.順序內聚指一個模塊中各個處理元素都密切相關于同一功能且必須按順序執(zhí)行,前一
功能元素的輸出就是下一功能元素的輸入。
17.通信內聚指模塊內所有處理元素都在同一個數(shù)據(jù)結構上操作,有時稱之為信息內聚,或
者指各處理使用相同的輸入數(shù)據(jù)或者產(chǎn)生相同的輸出數(shù)據(jù)。
18.功能內聚是內聚程度最強的內聚,指模塊內所有元素共同完成二包能,缺一不可。功
能內聚的模塊與其他模塊的耦合是要的。
19.若某個加工將它的輸入流分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工路徑,并根據(jù)輸入的
值選擇其中一個路徑來執(zhí)行,這種特征的DFD稱為事務型的數(shù)據(jù)流圖,這個加工稱為1
務處理中心C
20.數(shù)據(jù)庫的設計指數(shù)據(jù)存儲文件的設計,主要進行的設計方面有:概念逛t、邏輯設計、
物理設計。
21.結構化設計簡稱通,數(shù)據(jù)流圖一般可分為變換一型和事務一型兩類。變換一型的DFD
是一個順序結構。
22.通過信息隱蔽,可以定義和實施對模塊的過程細節(jié)和局部數(shù)據(jù)結構的存取限制。
23.軟件概要設計階段基本任務主要是設計軟件系統(tǒng)結構、數(shù)據(jù)結構及數(shù)據(jù)庫設計、編寫概
要設計文檔、評審等四個方面。
24.將軟件系統(tǒng)劃分成模塊時,要盡量做到高內聚低耦合,提高模塊的獨立性。
25.軟件結構從形態(tài)上總的考慮是:頂層扇出數(shù)據(jù)較大一些,中間層扇出數(shù)較小一些,
底層扇入數(shù)據(jù)較大一些。
26.一個模塊內各元素聯(lián)系得越緊密,則它的內聚性就越置。按由低到高的順序,模塊的內
聚類型有:偶然內聚、邏輯內聚、時間內聚、通信內聚、順序內聚、功能內聚。
27.兩個模塊間用單向箭頭(或直線)連接表示它們的控制關系。
28.數(shù)據(jù)庫的“概念設計”與“邏輯設計”分別對應于系統(tǒng)開發(fā)中的“需求分析”與“概
要設計”,而數(shù)據(jù)庫的“物理設計”與模塊的“詳細設計”相對應。
29.面向數(shù)據(jù)流的設計是以需求分析階段產(chǎn)生的數(shù)據(jù)流圖為基礎,按一定的步驟映射成軟件
結構、因此又稱結構化設計。
30.軟件結構圖是軟件系統(tǒng)的模塊層次結構,反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控
制層次體系。
31.從以上內容看,軟件結構的設計是以模塊為基礎的,在需求分析階段,已經(jīng)把系統(tǒng)分解
成層次結構。設計階段,以需求分析的結果為依據(jù),從實現(xiàn)的角度進一步劃分為模塊,并組
成模塊的層次結構。
32.要把數(shù)據(jù)流圖(DFD)轉換為軟件結構,首先必須研究DfD的類型。各種軟件系統(tǒng),不
論DFD如何龐大與復雜,一般可分為變換型和事務型兩類。
33.軟件結構的設計是概要設計關鍵的一步,直接影響到下一階段詳細設計與編碼的
工作。
34.模塊間還經(jīng)常用帶注釋的短箭頭表示模塊調用過程中來回傳遞的信息。有時箭頭尾部帶
空心圓的表示傳遞的是數(shù)據(jù)信息,帶實心圓的表示傳遞的是一控制信息。
35.兩個模塊通過全程變量相互作用,該耦合方式稱為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國汽車驅動橋行業(yè)市場全景監(jiān)測及投資戰(zhàn)略咨詢報告
- 中國石棉板行業(yè)市場調查研究及發(fā)展戰(zhàn)略研究報告
- 2025年中國LED隧道燈市場供需現(xiàn)狀及投資戰(zhàn)略研究報告
- 中國浴室家具行業(yè)市場調查研究及發(fā)展戰(zhàn)略規(guī)劃報告
- 2022-2027年中國擠奶設備行業(yè)運行態(tài)勢及未來發(fā)展趨勢預測報告
- 2025年中國熱采風隔機行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2025年中國砼圓涵管行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 中國石質地板市場供需現(xiàn)狀及投資戰(zhàn)略研究報告
- 中國LED照明散熱組件行業(yè)市場深度研究及投資戰(zhàn)略規(guī)劃建議報告
- 2025年中國胡辣湯行業(yè)市場前景預測及投資戰(zhàn)略研究報告
- 2025年軌道車司機(中級)職業(yè)技能鑒定參考試題庫(含答案)
- 生物必修1教師用書
- 2024版壓力容器設計審核機考題庫-多選3-3
- 慢性阻塞性肺疾病急性加重期合并II型呼吸衰竭個案護理
- 路由與交換技術試題及答案
- (完整版)保安培訓課件
- 2025屆上海市(春秋考)高考英語考綱詞匯對照表清單
- 《外匯交易基礎知識培訓》詳解課件
- 汽油化學品安全技術說明書MSDS
- 輸變電專業(yè)知識培訓課件
- 新高考數(shù)學題型全歸納之排列組合專題18環(huán)排問題含答案及解析
評論
0/150
提交評論