一、系統(tǒng)開(kāi)發(fā)基礎(chǔ)知識(shí)
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、阜城ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的阜城網(wǎng)站制作公司
需求分析和設(shè)計(jì)方案
軟件工程基本知識(shí)
軟件危機(jī)
軟件危機(jī)的主要表現(xiàn)
1. 對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)不準(zhǔn)確
2. 用戶不滿意
3. 軟件質(zhì)量不高、可靠性差
4. 軟件常常不可維護(hù)、錯(cuò)誤難以改正。
5. 缺乏適當(dāng)?shù)奈臋n資料
6. 軟件成本占系統(tǒng)總成本的比例逐年上升
7. 軟件開(kāi)發(fā)速度跟不上計(jì)算機(jī)發(fā)展速度
軟件工程
大型的,復(fù)雜的軟件系統(tǒng)的開(kāi)發(fā)是一項(xiàng)工程,必須按工程學(xué)的方法組織軟件的生產(chǎn)與管理,必須經(jīng)過(guò)計(jì)劃,分析,設(shè)計(jì),編程,測(cè)試,維護(hù)等一系列的軟件生命周期階段。
IEEE對(duì)軟件工程的定義:軟件工程是開(kāi)發(fā),運(yùn)行,維護(hù)和修復(fù)軟件的系統(tǒng)方法。
軟件工程方法學(xué)包括3個(gè)要素:方法,工具和過(guò)程。方法是指完成軟件開(kāi)發(fā)各項(xiàng)任務(wù)的技術(shù)方法;工具是指為運(yùn)用方法而提供的軟件工程支撐環(huán)境;過(guò)程是指為獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架。
目前使用最廣泛的軟件工程方法學(xué)是結(jié)構(gòu)化方法學(xué)和面向?qū)ο蟮姆椒▽W(xué)。
軟件生命周期
1970年,Boehm提出了軟件生命周期的瀑布模型(waterfall model),它典型地刻畫(huà)了軟件生命周期的階段劃分。瀑布模型將軟件生命周期劃分為八個(gè)階段:?jiǎn)栴}定義,可行×××,需求分析,總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試,維護(hù)。八個(gè)階段歸納為三個(gè)時(shí)期,計(jì)劃
期,開(kāi)發(fā)期和運(yùn)行期。其中問(wèn)題定義和可行×××屬計(jì)劃期,維護(hù)屬運(yùn)行期,其余為開(kāi)發(fā)期。
結(jié)構(gòu)化方法學(xué)概述
1977年以后出現(xiàn)的結(jié)構(gòu)化方法學(xué)也稱(chēng)為生命周期方法學(xué),它采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析,結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn))來(lái)完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù)。這種方法學(xué)把軟件開(kāi)發(fā)生命周期劃分為若干個(gè)階段,然后按順序完成第個(gè)階段的任務(wù)。
結(jié)構(gòu)化方法學(xué)具有以下特點(diǎn):
(1) 階段性;
(2) 推遲實(shí)施;
(3) 文檔管理。
結(jié)構(gòu)化分析
結(jié)構(gòu)化分析(structured analysis,SA)方法是一種面向數(shù)據(jù)流的需求分析方法,它的基本思想是自頂向下逐層分解。
數(shù)據(jù)流圖和數(shù)據(jù)字典是結(jié)構(gòu)化分析的工具,軟件需求說(shuō)明書(shū)是需求分析階段的最后成果。
1,數(shù)據(jù)流圖
數(shù)據(jù)流圖(data flow diagram,DFD)用來(lái)描述數(shù)據(jù)流從輸入到輸出的變換過(guò)程。
DFD的基本成分:數(shù)據(jù)流,加工,文件和源/宿。
2,數(shù)據(jù)字典
數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素定義的集合。
數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成了系統(tǒng)的邏輯模型。
數(shù)據(jù)字典中有四種類(lèi)型的條目:
(1) 數(shù)據(jù)項(xiàng)條目;
(2) 數(shù)據(jù)條目;
(3) 文件條目;
(4) 加工條目。
3,軟件需求說(shuō)明書(shū)
軟件需求書(shū)把在軟件計(jì)劃中確定的軟件范圍加以展開(kāi),制定出完整的信息描述,詳細(xì)的功能說(shuō)明,恰當(dāng)?shù)臋z驗(yàn)標(biāo)準(zhǔn)以及其他與要求有關(guān)的數(shù)據(jù)。
結(jié)構(gòu)化設(shè)計(jì)
系統(tǒng)設(shè)計(jì)主要包括體系結(jié)構(gòu)設(shè)計(jì),接口設(shè)計(jì),數(shù)據(jù)設(shè)計(jì)和過(guò)程設(shè)計(jì)。
結(jié)構(gòu)化設(shè)計(jì)(structured design,SD)方法是一種面向數(shù)據(jù)流的設(shè)計(jì)方法,它是以結(jié)構(gòu)化分析所產(chǎn)生文檔(數(shù)據(jù)流圖,數(shù)據(jù)字典和軟件需求說(shuō)明書(shū))為基礎(chǔ),自頂向下,逐步求精和模塊化的過(guò)程。結(jié)構(gòu)化分析通??煞譃楦乓O(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)的任務(wù)是確定軟件系統(tǒng)的結(jié)構(gòu),進(jìn)行模塊的功能,接口經(jīng)及模塊間的調(diào)用關(guān)系。詳細(xì)設(shè)計(jì)的任務(wù)是為每個(gè)模塊設(shè)計(jì)實(shí)現(xiàn)的細(xì)節(jié)。
1. 軟件設(shè)計(jì)的概念與原則
(1) 模塊化
模塊是指執(zhí)行某一特定任務(wù)的數(shù)據(jù)和可執(zhí)行語(yǔ)句等程序元素的集合,通常是指可通過(guò)名字來(lái)訪問(wèn)的過(guò)程,函數(shù),子程序或宏調(diào)用。
模塊化就是將一個(gè)待開(kāi)發(fā)的軟件劃分成若干個(gè)可完成某一子功能的模塊,每個(gè)模塊可以獨(dú)立地開(kāi)發(fā),測(cè)試,最后組裝成完整的程序。
定義模塊大小的標(biāo)準(zhǔn):
可分解性;
可組裝性;
可理解性;
連續(xù)性;
保護(hù)性。
(2) 內(nèi)聚
內(nèi)聚是指一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程序。內(nèi)聚有以下幾種,由弱到強(qiáng)排列:
偶然內(nèi)聚;
邏輯內(nèi)聚;
瞬時(shí)內(nèi)聚;
過(guò)程內(nèi)聚;
通信內(nèi)聚;
順序內(nèi)聚;
功能內(nèi)聚。
(3) 耦合
耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程序的度量。耦合強(qiáng)弱取決于模塊接口的復(fù)雜程度,進(jìn)入或訪問(wèn)一個(gè)模塊的點(diǎn),以及通過(guò)接口的數(shù)據(jù)。
模塊間的耦合程度強(qiáng)烈影響系統(tǒng)的可理解性,可修改性,可測(cè)試性和可靠性。
耦合可以分為以下幾種,強(qiáng)度由主到低:
內(nèi)容耦合;
公共耦合;
外部耦合;
控制耦合;
標(biāo)記耦合;
數(shù)據(jù)耦合;
非直接耦合。
模塊的高內(nèi)聚,低耦合原則稱(chēng)為模塊獨(dú)立性原則。
(4) 深度,寬度,扇入和扇出。
深度表示軟件結(jié)構(gòu)中控制的層數(shù);
寬度是軟件結(jié)構(gòu)中同一個(gè)層次上的模塊總數(shù)的最大值;
扇出是指該模塊直接調(diào)用的下級(jí)模塊的個(gè)數(shù);
扇出是指直接調(diào)用該模塊的上級(jí)模塊的個(gè)數(shù)。
(5)作用域和控制域
模塊的作用域是指受該模塊內(nèi)一個(gè)判定影響的所有模塊的集合。模塊的控制域的指該模塊本身以信該模塊直接或間接調(diào)用的所有模塊的集合。
(6)功能的可預(yù)測(cè)性
功能的或預(yù)測(cè)性是指對(duì)相同的輸入數(shù)據(jù)能產(chǎn)生相同的輸出。
2.概要設(shè)計(jì)
概要設(shè)計(jì)的重要任務(wù)是設(shè)計(jì)軟件的結(jié)構(gòu),也就是要確定系統(tǒng)是由哪些模塊組成的,以信這些模塊相互間的關(guān)系。
SD方法采用結(jié)構(gòu)圖(structure chart)來(lái)描述程序的結(jié)構(gòu)。構(gòu)成程序結(jié)構(gòu)圖的主要成分有模塊,調(diào)用和數(shù)據(jù)。
(1) 概要設(shè)計(jì)的具體步驟
第一步:復(fù)查基本系統(tǒng)模型;
第二步:復(fù)查并精化數(shù)據(jù)流圖;
第三步:確定數(shù)據(jù)流圖的信息類(lèi)型;
第四步:根據(jù)流的類(lèi)型分別實(shí)施變換分析或事務(wù)分析。
第五步:根據(jù)軟件設(shè)計(jì)原則對(duì)得到的軟件結(jié)構(gòu)圖進(jìn)一步優(yōu)化。
(2) 概要設(shè)計(jì)說(shuō)明書(shū)
是概要設(shè)計(jì)的最后成果。
詳細(xì)設(shè)計(jì)
詳細(xì)設(shè)計(jì)階段的根本目標(biāo)就是確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),得出對(duì)目標(biāo)系統(tǒng)的精確描述。
(1) 結(jié)構(gòu)化程序設(shè)計(jì)
(structured programming,SP)采用自頂向下逐步求精的設(shè)計(jì)方法和單入口單出口的控制結(jié)構(gòu)。
三種基本控制結(jié)構(gòu):順序結(jié)構(gòu),IF_THEN_ELSE 型分支結(jié)構(gòu)(選擇結(jié)構(gòu))和DO_WHILE型循環(huán)結(jié)構(gòu)。
(2) 過(guò)程設(shè)計(jì)工具
描述程序處理過(guò)程的工具稱(chēng)為設(shè)計(jì)工具,主要包括程序流程圖,盒圖(N-S圖),PAD圖和偽碼(PDL)。
(3) 人機(jī)界面設(shè)計(jì)
主要包括系統(tǒng)響應(yīng)時(shí)間,用戶幫助設(shè)計(jì),出錯(cuò)信息處理和命令交互設(shè)計(jì)等。
(4) 詳細(xì)設(shè)計(jì)說(shuō)明書(shū)。
面向?qū)ο蠓椒▽W(xué)概述
面向?qū)ο?對(duì)象(objects)
+類(lèi)(classes)
+繼承(inheritance)
+消息通信(communication with message)
(1) 對(duì)象與封裝
對(duì)象是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)實(shí)體,它是構(gòu)成系統(tǒng)的一個(gè)基本單位。
對(duì)象的三要素:對(duì)象標(biāo)識(shí),屬性和服務(wù)。
封裝是對(duì)象的一個(gè)重要原則。它有兩層含義:第一,對(duì)象是其全部屬性和全部服務(wù)緊密結(jié)合而形成的一個(gè)不可分割的整體;第二,對(duì)象是一個(gè)不透明的黑盒子,表示對(duì)象狀態(tài)的數(shù)據(jù)和實(shí)現(xiàn)操作的代碼都被封裝在黑盒子子里面。
(2)類(lèi)
類(lèi)是對(duì)具有相同屬性和服務(wù)的一個(gè)或一組對(duì)象的抽象定義。
類(lèi)和對(duì)象是抽象描述與具體實(shí)例的關(guān)系,一個(gè)具體的對(duì)象被稱(chēng)為類(lèi)的一個(gè)實(shí)例。
(3) 繼承和多態(tài)性
繼承(inheritance)的定義為:特殊類(lèi)的對(duì)象擁有其一般類(lèi)的全部或部分屬性。
多態(tài)性(polymorphism)是指在一般類(lèi)中定義的屬性或服務(wù)被特殊類(lèi)繼承之后,可以具有不同的數(shù)據(jù)類(lèi)型或表現(xiàn)出不同的行為。
(4)消息通信
消息就是向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求,它應(yīng)該包含下述信息:提供服務(wù)的對(duì)象標(biāo)識(shí),消息名,輸入信息和回答信息。
消息通信也是面向?qū)ο蠓椒ㄖ械囊粭l重要原則,它與封裝密不可分。消息通信為它們提供了惟一僉的動(dòng)態(tài)聯(lián)系途徑,使它們的行為能夠互相配合,構(gòu)成一個(gè)有機(jī)的系統(tǒng)。
只有同時(shí)使用對(duì)象,類(lèi),繼承和消息通信,才是真正面向?qū)ο蟮姆椒ā?br /> 面向?qū)ο蠓椒▽W(xué)的優(yōu)點(diǎn)
(1) 與人類(lèi)習(xí)慣的思維方式一致;
(2) 穩(wěn)定性好;
(3) 可重用性好;
(4) 較易開(kāi)發(fā)大型軟件產(chǎn)品;
(5) 可維護(hù)性好。
面向?qū)ο蟮姆治?br /> 1, OMT方法簡(jiǎn)介
OMT(Object Modeling Technique)方法的OOA(Object-Oriented Analysis,OOA)模型包括對(duì)象模型,動(dòng)態(tài)模型和功能模型。
對(duì)象模型表示靜態(tài)的,結(jié)構(gòu)化的系統(tǒng)的數(shù)據(jù)“數(shù)據(jù)”的性質(zhì)。通常用類(lèi)圖表示。
動(dòng)態(tài)模型表示瞬時(shí)的,行為化的系統(tǒng)的“控制”性質(zhì),它規(guī)定了對(duì)象模型中的對(duì)象的合法變化序列。通常用狀態(tài)圖表示。
功能模型表示變化的系統(tǒng)的“功能”性質(zhì),它指明系統(tǒng)應(yīng)該“做什么”,因此更直接地反映了用戶對(duì)目標(biāo)系統(tǒng)的需求。通常用數(shù)據(jù)流圖表示。
2, 建立對(duì)象模型
復(fù)雜系統(tǒng)的對(duì)象模型通常有以下五個(gè)層次組成:類(lèi)及對(duì)象層,結(jié)構(gòu)層,主題層,屬性層和服務(wù)層。分別對(duì)應(yīng)建立對(duì)象模型的五項(xiàng)主要活動(dòng):確定類(lèi)與對(duì)象,確定結(jié)構(gòu)與關(guān)聯(lián),劃分主題,定義屬性和定義服務(wù)。
3. 建立動(dòng)態(tài)模型
第一步:編寫(xiě)典型交互行為的腳本。
第二步:從腳本中提取出事件,確定觸發(fā)第個(gè)事件的動(dòng)作對(duì)象以及接受事件的目標(biāo)對(duì)象。
第三步:排列事件發(fā)生的次序,確定第個(gè)對(duì)象可能有的狀態(tài)及狀態(tài)間的軟件關(guān)系。
4. 建立功能模型
OMT方法中的功能模型實(shí)際上就是結(jié)構(gòu)化方法中的數(shù)據(jù)流圖。
面向?qū)ο蟮脑O(shè)計(jì)
1. OOA與OOD的關(guān)系
2. 設(shè)計(jì)問(wèn)題域部件;
3. 設(shè)計(jì)人機(jī)交互部件;
4. 設(shè)計(jì)任務(wù)管理部件;
5. 設(shè)計(jì)數(shù)據(jù)管理部件。
二、開(kāi)發(fā)環(huán)境
軟件工具
軟件工具是指用于輔助軟件開(kāi)發(fā),運(yùn)行,維護(hù),管理,支持等過(guò)程中的活動(dòng)的軟件,通常也稱(chēng)為CASE(computer aided software engineering,計(jì)算機(jī)輔助軟件工程)工具。通??蓪④浖ぞ叻譃檐浖_(kāi)發(fā)工具,軟件維護(hù)工具和軟件管理工具。
1, 軟件開(kāi)發(fā)工具
(1) 需求分析工具;
(2) 設(shè)計(jì)工具;
(3) 編程工具;
(4) 測(cè)試工具。
2, 軟件維護(hù)工具
(1) 版本控制工具;
(2) 文檔分析工具
(3) 開(kāi)發(fā)信息庫(kù)工具;
(4) 逆向工程工具;
(5) 再工程工具。
3, 軟件管理工具
(1) 項(xiàng)目管理工具;
(2) 配置管理工具;
(3) 軟件評(píng)估工具。
集成開(kāi)發(fā)環(huán)境
軟件開(kāi)發(fā)環(huán)境是指支持軟件產(chǎn)品開(kāi)發(fā)的軟件系統(tǒng)。
集成軟件開(kāi)發(fā)環(huán)境是一種把支持多種軟件開(kāi)發(fā)方法和開(kāi)發(fā)模型,支持軟件開(kāi)發(fā)全過(guò)程的軟件工具集成在一起的軟件開(kāi)發(fā)環(huán)境。
集成型開(kāi)發(fā)環(huán)境通常可由工具集和環(huán)境集成機(jī)制兩部分組成。環(huán)境集成機(jī)制主要有數(shù)據(jù)集成機(jī)制,控制集成機(jī)制和界面集成機(jī)制。
三、軟件測(cè)試與軟件評(píng)審
1, 軟件測(cè)試的目的
軟件測(cè)試的目的就是在軟件投入生產(chǎn)運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件產(chǎn)品中的錯(cuò)誤和缺陷。
2, 測(cè)試分類(lèi)
軟件測(cè)試通過(guò)可分為單元測(cè)試,集成測(cè)試和系統(tǒng)測(cè)試。
(1) 單元測(cè)試
單元測(cè)試(unit testing),也稱(chēng)模塊測(cè)試,通??煞旁诰幊屉A段,由程序員對(duì)自己編寫(xiě)的模塊自行測(cè)試,檢查模塊是否實(shí)現(xiàn)了詳細(xì)設(shè)計(jì)說(shuō)明書(shū)中規(guī)定的功能和算法。單元測(cè)試主要發(fā)現(xiàn)編程和詳細(xì)設(shè)計(jì)中產(chǎn)生的錯(cuò)誤,單元計(jì)劃應(yīng)該在詳細(xì)設(shè)計(jì)階段制定。
單元測(cè)試著重從以下幾個(gè)方面對(duì)模塊進(jìn)行測(cè)試:模塊接口,局部數(shù)據(jù)結(jié)構(gòu),重要的執(zhí)行通路,出錯(cuò)處理和邊界條件。
(2) 集成測(cè)試
集成測(cè)試(integration testing),也稱(chēng)組裝測(cè)試,它是對(duì)由各模塊組裝而成的程序進(jìn)行測(cè)試,主要目標(biāo)是發(fā)現(xiàn)模塊間的接口和通信問(wèn)題。
(3) 系統(tǒng)測(cè)試
系統(tǒng)測(cè)試是軟件測(cè)試中的最后的,最完整的測(cè)試,它是在單元測(cè)試,集成測(cè)試的基礎(chǔ)上進(jìn)行的,它從全局來(lái)考察系統(tǒng)的功能和性能要求。系統(tǒng)測(cè)試計(jì)劃應(yīng)該在需求分析階段制定。
通常,系統(tǒng)測(cè)試包括確認(rèn)測(cè)試(validation testing)和驗(yàn)收測(cè)試(acceptance testing).
3,測(cè)試方法
(1)白盒測(cè)試
又稱(chēng)結(jié)構(gòu)測(cè)試,主要用于單元測(cè)試階段。
(2)黑盒測(cè)試
又稱(chēng)功能測(cè)試,主要用于集成測(cè)試和確認(rèn)測(cè)試階段。
(3)灰盒測(cè)試
介于前兩者之間。主要用于集成測(cè)試階段。
軟件評(píng)審
狹義的“軟件評(píng)審”通常指軟件文檔和源程序的評(píng)審。廣義的“軟件評(píng)審”還包括與軟件測(cè)試相結(jié)合的評(píng)審有及管理評(píng)審。軟件評(píng)審包括軟件需求評(píng)審,概要評(píng)審,詳細(xì)評(píng)審,軟件驗(yàn)證和確認(rèn)評(píng)審,功能檢查,物理檢查,綜合檢查和管理評(píng)審。
測(cè)試設(shè)計(jì)和管理
1, 白盒測(cè)試的測(cè)試用例設(shè)計(jì)
白盒測(cè)試根據(jù)軟件的內(nèi)部邏輯設(shè)計(jì)測(cè)試用例,常用的技術(shù)是邏輯覆蓋,即考查用測(cè)試數(shù)據(jù)運(yùn)行被測(cè)程序時(shí)對(duì)程序邏輯的覆蓋程度,主要的覆蓋標(biāo)準(zhǔn)有六種:語(yǔ)句覆蓋,判定覆蓋,條件覆蓋,判定/條件覆蓋,條件組合覆蓋和路徑覆蓋。
2, 黑盒測(cè)試的測(cè)試用例設(shè)計(jì)
黑盒測(cè)試根據(jù)軟件需求說(shuō)明書(shū)所規(guī)定的功能來(lái)設(shè)計(jì)測(cè)試用例,它不考慮軟件的內(nèi)部結(jié)構(gòu)和處
理算法。
常用的黑盒測(cè)試技術(shù)包括等價(jià)類(lèi)劃分,邊值分析,錯(cuò)誤推測(cè)和因果圖等。
3, 錯(cuò)誤曲線圖與收斂性;
4, 錯(cuò)誤注入法
5, 排錯(cuò);
6, 軟件測(cè)試管理準(zhǔn)則;
7, 測(cè)試計(jì)劃與測(cè)試分析報(bào)告。
四、項(xiàng)目管理
制定項(xiàng)目計(jì)劃
制定項(xiàng)目計(jì)劃的過(guò)程叫做規(guī)劃,項(xiàng)目規(guī)劃是預(yù)測(cè)未來(lái),確定任務(wù),估計(jì)可能碰到的問(wèn)題并提出完成任務(wù)和解決問(wèn)題的有效方案,方針,措施和手段以及所必需的各種活動(dòng)和工作成果的過(guò)程。
質(zhì)量管理與質(zhì)量評(píng)估
軟件質(zhì)量是軟件與明確敘述的功能和性能需求,文檔中明確描述的開(kāi)發(fā)標(biāo)準(zhǔn)以及任何專(zhuān)業(yè)開(kāi)發(fā)的軟件產(chǎn)品都應(yīng)該具有的隱含特征相一致的程度。
質(zhì)量管理
(1) 質(zhì)量需要分析;
(2) 質(zhì)量計(jì)劃;
(3) 質(zhì)量保證;
(4) 質(zhì)量控制;
(5) 質(zhì)量改進(jìn)。
質(zhì)量評(píng)估
(1) 功能性;
(2) 可靠性;
(3) 可用性;
(4) 效率;
(5) 可維護(hù)性;
(6) 可移植性。
過(guò)程管理
過(guò)程管理是為確保項(xiàng)目按時(shí)完成所需要的種活動(dòng)。過(guò)程管理主要包括項(xiàng)目工作分解。項(xiàng)目進(jìn)度制訂和項(xiàng)目進(jìn)度控制等。
過(guò)程管理的技術(shù)與方法
(1) Gantt圖;
(2) PERT圖與關(guān)鍵路徑;
(3) 持續(xù)時(shí)間的壓縮;
(4) 資源均衡;
(5) 時(shí)差的應(yīng)用。
配置管理
軟件配置管理的基本概念。
(1) 軟件配置項(xiàng)
軟件配置項(xiàng)是指在軟件開(kāi)發(fā)過(guò)程中產(chǎn)生的全部信息,主要包括:源程序和可執(zhí)行程序;軟件文檔;數(shù)據(jù)。
(2) 基線
基線是指已通過(guò)正式復(fù)審的軟件配置項(xiàng)。IEEE對(duì)基線的定義為:已通過(guò)正式復(fù)審的軟件中
間產(chǎn)品或軟件文檔,它可以作為進(jìn)一步開(kāi)發(fā)的基礎(chǔ),并且只有通過(guò)正式的變化控制過(guò)程才能改變它。
1. 軟件配置管理的主要任務(wù)
主要有五項(xiàng)任務(wù):任務(wù)標(biāo)識(shí),版本控制,變化控制,配置審計(jì)和配置報(bào)告。
人員計(jì)劃和管理
人員計(jì)劃和管理是指有效地使用涉及項(xiàng)目的人員所需要的一組活動(dòng)。
人員計(jì)劃和管理的主要內(nèi)容
(1) 組織和人力資源規(guī)劃;
(2) 人員獲??;
(3) 管理項(xiàng)目成員的工作;
(4) 團(tuán)隊(duì)建設(shè)。
人員計(jì)劃和管理的技術(shù)與方法
(1) 用網(wǎng)絡(luò)計(jì)劃技術(shù)和系統(tǒng)工程模型實(shí)現(xiàn)人力資源均衡優(yōu)化;
(2) 組織結(jié)構(gòu)圖;
(3) 責(zé)任分派表;
(4) 沖突管理;
(5) 培訓(xùn)。
文檔管理
國(guó)家標(biāo)準(zhǔn)局于1988年1月批準(zhǔn)并發(fā)布的《GB8567—1988計(jì)算機(jī)軟件產(chǎn)品開(kāi)發(fā)文件編制指南》規(guī)定在一項(xiàng)軟件開(kāi)發(fā)過(guò)程中應(yīng)該產(chǎn)生14種文件。
A, 可行×××報(bào)告;
B,項(xiàng)目開(kāi)發(fā)計(jì)劃;
C,軟件需求說(shuō)明書(shū);
D, 數(shù)據(jù)要求說(shuō)明書(shū);
E,概要設(shè)計(jì)說(shuō)明書(shū);
F, 詳細(xì)設(shè)計(jì)說(shuō)明書(shū);
G, 數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū);
H, 用戶手冊(cè);
I, 操作手冊(cè);
J, 模塊開(kāi)發(fā)卷宗;
K, 測(cè)試計(jì)劃;
L,測(cè)試分析報(bào)告;
M,開(kāi)發(fā)進(jìn)度月報(bào);
N, 項(xiàng)目開(kāi)發(fā)總結(jié)報(bào)告。
高質(zhì)量的文檔就體現(xiàn):針對(duì)性;精確性;清晰性;完整性;靈活性。
在軟件開(kāi)發(fā)過(guò)程中,軟件文檔的變更手續(xù)為:提議—評(píng)議—審核—批準(zhǔn)—實(shí)施。
開(kāi)發(fā)和組織的作用
1. 民主制;
2. 技術(shù)權(quán)威制;
3. 項(xiàng)目經(jīng)理制。
成本組織
成本組織包括項(xiàng)目的資源規(guī)劃、費(fèi)用估算,費(fèi)用規(guī)劃和控制等各項(xiàng)活動(dòng)。成本組織的目的是預(yù)測(cè)計(jì)劃項(xiàng)目費(fèi)用,控制項(xiàng)目費(fèi)用并確保項(xiàng)目在預(yù)算的約束條件下完成。
成本組織的主要內(nèi)容
(1) 資源規(guī)劃;
(2) 費(fèi)用估算;
(3) 制訂費(fèi)用計(jì)劃;
(4) 費(fèi)用控制;
(5) 財(cái)務(wù)決算。
成本組織的技術(shù)與方法
(1) 費(fèi)用分解結(jié)構(gòu)(CBS)
(2) 掙得值分析;
(3) 類(lèi)比估算法;
(4) 參數(shù)模型法;
(5) 自下而上的估算;
(6) 計(jì)算機(jī)估算軟件;
(7) 費(fèi)用變更標(biāo)識(shí)和變更控制系統(tǒng)。
風(fēng)險(xiǎn)管理
主要活動(dòng)有風(fēng)險(xiǎn)識(shí)別,風(fēng)險(xiǎn)估算,風(fēng)險(xiǎn)評(píng)價(jià)和風(fēng)險(xiǎn)控制。
五、系統(tǒng)的可審計(jì)性
系統(tǒng)審計(jì)是獨(dú)立于系統(tǒng)開(kāi)發(fā)者,系統(tǒng)使用者的第三方——系統(tǒng)審計(jì)師彩客觀的標(biāo)準(zhǔn)對(duì)系統(tǒng)的策劃,開(kāi)發(fā),使用維護(hù)等相關(guān)活動(dòng)和產(chǎn)物進(jìn)行完整的,有效的檢查和評(píng)估。
系統(tǒng)審計(jì)涉及整個(gè)系統(tǒng)的生命周期,審計(jì)對(duì)象涵蓋整個(gè)系統(tǒng)所有活動(dòng)和中間產(chǎn)物,并包括與系統(tǒng)實(shí)施有關(guān)的外部環(huán)境。
審計(jì)方法
系統(tǒng)審計(jì)按照系統(tǒng)的生命周期可以分為計(jì)劃審計(jì),開(kāi)發(fā)審計(jì),執(zhí)行審計(jì),維護(hù)審計(jì)以信覆蓋整個(gè)系統(tǒng)周期的管理審計(jì)。
審計(jì)跟蹤
審計(jì)跟蹤是系統(tǒng)活動(dòng)的流水線。
六、系統(tǒng)運(yùn)行和維護(hù)知識(shí)
系統(tǒng)運(yùn)行
系統(tǒng)運(yùn)行環(huán)境管理
系統(tǒng)運(yùn)行環(huán)境管理包括硬件環(huán)境,軟件環(huán)境,網(wǎng)絡(luò)環(huán)境和數(shù)據(jù)庫(kù)環(huán)境。
系統(tǒng)成本管理
7個(gè)環(huán)節(jié):成本預(yù)測(cè),成本決策,成本計(jì)劃,成本控制,成本核算,成本分析,成本考核,其中的兩大核心內(nèi)容是成本控制與成本核算。
系統(tǒng)運(yùn)行
作業(yè)調(diào)度
作業(yè)調(diào)度為實(shí)現(xiàn)工作量管理的完全自動(dòng)化提供全方位的功能,完成作業(yè)的定置,安排,監(jiān)視以及執(zhí)行結(jié)果的檢測(cè)。
數(shù)據(jù)I/O管理
有并行I/O方式和串行I/O方式。
用戶管理
用戶管理的主要任務(wù)是對(duì)網(wǎng)絡(luò)用戶的基本信息及賬號(hào)及賬號(hào)信息等進(jìn)行分類(lèi)管理。
用戶所注冊(cè)的ID號(hào)是用戶在網(wǎng)絡(luò)中的惟一標(biāo)識(shí)。
設(shè)備和設(shè)施管理
1. 電源
2. 空調(diào)設(shè)備;
3. 設(shè)備管理;
4. 設(shè)施安全管理。
系統(tǒng)故障管理
故障管理過(guò)程包括三個(gè)步驟:發(fā)現(xiàn)故障,分離故障,修復(fù)故障。
安全管理
性能管理
系統(tǒng)運(yùn)行工具
1. 自動(dòng)化操作工具;
2. 監(jiān)控工具;
3. 診斷工具。
系統(tǒng)轉(zhuǎn)換
1, 轉(zhuǎn)入運(yùn)行階段;
2, 運(yùn)行測(cè)試;
3, 版本控制
版本控制包括版本管理,系統(tǒng)發(fā)行,版本標(biāo)識(shí)和發(fā)行管理。
系統(tǒng)運(yùn)行服務(wù)標(biāo)準(zhǔn)
計(jì)算機(jī)系統(tǒng)運(yùn)行服務(wù)執(zhí)行的主體包括:(1)系統(tǒng)使用單位;(2)系統(tǒng)開(kāi)發(fā)單位;(3)系統(tǒng)經(jīng)銷(xiāo)單位;(4)專(zhuān)業(yè)的技術(shù)服務(wù)單位。
系統(tǒng)運(yùn)行服務(wù)標(biāo)準(zhǔn)就明確服務(wù)內(nèi)容,服務(wù)方式,服務(wù)收費(fèi)標(biāo)準(zhǔn)和違約等條款。
七、系統(tǒng)維護(hù)
系統(tǒng)維護(hù)是在系統(tǒng)交付使用之后直至系統(tǒng)被淘汰的整修時(shí)期內(nèi)為了改正錯(cuò)誤或滿足新的要求而修改系統(tǒng)的活動(dòng)。
維護(hù)的類(lèi)型
(1) 改正性維護(hù);
(2) 適應(yīng)性維護(hù);
(3) 完美性維護(hù);
(4) 預(yù)防性維護(hù);
維護(hù)的實(shí)施
1. 日常檢查
2. 定期維護(hù)
(1) 病毒防治;
(2) 數(shù)據(jù)備份;
(3) 數(shù)據(jù)整理;
(4) 故障排除;
(5) 硬件清洗;
(6) 維修計(jì)算機(jī)硬件,恢復(fù)計(jì)算機(jī)系統(tǒng),計(jì)算機(jī)網(wǎng)絡(luò)維護(hù),調(diào)試等。
3, 事前維護(hù)和事后維護(hù)
4, 遠(yuǎn)程維護(hù)
硬件維護(hù)
硬件維護(hù)是指硬件交付用戶使用之后,為了保證硬件的繼續(xù)使用或滿足新的需要而對(duì)系統(tǒng)所做的修理,完善,調(diào)試,測(cè)試等過(guò)程。
硬件維護(hù)也分改正性維護(hù),適應(yīng)性維護(hù),完善性維護(hù)和預(yù)防性維護(hù)。
軟件維護(hù)
影響軟件的可維護(hù)性的因素有:可理解性,可測(cè)試性,可修改性。
面向?qū)ο蠓椒ǖ牡膶?duì)象封閉機(jī)制,消息通信機(jī)制,繼承機(jī)制和多態(tài)機(jī)制從根本上提高了軟件
的可維護(hù)性。
結(jié)構(gòu)化方法學(xué)中的模塊化,信息隱蔽,高內(nèi)聚,低耦合原則也提高了可維護(hù)性。
軟件維護(hù)管理是指為保證維護(hù)質(zhì)量,提高維護(hù)效率,控制維護(hù)成本而進(jìn)行的維護(hù)過(guò)程管理,它要求對(duì)軟件的第次“修改”均需要經(jīng)過(guò)申請(qǐng),評(píng)估,批準(zhǔn),實(shí)施,驗(yàn)證等步驟。
軟件維護(hù)管理的核心是維護(hù)評(píng)估和維護(hù)驗(yàn)證。維護(hù)評(píng)估的主要工作包括:判定維護(hù)申請(qǐng)的合理性與輕重緩急,確定維護(hù)的可行性與時(shí)間及費(fèi)用,制定維護(hù)策略與維護(hù)計(jì)劃等。維護(hù)驗(yàn)證主要審查修改后的軟件是否實(shí)現(xiàn)了維護(hù)目標(biāo),軟件文檔是否也做了相應(yīng)的修改。
維護(hù)合同
計(jì)算機(jī)系統(tǒng)的維護(hù)通常有四種方式:(1)由系統(tǒng)使用單位自選維護(hù);(2)由系統(tǒng)開(kāi)發(fā)單位負(fù)責(zé)維護(hù);(3)由系統(tǒng)經(jīng)銷(xiāo)單位負(fù)責(zé)維護(hù);(4)委托專(zhuān)業(yè)的技術(shù)服務(wù)公司進(jìn)行維護(hù)。后三種情況均需要簽訂維護(hù)合同。
維護(hù)合同應(yīng)明確維護(hù)內(nèi)容,維護(hù)方式,維護(hù)職責(zé),收費(fèi)標(biāo)準(zhǔn)和違約責(zé)任等條款。