第一篇:自考軟件工程筆記總結(jié)
第一章 緒論
1.1 軟件工程的產(chǎn)生
1.1.1 軟件的特點(diǎn)
軟件的定義:計(jì)算機(jī)程序及其說明程序的各種文檔 軟件的特性:
(1)軟件是一種邏輯產(chǎn)品,它與物質(zhì)產(chǎn)品有很大的區(qū)別
(2)軟件產(chǎn)品的生產(chǎn)主要是研制,軟件產(chǎn)品的成本主要體現(xiàn)在軟件的開發(fā)和研制上,軟件開發(fā)研制完成后,通過復(fù)制就產(chǎn)生了大量軟件產(chǎn)品
(3)軟件產(chǎn)品不會(huì)用壞,不存在磨損、消耗問題
(4)軟件產(chǎn)品的生產(chǎn)主要是腦力勞動(dòng),還未完全擺脫手工開發(fā)方式,大部分產(chǎn)品是“定做”的
(5)軟件費(fèi)用不斷增加,軟件成本相當(dāng)昂貴
1.1.2 軟件生產(chǎn)的發(fā)展
1)程序設(shè)計(jì)時(shí)代(1946年~1956年)
這個(gè)階段的生產(chǎn)方式是個(gè)體手工勞動(dòng),使用的工具是機(jī)器語言、匯編語言。
開發(fā)方法是追求編程技巧,追求程序運(yùn)行效率 程序難讀、難懂、難修改
硬件特征是價(jià)格貴、存儲(chǔ)容量小、運(yùn)行可靠性差
軟件特征是只有程序、程序設(shè)計(jì)概念,不重視程序設(shè)計(jì)方法 2)程序系統(tǒng)時(shí)代(1956年~1968年)
這個(gè)階段的生產(chǎn)方式是作坊式的小集團(tuán)合作生產(chǎn),生產(chǎn)工具是高級(jí)語言
開發(fā)方式仍舊靠個(gè)人技巧,但開始提出結(jié)構(gòu)化方法
硬件特征是速度、容量、工作可靠性有明顯提高,價(jià)格降低,銷售有爆炸性增長(zhǎng)
軟件特征是程序員數(shù)量猛增,大量其他行業(yè)人員進(jìn)入這個(gè)行業(yè),因?yàn)槿狈τ?xùn)練,因而開發(fā)人員素質(zhì)差
這時(shí)已意識(shí)到軟件開發(fā)的重要性,但開發(fā)技術(shù)沒有新的突破,大量軟件開發(fā)的需求已提出,但開發(fā)人員的素質(zhì)和落后的開發(fā)技術(shù)不適應(yīng)規(guī)模大、結(jié)構(gòu)復(fù)雜的軟件開發(fā),產(chǎn)生了尖銳的矛盾,導(dǎo)致了軟件危機(jī)的產(chǎn)生
3)軟件工程時(shí)代(1968年至現(xiàn)在)
這階段的生產(chǎn)方式是工程化的生產(chǎn),使用數(shù)據(jù)庫(kù)、開發(fā)工具、開發(fā)環(huán)境、網(wǎng)絡(luò)、分布式、面向?qū)ο蠹夹g(shù)來開發(fā)軟件
硬件特征是向超高速、大容量、微型化以及網(wǎng)絡(luò)化方向發(fā)展
軟件特征是開發(fā)技術(shù)有很大進(jìn)步,但是未能獲得突破性進(jìn)展,軟件價(jià)格不斷上升,沒有完全擺脫軟件危機(jī)
1.1.3 軟件危機(jī)
1.軟件危機(jī)的產(chǎn)生
軟件發(fā)展到第二階段末期,軟件開發(fā)技術(shù)的進(jìn)步跟不上硬件發(fā)展的速度
2.軟件危機(jī)的表現(xiàn) 1.1.4(1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時(shí)間一再拖延(2)開發(fā)的軟件不能滿足用戶要求(3)開發(fā)的軟件可維護(hù)性差(4)開發(fā)的軟件可靠性差 3.軟件危機(jī)的原因
(1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜(2)軟件開發(fā)管理困難而復(fù)雜(3)軟件開發(fā)費(fèi)用不斷增加(4)軟件開發(fā)技術(shù)落后(5)生產(chǎn)方式落后(6)開發(fā)工具落后 軟件工程
1968年北大西洋公約組織的工作會(huì)議上首先提出“軟件工程”的概念,要用工程化的思想來開發(fā)軟件 1.軟件工程定義
用科學(xué)知識(shí)和技術(shù)原理來定義、開發(fā)、維護(hù)軟件的一門科學(xué) 2.軟件工程的性質(zhì)
軟件工程是一門綜合性的交叉學(xué)科,涉及計(jì)算機(jī)科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)等領(lǐng)域
計(jì)算機(jī)科學(xué)中的研究成果均可用于軟件工程,但計(jì)算機(jī)科學(xué)著重于原理和理論,而軟件工程著重于如何建造一個(gè)軟件系統(tǒng)
軟件工程要用工程科學(xué)中的觀點(diǎn)來進(jìn)行費(fèi)用估算、制定進(jìn)度、制定計(jì)劃和方案
軟件工程要用管理科學(xué)的方法和原理進(jìn)行軟件的生產(chǎn)和管理 軟禁工程要用數(shù)學(xué)的方法建立軟件開發(fā)中各個(gè)種模型和各種算法 3.軟件工程目標(biāo)
目的是成功的建造一個(gè)大型軟件系統(tǒng) 所謂成功,是要達(dá)到
付出較低的開發(fā)成本
達(dá)到要求的軟件功能
取得較好的軟件性能
開發(fā)的軟件易于移植
需要較低的維護(hù)費(fèi)用
能按時(shí)完成開發(fā)任務(wù),及時(shí)交付使用
開發(fā)的軟件可靠性高 4.軟件工程內(nèi)容
主要是軟件開發(fā)技術(shù)和軟件管理兩個(gè)方面
軟件開發(fā)技術(shù)中主要研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境
軟件開發(fā)管理中主要研究軟件管理學(xué)、軟件經(jīng)濟(jì)學(xué)、軟件心理學(xué) 5.軟件工程面臨的問題
a)軟件費(fèi)用 b)軟件可靠性 c)軟件維護(hù) d)軟件生產(chǎn)率 e)軟件重用
1.2 軟件工程過程和軟件生存周期
1.2.1 軟件工程過程
目的是為各種人員提供一個(gè)公共的框架,以便用相同的語言進(jìn)行交流
(1)獲取過程(2)供應(yīng)過程(3)開發(fā)過程(4)操作過程(5)維護(hù)過程(6)管理過程(7)支持過程 1.2.2 軟件生存周期
指一個(gè)軟件從提出開發(fā)要求開始直到該軟件報(bào)廢為止的整個(gè)過程
(1)可行性分析和項(xiàng)目開發(fā)計(jì)劃
必須要回答的問題是“要解決的問題是什么”,有可行的解決辦法嗎,如果有需要多少費(fèi)用多少資源時(shí)間 明確項(xiàng)目性質(zhì) 明確項(xiàng)目目標(biāo) 明確項(xiàng)目規(guī)模
確定該問題有沒有可行的解決辦法 指定項(xiàng)目開發(fā)計(jì)劃(2)需求分析
確定軟件系統(tǒng)必須做什么
確定軟件系統(tǒng)必須具備哪些功能(3)概要設(shè)計(jì)
把確定的各項(xiàng)功能需求轉(zhuǎn)換成需要的體系結(jié)構(gòu) 設(shè)計(jì)軟件的結(jié)構(gòu),明確該結(jié)構(gòu)的模塊組成(4)詳細(xì)設(shè)計(jì)
為每個(gè)模塊完成的功能進(jìn)行具體描述,把功能描述轉(zhuǎn)變?yōu)榫_地、結(jié)構(gòu)化的過程描述(5)編碼
把每個(gè)模塊的控制結(jié)構(gòu)轉(zhuǎn)換成計(jì)算機(jī)可接受的程序代碼,即寫成以某種特定程序設(shè)計(jì)語言表示的“原程序清單”(6)測(cè)試
保證軟件質(zhì)量的重要手段(7)維護(hù)
1.3 軟件生存周期模型、方法和工具
1.3.1 軟件生存周期模型
描述軟件開發(fā)過程中各種活動(dòng)如何執(zhí)行的模型 1.瀑布模型
將軟件生存周期各個(gè)活動(dòng)規(guī)定為依線性順序連接的若干階段的模型 包括所有的軟件生存周期環(huán)節(jié),規(guī)定了由前至后、相互銜接的固定次序 1.3.2 缺點(diǎn):
理想的線性開發(fā)模式,缺乏靈活性
開發(fā)過程中用戶看不到軟件是什么樣子,造成開發(fā)方向錯(cuò)誤 2.增量模型
一種非整體開發(fā)的模型,軟件在該模型中是“逐漸”開發(fā)出來的,開發(fā)一部分展示一部分,可以及早發(fā)現(xiàn)問題?;蛘唛_發(fā)一個(gè)“原型”軟件,完成部分主要功能再逐步完善
具有較大的靈活性,適合于軟件需求不明確、設(shè)計(jì)方案有一定風(fēng)險(xiǎn)的軟件項(xiàng)目 缺點(diǎn):
對(duì)于復(fù)雜的大型軟件,開發(fā)一個(gè)原型往往達(dá)不到要求 3.螺旋模型
將瀑布模型與增量模型結(jié)合起來,加入了兩種模型均忽略了的風(fēng)險(xiǎn)分析
開發(fā)過程分為幾個(gè)螺旋周期,每個(gè)螺旋周期大致和瀑布模型相符合 每個(gè)周期內(nèi)分四個(gè)工作不:制定計(jì)劃、風(fēng)險(xiǎn)分析、開發(fā)實(shí)施、用戶評(píng)估
適合于大型軟件的開發(fā) 缺點(diǎn):
需要有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí),使得應(yīng)用受到一定限制 4.噴泉模型
一種以用戶需求為動(dòng)力,以對(duì)象作為驅(qū)動(dòng)的模型,適合于面向?qū)ο蟮拈_發(fā)方法
克服了瀑布模型不支持軟件重用和多想開發(fā)活動(dòng)集成的局限性 是開發(fā)過程具有迭代性和無間隙性 5.基于知識(shí)的模型
又稱只能模型,它把瀑布模型和專家系統(tǒng)結(jié)合在一起 還處于研究實(shí)驗(yàn)階段,還未達(dá)到實(shí)用階段 6.變換模型
適合于形式化開發(fā)的模型 軟件開發(fā)方法
使用早已定義好的技術(shù)集和符號(hào)表示習(xí)慣來組織軟件生產(chǎn)的過程 1.結(jié)構(gòu)化方法
由結(jié)構(gòu)化分析,結(jié)構(gòu)化設(shè)計(jì)、結(jié)構(gòu)化程序設(shè)計(jì)構(gòu)成,是一種面向數(shù)據(jù)流的開發(fā)方法。簡(jiǎn)單實(shí)用,應(yīng)用較廣,技術(shù)成熟 2.Jackson方法
面向數(shù)據(jù)結(jié)構(gòu)的開發(fā)方法 3.維也納開發(fā)方法(VDM)
一種形式化的開發(fā)方法,軟件需求用嚴(yán)格的形式語言描述,然后把描述模型逐步變換成目標(biāo)系統(tǒng) 4.面向?qū)ο蟮拈_發(fā)方法
90年代主流
基本出發(fā)點(diǎn)是盡可能按照人類認(rèn)識(shí)世界的方法和思維方式來分析和解決問題
包括面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計(jì)、面向?qū)ο髮?shí)現(xiàn)
1997年推出統(tǒng)一建模語言UML,是面向?qū)ο蟮臉?biāo)準(zhǔn)建模語言
1.3.3 軟件開發(fā)工具
1. 軟件工具的重要性
為了支持軟件人員開發(fā)和維護(hù)活動(dòng)而使用的軟件
項(xiàng)目估算工具、需求分析工具、編碼工具、測(cè)試工具、維護(hù)工具等 2. 工具箱
將各種軟件工具簡(jiǎn)單組合起來就構(gòu)成工具箱
工具箱的工具界面不同意,工具內(nèi)部無聯(lián)系,工具切換由人工操作 3. 軟件開發(fā)環(huán)境
工具系統(tǒng)的整體化及集成化,使之形成完整的軟件開發(fā)環(huán)境 使軟件工具支持整個(gè)生存周期 4. 計(jì)算機(jī)輔助軟件工程
新的軟件工具目的是實(shí)現(xiàn)軟件生存周期各個(gè)環(huán)節(jié)的自動(dòng)化,主要用于軟件的分析和設(shè)計(jì),使用這些工具開發(fā)人員可以以對(duì)話的方式建立各種軟件系統(tǒng)
計(jì)算機(jī)輔助軟件工程可以簡(jiǎn)單的定義為軟件開發(fā)的自動(dòng)化,CASE 結(jié)構(gòu)化方法可以用于瀑布模型、增量模型、螺旋模型進(jìn)行開發(fā) Jackson方法可以用于瀑布模型、增量模型 維也納方法只能用于變換模型進(jìn)行開發(fā)
第二章 軟件可行性研究與項(xiàng)目開發(fā)計(jì)劃
2.1 可行性研究
目的是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)去確定該項(xiàng)目是否能夠開發(fā),是否值得開發(fā)
在較高層次上以較抽象的方式進(jìn)行需求分析和設(shè)計(jì)過程 2.1.1 可行性研究的任務(wù)
進(jìn)行概要的分析研究,初步確定項(xiàng)目的規(guī)模和目標(biāo),確定項(xiàng)目的約束和限制,列舉出來。然后進(jìn)行簡(jiǎn)要的需求分析,抽象出項(xiàng)目的邏輯結(jié)構(gòu),建立邏輯模型,從邏輯模型出發(fā)經(jīng)過壓縮的設(shè)計(jì),探索出若干種可供選擇的解決辦法,對(duì)每種解決方法都要研究它的可行性
可以從以下三個(gè)方面分析研究每種解決方法的可行性
1.技術(shù)可行性、技術(shù)可行性一般要考慮的情況包括(1)開發(fā)的風(fēng)險(xiǎn)(2)資源的有效性(3)技術(shù)
(4)開發(fā)人員在評(píng)估技術(shù)可行性時(shí),一旦估計(jì)錯(cuò)誤,將會(huì)出現(xiàn)災(zāi)難性后果
2.經(jīng)濟(jì)可行性
進(jìn)行開發(fā)成本的估算以及了解取得效益的評(píng)估,確定要開發(fā)的項(xiàng)目是否值得投資開發(fā) 3.社會(huì)可行性
要開發(fā)的項(xiàng)目時(shí)候存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項(xiàng)目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行
2.1.2 可行性研究的具體步驟
1.確定項(xiàng)目規(guī)模和目標(biāo)
2.研究正在運(yùn)行的系統(tǒng)
3.建立新系統(tǒng)的高層邏輯模型
使用建立邏輯模型的工具——數(shù)據(jù)流圖和數(shù)據(jù)字典描述數(shù)據(jù)在系統(tǒng)中的流動(dòng)和處理情況。不是需求分析階段,不是完整詳細(xì)的描述,只是概括的描述高層的數(shù)據(jù)處理和流動(dòng)
4.導(dǎo)出和評(píng)價(jià)各種方案
5.推薦可行的方案
6.編寫可行性研究報(bào)告
2.1.3 可行性研究報(bào)告的主要內(nèi)容
1.引言
2.可行性研究前提
3.對(duì)象有系統(tǒng)的分析
4.所建議系統(tǒng)的技術(shù)可行性分析
5.所建議系統(tǒng)的經(jīng)濟(jì)可行性分析
6.社會(huì)因素可行性分析
7.其他可供選擇方案
8.結(jié)論意見 2.2 系統(tǒng)流程圖
1.系統(tǒng)流程圖的作用
用圖形符號(hào)來表示系統(tǒng)中的各個(gè)元素。表達(dá)了系統(tǒng)中各個(gè)元素之間的心理流動(dòng)的情況
2.系統(tǒng)流程圖的符號(hào)
3.系統(tǒng)流程圖的例子
2.3
成本——效益分析
目的是從經(jīng)濟(jì)角度評(píng)價(jià)開發(fā)一個(gè)新的軟件項(xiàng)目是否可行
估算將要開發(fā)的系統(tǒng)的開發(fā)成本,與可能取得的效益進(jìn)行比較和權(quán)衡 效益分有形效益和無形效益 有形效益的分析 1. 貨幣的時(shí)間價(jià)值 2. 投資回收期 3. 純收入 2.4 項(xiàng)目開發(fā)計(jì)劃
1.項(xiàng)目概述
2.實(shí)施計(jì)劃
3.人員組織及分工
4.交付期限
第三章 軟件需求分析
3.1 需求分析的任務(wù)
3.1.1 需求分析的概念
開發(fā)人員要準(zhǔn)確的理解用戶的要求,進(jìn)行細(xì)致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義裝換到相應(yīng)的形式功能規(guī)約(需求規(guī)格說明)的過程 需求分析的難點(diǎn):(1)問題的復(fù)雜性(2)交流障礙
(3)不完備性和不一致性(4)需求易變性
軟件需求分析與說明的方法適用的基本原則:(1)必須能夠表達(dá)和理解問題的數(shù)據(jù)域和功能域
(2)可以把一個(gè)復(fù)雜問題按功能進(jìn)行分解并可逐層細(xì)化(3)建模
結(jié)構(gòu)化分析方法和面向?qū)ο蠓治龇椒ǘ甲裱陨显瓌t
3.1.2 需求分析的基本任務(wù)
要準(zhǔn)確的定義新系統(tǒng)的目標(biāo),為了滿足用戶的需要,回答系統(tǒng)必須“做什么”的問題??尚行匝芯亢蛙浖?jì)劃階段對(duì)這個(gè)問題的回答是概括的、粗略的 本階段主要進(jìn)行以下幾個(gè)方面的工作: 1.問題識(shí)別
雙方確定對(duì)問題的綜合需求,這些需求包括:
(1)功能需求:所開發(fā)的系統(tǒng)必須具備什么樣的功能,這是最重要的(2)性能需求:待開發(fā)的軟件的技術(shù)性能指標(biāo)。存儲(chǔ)容量,運(yùn)行時(shí)間(3)環(huán)境需求:軟件運(yùn)行時(shí)所需要的軟、硬件的要求
(4)用戶界面需求:人機(jī)交互方式、輸入輸出數(shù)據(jù)格式等等
另外還有可靠性、安全性、保密性、可移植性、可維護(hù)性等方面的需求 2.分析與綜合,導(dǎo)出軟件的邏輯模型
對(duì)獲取的需求,進(jìn)行分析檢查,逐步細(xì)化軟件的功能,劃分成各個(gè)子功能,以確定系統(tǒng)的構(gòu)成及主要成分,建立新系統(tǒng)的邏輯模型 3.編寫文檔
(1)編寫“需求規(guī)格說明書”(2)編寫初步用戶使用手冊(cè)(3)編寫確認(rèn)測(cè)試計(jì)劃(4)修改完善軟件開發(fā)計(jì)劃
3.1.3 需求規(guī)格說明書主要內(nèi)容 3.2 結(jié)構(gòu)化分析方法
簡(jiǎn)稱SA,是面向數(shù)據(jù)流進(jìn)行需求分析的方法
3.2.1 自頂向下逐層分解的分析策略
對(duì)一個(gè)復(fù)雜問題分析人員不可能一開始就考慮到問題的所有方面及全部細(xì)節(jié),對(duì)此采取的策略是分解,把一個(gè)復(fù)雜問題劃分成若干小問題,然后分別解決,將問題的復(fù)雜性降低到人可以掌握的程度
分解可分層進(jìn)行,先考慮問題最本質(zhì)的方面,忽略細(xì)節(jié)形成問題的高層概念,然后逐層添加細(xì)節(jié)。頂層抽象的概括整個(gè)系統(tǒng),底層具體畫出系統(tǒng)的每個(gè)細(xì)節(jié),中間層是逐步過渡
這種層次分解使分析人員分析問題時(shí)不至于一下子陷入細(xì)節(jié),而是逐步的去了解更多細(xì)節(jié)
依照這個(gè)策略,對(duì)于任何復(fù)雜的系統(tǒng),分析工作都可以有計(jì)劃、有步驟、有條不紊的進(jìn)行
3.2.2 描述工具
SA方法的描述工具是:
(1)數(shù)據(jù)流圖(2)數(shù)據(jù)字典
(3)描述加工邏輯的結(jié)構(gòu)化語言、判定表、判定樹
數(shù)據(jù)流圖描述系統(tǒng)的分解,及系統(tǒng)由哪幾部分組成,各部分之間的聯(lián)系等等 數(shù)據(jù)字典定義了數(shù)據(jù)流圖中每一個(gè)圖形元素 結(jié)構(gòu)化語言、判定便或判定樹詳細(xì)描述數(shù)據(jù)流圖中不能被再分解的每一個(gè)加工
3.2.3 SA分析步驟
(1)了解當(dāng)前系統(tǒng)的工作流程,獲得當(dāng)前系統(tǒng)的物理模型(2)抽象出當(dāng)前系統(tǒng)的邏輯模型(3)建立目標(biāo)系統(tǒng)的邏輯模型(4)做進(jìn)一步補(bǔ)充和優(yōu)化
3.3 數(shù)據(jù)流圖(DFD)
簡(jiǎn)稱DFD,是SA方法中表示系統(tǒng)邏輯模型的一種工具,只反應(yīng)系統(tǒng)必須完成的邏輯功能,所以是一種功能模型
3.3.1 基本圖形符號(hào)
數(shù)據(jù)流圖有四種基本圖形符號(hào):
(1)數(shù)據(jù)流。是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑,由一組成分固定的數(shù)據(jù)項(xiàng)組成,必須有流向,除了與數(shù)據(jù)存儲(chǔ)之間的數(shù)據(jù)流不用命名,其他用名詞或名詞短語命名
(2)加工(又稱為數(shù)據(jù)處理)。對(duì)數(shù)據(jù)流進(jìn)行某些操作或變換。加工用動(dòng)詞短語命名
(3)數(shù)據(jù)存儲(chǔ)(又稱為文件)。指暫時(shí)保存的數(shù)據(jù),它可以是數(shù)據(jù)庫(kù)文件或任何形式的數(shù)據(jù)組織。流向數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)流可以理解為寫入文件或查詢文件,流出的數(shù)據(jù)可以理解為從文件讀取數(shù)據(jù)或得到查詢結(jié)果
(4)數(shù)據(jù)源點(diǎn)或終點(diǎn):軟件系統(tǒng)外部環(huán)境中的實(shí)體(包括人員、組織或其他軟件系統(tǒng)),統(tǒng)稱為外部實(shí)體
在一張圖上可重復(fù)畫同名的源/終點(diǎn),在方框的右下角加斜線則表示是一個(gè)實(shí)體。有時(shí)數(shù)據(jù)存儲(chǔ)也需重復(fù)標(biāo)識(shí)
3.3.2 畫數(shù)據(jù)流圖的步驟
按問題的層次結(jié)構(gòu)進(jìn)行逐步分解,并以一套分層的數(shù)據(jù)流圖反應(yīng)這種結(jié)構(gòu)關(guān)系
(1)首先畫系統(tǒng)的輸入輸出,即先畫頂層數(shù)據(jù)流圖。
頂層流圖只包含一個(gè)加工,用以表示被開發(fā)的系統(tǒng),然后考慮系統(tǒng)的輸入輸出數(shù)據(jù)。頂層圖的作用在于表明被開發(fā)的系統(tǒng)范圍以及它與周圍化境的數(shù)據(jù)交換關(guān)系
(2)畫系統(tǒng)內(nèi)部,即畫下層數(shù)據(jù)流圖。一般將層號(hào)從0開始編號(hào),采用自頂向下,由外向內(nèi)的原則。一般沿著輸入流的方向,凡數(shù)據(jù)流的組成或值發(fā)生變化的地方則設(shè)置一個(gè)加工,這樣一直進(jìn)行到輸出數(shù)據(jù)流。知道每一個(gè)加工足夠簡(jiǎn)單,不能再分解為止,不能再分解的加工稱為基本加工(3)注意事項(xiàng)
a)命名
b)畫數(shù)據(jù)流而不是控制流
圖中不反應(yīng)加工的執(zhí)行順序 c)一般不畫物質(zhì)流
d)每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流,反映出此加工數(shù)據(jù)的來源與加工的結(jié)果 e)編號(hào)
子圖的編號(hào)就是父圖中相應(yīng)加工的編號(hào),加工的編號(hào)由子圖號(hào),小數(shù)點(diǎn)和局部號(hào)組成 f)父圖與子圖的平衡
子圖的輸入輸出數(shù)據(jù)流同父圖相應(yīng)加工的輸入輸出數(shù)據(jù)流必須一致 保證了數(shù)據(jù)流圖的一致性 g)局部數(shù)據(jù)存儲(chǔ)
h)提高數(shù)據(jù)流圖的易理解性
注意合理分解
為了使數(shù)據(jù)流圖便于在計(jì)算機(jī)上輸入與輸出,以下給出了描述數(shù)據(jù)流圖的另一套基本符號(hào)
3.3.3 實(shí)例——售票管理系統(tǒng)
3.4 數(shù)據(jù)字典(DD)
簡(jiǎn)稱DD,用來定義數(shù)據(jù)流圖中各個(gè)成分的具體含義,它以一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計(jì)及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述 它和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分
3.4.1 數(shù)據(jù)字典的內(nèi)容及格式
數(shù)據(jù)字典是為分析人員查找數(shù)據(jù)流圖中有關(guān)名字的詳細(xì)定義而服務(wù)的,因此也像普通字典一樣,要把所有條目按一定的次序排列起來,以便查閱 數(shù)據(jù)字典有以下四類條目: 數(shù)據(jù)流 數(shù)據(jù)項(xiàng) 數(shù)據(jù)存數(shù) 基本加工
數(shù)據(jù)項(xiàng)是組成數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)的最小元素。源點(diǎn)終點(diǎn)一般不在字典中說明 1.數(shù)據(jù)流條目
數(shù)據(jù)流條目給出了DFD中數(shù)據(jù)流的定義,通常列出數(shù)據(jù)流的各組成數(shù)據(jù)項(xiàng)
在定義數(shù)據(jù)流或數(shù)據(jù)存儲(chǔ)組成時(shí),使用下表給出的符號(hào):
2.數(shù)據(jù)存儲(chǔ)條目
數(shù)據(jù)存儲(chǔ)條目是對(duì)數(shù)據(jù)存儲(chǔ)的定義,主要內(nèi)容舉例如下:
3.數(shù)據(jù)項(xiàng)條目 數(shù)據(jù)項(xiàng)條目是不可再分解的數(shù)據(jù)單位,其定義格式及舉例如下:
4.加工條目
加工條目是用來說明DFD中基本加工的處理邏輯的,由于上層的加工是由下層的基本加工分解而來,只要有了基本加工的說明,就可理解其他加工
加工條目的內(nèi)容及舉例如下:
數(shù)據(jù)字典中的加工邏輯主要描述該加工“做什么”,即實(shí)現(xiàn)加工的策略,而不是實(shí)現(xiàn)加工的細(xì)節(jié),它描述如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則。加工邏輯有幾種常用的描述方法,結(jié)構(gòu)化語言、判定表、判定樹
3.4.2 數(shù)據(jù)字典的實(shí)現(xiàn)
建立數(shù)據(jù)字典一般有兩種形式:
1.手工建立:數(shù)據(jù)字典的內(nèi)容用卡片形式存放
(1)按四類條目規(guī)范的格式印制卡片(2)在卡片上分別填寫各類條目的內(nèi)容
(3)先按圖號(hào)順序排列,同一圖號(hào)的所有條目按數(shù)據(jù)流、數(shù)據(jù)項(xiàng)、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)加工的順序排列(4)同一圖號(hào)中的同一類條目(如數(shù)據(jù)流卡片)可按名字的字典順序存放,加工一般按編號(hào)順序存放
(5)統(tǒng)一成分在父圖和子圖都出現(xiàn)時(shí),則只在父圖上定義(6)建立索引目錄
2.利用計(jì)算機(jī)輔助建立并維護(hù)(1)編制一個(gè)“字典生成與管理程序”,可以按規(guī)定的格式輸入各類條目,能對(duì)字典條目增、刪、改,能打印查詢報(bào)告和清單,能進(jìn)行完整性一致性檢查。美國(guó)密執(zhí)安大學(xué)研究的PSL/PSA就是這樣一個(gè)系統(tǒng)(2)利用已有的數(shù)據(jù)庫(kù)開發(fā)工具,針對(duì)數(shù)據(jù)字典建立一個(gè)數(shù)據(jù)庫(kù)文件,可將數(shù)據(jù)流、數(shù)據(jù)項(xiàng)、數(shù)據(jù)存儲(chǔ)和加工分別以矩陣表的形式來描述各個(gè)表項(xiàng)的內(nèi)容,如數(shù)據(jù)流的矩陣表為:
有的DBMS本身包含一個(gè)數(shù)據(jù)字典子系統(tǒng),建庫(kù)時(shí)能自動(dòng)生成數(shù)據(jù)字典
計(jì)算機(jī)輔助開發(fā)數(shù)據(jù)字典比手工建立數(shù)據(jù)字典有更多的優(yōu)點(diǎn),能保證數(shù)據(jù)的一致性和完整性,使用也方便,但增加了技術(shù)難度與積極開銷
3.5 加工邏輯的描述
加工邏輯也稱為“小說明”,描述加工邏輯一般用一下三種工具:
結(jié)構(gòu)化語言
判定表
判定樹
3.5.1 結(jié)構(gòu)化語言
介于自然語言和形式語言之間的一種半形式語言
結(jié)構(gòu)可分為外層和內(nèi)層兩層:
1.外層:用來描述控制結(jié)構(gòu),采用順序、選擇、重復(fù)三種基本結(jié)構(gòu)
(1)順序結(jié)構(gòu):是一組祈使語句、選擇語句、重復(fù)語句的順序排列(2)選擇結(jié)構(gòu):一般用IF——THEN——ELSE——ENDIF、CASE——OF——ENDCASE等關(guān)鍵詞(3)重復(fù)結(jié)構(gòu):一般用DO——WHILE——ENDDO、REPEAT——UNTIL等關(guān)鍵字
2.內(nèi)層:一般是采用祈使語句的自然語言短語,使用數(shù)據(jù)字典中的名詞和有限的自定義詞,其動(dòng)詞含義要具體,盡量不用形容詞和副詞來修飾。還可使用一些簡(jiǎn)單的算術(shù)運(yùn)算和邏輯運(yùn)算符號(hào)
3.5.2 判定表
在有些情況下,數(shù)據(jù)流圖中的某個(gè)加工的一組動(dòng)作依賴于多個(gè)邏輯條件的取值。這時(shí)用判定表就能夠清楚地表示復(fù)雜的條件組合與應(yīng)作的動(dòng)作之間的對(duì)應(yīng)關(guān)系
判定表由四部分組成,用雙線分隔開四個(gè)區(qū)域:
構(gòu)造一張判定表,可采取以下步驟: 1.提取問題中的條件 2.標(biāo)出條件的取值
3.計(jì)算所有條件的組合數(shù)N 4.提取可能采取的動(dòng)作或措施 5.制作判定表 6.完善判定表
初始的判定表可能不完善,表現(xiàn)在以下幾個(gè)方面:(1)缺少判定列中應(yīng)采取的動(dòng)作
(2)有冗余的判定列:兩個(gè)或多個(gè)規(guī)則中,具有相同的動(dòng)作,而與它所對(duì)應(yīng)的各個(gè)條件組合中有取值無關(guān)的條件
判定表能夠把在什么條件下系統(tǒng)應(yīng)做什么動(dòng)作準(zhǔn)確無誤的表示出來,但不能描述循環(huán)的處理特性,循環(huán)處理還需結(jié)構(gòu)化語言 例子:
3.5.3 判定樹
判定樹是判定表的變形,一般情況下它比判定表更直觀,更易于理解和使用
這三種描述加工邏輯的工具各有優(yōu)缺點(diǎn)
對(duì)于順序執(zhí)行和循環(huán)執(zhí)行的動(dòng)作,用結(jié)構(gòu)化語言描述
對(duì)于存在多個(gè)條件復(fù)雜組合的判斷問題,用判定表和判定樹 判定樹較判定表直觀易讀,判定表進(jìn)行邏輯驗(yàn)證較嚴(yán)格,能把所有的可能性全部都考慮到,可將兩種工具結(jié)合起來,先用判定表做底稿,在此基礎(chǔ)上產(chǎn)生判定樹
經(jīng)過需求分析,開發(fā)人員已經(jīng)基本上理解了用戶的要求,確定了目標(biāo)系統(tǒng)的功能,定義了系統(tǒng)的數(shù)據(jù),描述了處理這些數(shù)據(jù)的基本策略。將這些共同的理解進(jìn)行整理,最后形成文檔——需求說明書
3.6 IDEF方法
IDEF方法是美國(guó)空軍在1981年針對(duì)集成化計(jì)算機(jī)輔助制造工程項(xiàng)目中用于進(jìn)行復(fù)雜系統(tǒng)分析和設(shè)計(jì)的方法。IDEF方法分為三部分:
IDEF0:用來描述系統(tǒng)的功能活動(dòng)及其聯(lián)系,建立系統(tǒng)的功能模型 IDEF1:用來描述系統(tǒng)的信息及其聯(lián)系,建立系統(tǒng)的信息模型 IDEF2:用來進(jìn)行系統(tǒng)模擬,建立系統(tǒng)的動(dòng)態(tài)模型
3.6.1 IDEF0的圖形表示
該方法中,將系統(tǒng)功能稱為活動(dòng),將表示系統(tǒng)功能的圖形稱為活動(dòng)圖形
一個(gè)活動(dòng)可以沒有輸入,但一定要有控制
3.6.2 建立功能模型的基本方法
1.確定建模的范圍、觀點(diǎn)及目的 2.建立系統(tǒng)的內(nèi)外關(guān)系圖——A-0圖 3.建立頂層圖——A0圖 4.建立低層次的圖形
分解時(shí),應(yīng)遵循兩條原則:
首先,保持在同一水平上分解(寬度優(yōu)先),如A1,A2,A3等圖,而不是A1,A11,A111(深度優(yōu)先),可避免較高層次的變化影響較低層次,造成可能的重復(fù)工作,同時(shí)可較早的查出錯(cuò)誤及遺漏
其次,對(duì)于同一水平層次上的各個(gè)方框,選擇難度最大的部分往下分解,其后分解較容易的部分
在IDEF0圖中幾個(gè)活動(dòng)之間無明確的順序和時(shí)間,要注意分解時(shí)箭頭表示的上下層之間的平衡關(guān)系。
3.6.3 IDEF0方法的特點(diǎn)
1.采用方框和箭頭等簡(jiǎn)單的圖形符號(hào)描述系統(tǒng)的活動(dòng)和數(shù)據(jù)流,描述活動(dòng)所受到的約束條件及實(shí)現(xiàn)機(jī)制 IDEF0圖宜作為正式文檔
2.采用嚴(yán)格的自頂向下、逐層分解的方式建立系統(tǒng)功能模型
因此,IDEF0是建立系統(tǒng)功能模型的有效方法。在開發(fā)CIMS——計(jì)算機(jī)集成制造系統(tǒng)的管理信息系統(tǒng)(MIS)過程中,大都采用此方法建立軟件需求分析的功能模型
3.7 結(jié)構(gòu)化分析方法小結(jié)
結(jié)構(gòu)化分析方法是軟件需求分析中公認(rèn)的、有成效的、技術(shù)成熟、使用廣泛的一種方法,它較適合于開發(fā)數(shù)據(jù)處理型軟件的需求分析 SA方法的弱點(diǎn)主要表現(xiàn)在:(1)不適合描述實(shí)時(shí)控制系統(tǒng)(2)
(3)
(4)
(5)為了解決實(shí)時(shí)軟件的需求分析,提出了控制流圖(CFD)的定義,也有用描述系統(tǒng)動(dòng)態(tài)行為的狀態(tài)轉(zhuǎn)換圖(STD)代替CFD SA方法使用DFD在分析與描述“數(shù)據(jù)要求”方面是有局限的
數(shù)據(jù)庫(kù)技術(shù)使許多大型數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)都組織成數(shù)據(jù)庫(kù)的形式,DFD應(yīng)與數(shù)據(jù)庫(kù)技術(shù)中的實(shí)體聯(lián)系圖(ER圖)結(jié)合起來 DFD不適合描述人機(jī)界面系統(tǒng)的需求
對(duì)于一些頻繁的人機(jī)交互的軟件系統(tǒng),SA方法往往對(duì)這一部分用自然語言做補(bǔ)充,對(duì)這類系統(tǒng)可采用其它的分析方法(如面向?qū)ο蠓治龇椒ǎ┎槐阌趯?shí)現(xiàn)自動(dòng)化
SA方法可與形式化方法結(jié)合起來,形式化是軟件自動(dòng)化發(fā)展的基礎(chǔ) 形式化方法典型的有基于模型的Z語言及VDM開發(fā)方法 需求分析的質(zhì)量及效率不夠高 可以借助需求分析工具提高
第二篇:自考軟件工程總結(jié)
何謂科學(xué),何謂工程?(第一章)
科學(xué)是反映自然、社會(huì)、思維的發(fā)展與變化規(guī)律的知識(shí)體系??茖W(xué)(研究)是以發(fā)現(xiàn)為核心的人類活動(dòng),探索事物的本質(zhì)和運(yùn)動(dòng)規(guī)律,追求真理,認(rèn)識(shí)世界,回答“為什么”,體現(xiàn)非物質(zhì)形態(tài)財(cái)富。
工程是與生產(chǎn)、建設(shè)相關(guān),運(yùn)用自然科學(xué)理論和技術(shù)原理得以實(shí)現(xiàn)的活動(dòng)(狹)。以構(gòu)建、運(yùn)行與集成為核心的人類活動(dòng),遵循社會(huì)需求,追求一定條件下的集成與綜合優(yōu)化。
2什么是可移植性(方法)?P347
把一個(gè)程序從一個(gè)硬件或軟件系統(tǒng)環(huán)境移植到另一個(gè)環(huán)境所需的工作量。
3什么是軟件生存周期?p7
軟件生存周期是軟件產(chǎn)品從形成概念,經(jīng)過開發(fā)、使用和維護(hù)直至最后退役的全過程。大致分為如下6個(gè)階段計(jì)算機(jī)系統(tǒng)工程、需求分析、設(shè)計(jì)、編碼、測(cè)試、運(yùn)行和維護(hù)
4.什么是可維護(hù)性p347
定位和修復(fù)程序中一個(gè)錯(cuò)誤所需的工作量。
5文檔功能是記錄軟件-____開發(fā)___活動(dòng)和階段成果,能供人和機(jī)器閱讀,是有永久保存屬性。
6.計(jì)算機(jī)軟件是指與計(jì)算機(jī)系統(tǒng)有關(guān)的程序、規(guī)則、規(guī)程有任何與之有關(guān)的文檔和數(shù)據(jù)。包括機(jī)器可執(zhí)行的程序及有關(guān)數(shù)據(jù);機(jī)器不可執(zhí)行的與軟件開發(fā)、運(yùn)行、維護(hù)、使用和培訓(xùn)有關(guān)的文檔。P1 程序:用程序設(shè)計(jì)語言描述的,計(jì)算機(jī)能夠處理的語言序列。
文檔:一種數(shù)據(jù)媒體及其上所記錄的數(shù)據(jù)。文檔(功能/作用)記錄軟件開發(fā)活動(dòng)和階段成果,能供人和機(jī)器閱讀,具有永久保存屬性。
7軟件開發(fā)包括哪些階段,主要解決什么問題?P19
概念定義,具體包括計(jì)劃和需求分析階段,主要解決做什么的問題。
開發(fā),具體包括設(shè)計(jì),編碼,測(cè)試階段,主要解決怎么做的問題。
使用維護(hù),即運(yùn)行維護(hù)階段,包括些交付、安裝、運(yùn)行、維護(hù)和退役等。
8.軟件概念定義包括那三部分,主要解 決什么問題。P4P1
(英文:Software)是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合。一般來講劃分為系統(tǒng)軟件、支撐軟件和應(yīng)用軟件。
9軟件需求是指用戶對(duì)目標(biāo)系統(tǒng)在功能、行為、性能、設(shè)計(jì)、約束等方面的 期望P48
10.什么是模塊?
模塊指具有一定功能的可以用名字調(diào)用的程序語句集合。
模塊化是指把一個(gè)待開發(fā)的軟件劃分成若干小的簡(jiǎn)單部件,每個(gè)部件稱為一個(gè)模塊,每個(gè)模塊完成一個(gè)相對(duì)獨(dú)立的一個(gè)子功能,所有這些模塊集成起來就可以完成軟件系統(tǒng)的指定功能,滿足問題的要求。P66 模塊化的目的是使程序的結(jié)構(gòu)清晰,易閱讀、易測(cè)試和修改。采用模塊化方法,可以控制復(fù)雜問題的求解規(guī)模,減低問題復(fù)雜度和減少求解成本。
11什么 模塊耦合度,什么是模塊內(nèi)聚度?P68
耦合是一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊彼此之間互相連接(依賴)的緊密程度。
耦合強(qiáng)弱取決于模塊間接口的復(fù)雜程度,進(jìn)入或訪問一個(gè)模塊的點(diǎn),以及通過接口的數(shù)據(jù)。耦合度衡量不同模塊彼此間相互依賴的緊密程度。
內(nèi)聚是一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度。好內(nèi)聚的模塊只做一件事情。內(nèi)聚度衡量同一個(gè)模塊內(nèi)部的各個(gè)元素彼此結(jié)合的緊密程度。
模塊的獨(dú)立性可以由兩項(xiàng)指標(biāo)來衡量:內(nèi)聚度與耦合度。.結(jié)構(gòu)圖最主要的質(zhì)量指標(biāo)是模塊的 內(nèi)聚度和 偶合度。(第五章)
13在設(shè)計(jì)用戶界面(也稱人機(jī)界面)的過程中,幾乎總會(huì)遇到系統(tǒng)響應(yīng)時(shí)間,用戶求助機(jī)制,出錯(cuò)--信息處理和命令交互方式四個(gè)方面的問題。P242
14.什么是系統(tǒng)響應(yīng)時(shí)間?P242
系統(tǒng)響應(yīng)時(shí)間指從用戶執(zhí)行某個(gè)控制動(dòng)作(如按回車鍵或單擊鼠標(biāo))到軟件做出響應(yīng)(期望的輸出或動(dòng)作)的時(shí)間。
15簡(jiǎn)答有哪三類人機(jī)界面設(shè)計(jì)指南(黃金原則)?p243
讓用戶擁有控制權(quán);減少用戶的記憶負(fù)擔(dān);保持界面一致
16.簡(jiǎn)述什么是編碼?第十章P251
編碼就是把軟件設(shè)計(jì)結(jié)果翻譯成用某種程序設(shè)計(jì)語言書寫的程序。
17何謂程序設(shè)計(jì)風(fēng)格或編碼風(fēng)格?P255
程序設(shè)計(jì)風(fēng)格指一個(gè)人編制程序時(shí)所表現(xiàn)出來的特點(diǎn),習(xí)慣邏輯思路等.在程序設(shè)計(jì)中要使程序結(jié)構(gòu)合理、清晰,形成良好的編程習(xí)慣,對(duì)程序的要求不僅是可以在機(jī)器上執(zhí)行,給出正確的結(jié)果,而且要便于程序的調(diào)試和維護(hù),這就要求編寫的程序不僅自己看得懂,而且也要讓別人能看懂。
包括4個(gè)方面:源程序文檔化、數(shù)據(jù)說明、語句結(jié)構(gòu)、和輸入輸出。256
編寫規(guī)則:文檔化、結(jié)構(gòu)化、模塊化、節(jié)簡(jiǎn)化、簡(jiǎn)單化、格式化。
18.為一個(gè)開發(fā)項(xiàng)目選擇程序設(shè)計(jì)語言時(shí),通常會(huì)考慮 項(xiàng)目所屬的領(lǐng)域 ;算法和計(jì)算復(fù)雜性;軟件運(yùn)行環(huán)境;用戶需求中關(guān)于性能方面的要求;數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性,軟件開發(fā)人員的知識(shí)水平因素。P255 19軟件測(cè)試的目標(biāo)是什么?P263PPT 第11章
軟件測(cè)試就是在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤,進(jìn)而改正錯(cuò)誤的過程。發(fā)現(xiàn)和改正錯(cuò)誤越多,交付的軟件就質(zhì)量越高,后期糾錯(cuò)性維護(hù)就越少。測(cè)試是一項(xiàng)很艱苦的工作,也是一項(xiàng)“建設(shè)性”活動(dòng)
測(cè)試目標(biāo)1.期望用最少的時(shí)間和人力找出軟件中潛在的各種錯(cuò)誤和缺陷 2.證明軟件的功能和性能與規(guī)格說明的吻合程度3.為可靠性分析提供依據(jù) 4.通常測(cè)試每一種可能情況是不現(xiàn)實(shí)的5.沒有發(fā)現(xiàn)程序中的錯(cuò)誤,并不能證明軟件沒有錯(cuò)誤
20.基本路徑測(cè)試的基本思想是什么?P273程序環(huán)路復(fù)雜性有什么意義?PPT 第11章
基本思想:根據(jù)軟件詳細(xì)設(shè)計(jì)或代碼中的控制結(jié)構(gòu)流程確定復(fù)雜度,然后以該復(fù)雜度定義執(zhí)行路徑的基本集合,并由此導(dǎo)出一組測(cè)試用。
程序的環(huán)路復(fù)雜性確定程序基本路徑集合中的獨(dú)立路徑條數(shù)。獨(dú)立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。用流圖術(shù)語描述,一條獨(dú)立路徑至少包含一條在其他獨(dú)立路徑中從沒有過的邊的路徑。21簡(jiǎn)析等價(jià)類劃分法?P277PPT 第11章
等價(jià)類劃分法是把程序的輸入數(shù)據(jù)集合按輸入條件劃分成若干個(gè)等價(jià)類,每一個(gè)等價(jià)類相對(duì)于輸入條件表示為一組有效或無效的輸入,然后據(jù)此為每一個(gè)等價(jià)類設(shè)計(jì)一個(gè)測(cè)試用例。
22.簡(jiǎn)述驅(qū)動(dòng)模塊和樁模塊的作用? PPT 第11章
驅(qū)動(dòng)模塊調(diào)用被測(cè)模塊,接收測(cè)試輸入數(shù)據(jù)并把這些數(shù)據(jù)傳送給被測(cè)試的模塊,被測(cè)模塊調(diào)用后,驅(qū)動(dòng)模塊接受被測(cè)模塊的返回?cái)?shù)據(jù)。
樁模塊也叫存根模塊,它代替被測(cè)試的模塊所調(diào)用的模塊。樁模塊使用被它代替的模塊的接口,但內(nèi)部只做少量的數(shù)據(jù)操作,并且把控制和模擬結(jié)果歸還給調(diào)用它的模塊。
23為何要引入驅(qū)動(dòng)模塊和樁模塊? PPT 第11章
驅(qū)動(dòng)模塊和樁模塊是測(cè)試使用的軟件,它們不是軟件的組成部分,但需要一定的開發(fā)費(fèi)用。簡(jiǎn)單的驅(qū)動(dòng)模塊和樁模塊不能完成某些模塊的測(cè)試任務(wù),只能在集成測(cè)試過程中同時(shí)完成對(duì)這些模塊的詳盡測(cè)試。
引用驅(qū)動(dòng)模塊和樁模塊原則有:?jiǎn)卧獪y(cè)試通常與編碼工作結(jié)合起來,通常,模塊本身不是一個(gè)獨(dú)立的程序,因此在測(cè)試模塊中必須為每一個(gè)被測(cè)模塊開發(fā)一個(gè)(引用)驅(qū)動(dòng)模塊和若干個(gè)樁模塊。
24.何謂調(diào)試? PPT 第11章
調(diào)試,又名排錯(cuò),它是根據(jù)測(cè)試出問題的外部現(xiàn)象(又名錯(cuò)誤或外錯(cuò)),分析找出問題的內(nèi)在原因(又名故障或內(nèi)錯(cuò))并加以改正的代碼執(zhí)行與人工活動(dòng)。調(diào)試的任務(wù)就是確定錯(cuò)誤的準(zhǔn)確位置(定位錯(cuò)誤)、分析引發(fā)錯(cuò)誤的原因,最終排除錯(cuò)誤。
黑盒測(cè)試(行為測(cè)試)檢查程序功能是否符合按照規(guī)格說明書的規(guī)定,測(cè)試只在程序界面上進(jìn)行。包括等價(jià)類劃分、邊界值分析、比較測(cè)試、錯(cuò)誤猜測(cè)何因果圖方法。
白盒測(cè)試(結(jié)構(gòu)測(cè)試)檢驗(yàn)程序中的每條邏輯通路能否都按預(yù)定要求正確工作,測(cè)試按照程序內(nèi)部的邏輯進(jìn)行。包括邏輯覆蓋測(cè)試、基本路徑測(cè)試、數(shù)據(jù)流測(cè)試和循環(huán)測(cè)試。
25旅行社把預(yù)定機(jī)票的旅客信息,如姓名、年齡、單位、身份證號(hào)、旅行時(shí)間、目的地等輸入預(yù)定機(jī)票系統(tǒng),系統(tǒng)為旅客安排航班,打印出取票通知單(附有應(yīng)交的賬款)旅客在飛機(jī)起飛前交付票款,系統(tǒng)檢查無誤后,輸出機(jī)票給旅客。
試用結(jié)構(gòu)化分析方法描述系統(tǒng)的邏輯模型(系統(tǒng)的功能需求)并建立相應(yīng)的數(shù)據(jù)字典,要求數(shù)據(jù)字典中至少包括一個(gè)數(shù)據(jù)流、一個(gè)數(shù)據(jù)文件、一個(gè)加工的詳細(xì)的定義。
26.為方便儲(chǔ)戶,某銀行擬開發(fā)計(jì)算機(jī)儲(chǔ)蓄管理系統(tǒng),儲(chǔ)戶填寫的存款單或取款單由銀行柜臺(tái)業(yè)務(wù)員鍵入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名,住址,存款日期,利率等信息,并印出存款單給儲(chǔ)戶;如果是取款,系統(tǒng)進(jìn)行取款處理并印出結(jié)算單給儲(chǔ)戶,請(qǐng)用結(jié)構(gòu)化分析方法描述系統(tǒng)的邏輯模型(系統(tǒng)的功能需求),并建立相應(yīng)的數(shù)據(jù)字典,要求數(shù)據(jù)字典中至少包括一個(gè)數(shù)據(jù)流,一個(gè)文件和一個(gè)加工的詳細(xì)定義。
第三篇:自考軟件工程問答總結(jié)
一.什么是軟件
1.滿足功能要求和性能的指令或計(jì)算機(jī)程序集合;2.處理信息的數(shù)據(jù)結(jié)構(gòu);3.描述程序功能以及程序如何操作和使用所要求的文檔;
二.軟件危機(jī)以及產(chǎn)生軟件危機(jī)的原因
1.軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)迅速普及的趨勢(shì).軟件產(chǎn)品“供不應(yīng)求”.2.軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升.3.軟件開發(fā)人員和用戶之間的信息交流往往很不充分,用戶對(duì)“已完成的”的軟件系統(tǒng)不滿足的現(xiàn)象經(jīng)常發(fā)生.4.軟件產(chǎn)品的質(zhì)量不容易保證.5.軟件產(chǎn)品常常是不可維護(hù)的.6.軟件產(chǎn)品的重用性差,同樣的軟件多次重復(fù)開發(fā).7.軟件通常沒有適當(dāng)?shù)奈臋n資料.產(chǎn)生軟件危機(jī)的原因可歸結(jié)為兩個(gè)重要的方面: 軟件生產(chǎn)本身存在的復(fù)雜性;軟件開發(fā)所使用的方法和技術(shù).三.有哪些軟件工程方法學(xué)及其要素
1.使用最廣泛的軟件工程方法學(xué)是結(jié)構(gòu)化方法學(xué)和面向?qū)ο蟮姆椒▽W(xué).2.要素:方法,工具和過程.四.什么是軟件生存周期 有哪些活動(dòng)
4.1軟件生存周期
一個(gè)軟件從提出開發(fā)要求開始到軟件廢棄不用的整個(gè)過程.4.2 開發(fā)活動(dòng)
可行性分析和項(xiàng)目開發(fā)計(jì)劃,需求分析和定義,軟件設(shè)計(jì)(先后細(xì)分為:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)),編碼,測(cè)試和運(yùn)行維護(hù) 4.3 各活動(dòng)階段主要文檔
4.3.1可行行分析和項(xiàng)目開發(fā)計(jì)劃 可性行研究報(bào)告 項(xiàng)目開發(fā)計(jì)劃
4.3.2需求分析中的文檔 需求規(guī)格說明書 初步用戶使用手冊(cè) 確認(rèn)測(cè)試計(jì)劃
修改完善的軟件開發(fā)計(jì)劃 4.3.3 概要設(shè)計(jì)階段文檔 概要設(shè)計(jì)說明書 數(shù)據(jù)庫(kù)說明書 用戶手冊(cè)
修訂的測(cè)試計(jì)劃(測(cè)試的策略,方法,步驟)4.4.4 詳細(xì)設(shè)計(jì)階段 詳細(xì)設(shè)計(jì)說明書 4.4.5 系統(tǒng)測(cè)試階段 系統(tǒng)測(cè)試計(jì)劃文檔
五.有哪些主要生命周期模型
瀑布模型,原型開發(fā)模型(快速原型模型,演化模型,增量模型),螺旋模型,噴泉模型,基于知識(shí)的模型和變化模型.5.1 瀑布模型
瀑布模型(傳統(tǒng)的軟件周期模型)嚴(yán)格遵循軟件生命周期各階段的固定順序:計(jì)劃,分析,設(shè)計(jì),編程,測(cè)試和維護(hù),上一階段完成后才能進(jìn)入到下一階段,整個(gè)模型就像一個(gè)飛流直下的瀑布 優(yōu)點(diǎn):可強(qiáng)迫開發(fā)人員采用規(guī)范的方法,嚴(yán)格規(guī)定了各階段必須提交的文檔;要求每一階段結(jié)束后,都要進(jìn)行嚴(yán)格的評(píng)審.與它最相適應(yīng)的開發(fā)方法是結(jié)構(gòu)化方法.缺點(diǎn):不適應(yīng)用戶需求的改動(dòng).5.2 原型模型
5.2.1 快速原型模型
快速原型的用途是獲知用戶的真正需求,一旦需求確定了,原型即被拋棄.主要用于需求分析階段.不追求也不可能要求對(duì)需求的嚴(yán)格定義,而是采用了動(dòng)態(tài)定義需求的方法,所以不能定義完善的文檔.特征:簡(jiǎn)化項(xiàng)目管理,盡快建立初步需求,加強(qiáng)用戶參與和決策.具有廣泛技能水平的原型化人員是原型實(shí)施的重要保證.原型化人員應(yīng)該是具有經(jīng)驗(yàn)與才干,訓(xùn)練有素的專業(yè)人員.衡量原型化人員能力的重要標(biāo)準(zhǔn)是他是否能夠從用戶的模糊描述中快速獲取需求.5.2.2 演化模型
在快速原型模型中,原型的用途是獲知用戶的真正需求,一旦需求確定了,原型即被拋棄.而演化模型應(yīng)用于整個(gè)軟件開發(fā)過程,是從初始模型逐步演化為最終軟件產(chǎn)品的漸進(jìn)過程.也就是說,快速原型模型是一種“拋棄式”的原型化方法,而演化模型則是一種“漸進(jìn)式”的原型化方法.5.2.3增量模型
增量模型主要用于設(shè)計(jì)階段,把軟件產(chǎn)品劃分為一系列的增量構(gòu)件,分別進(jìn)行設(shè)計(jì),編程,集成和測(cè)試.新的增量構(gòu)件不得破壞已經(jīng)開發(fā)出來的產(chǎn)品 5.2.4 原型模型小結(jié)
從下面的有關(guān)原型化方法的敘述中,選擇出正確的敘述:(1)快速原型方法是一種企圖克服傳統(tǒng)軟件周期模型缺點(diǎn)的開發(fā)方法.(2)在用戶的數(shù)據(jù)資源沒有得到很好地組織和管理的時(shí)候,應(yīng)該使用原型化方法.(3)在用戶沒有明確地肯定其需求的時(shí)候,應(yīng)該使用原型化方法.(4)在用戶不希望把自己的時(shí)間花在軟件開發(fā)過程中的時(shí)候,應(yīng)該使用原型化方法.(5)使用原型化方法時(shí)應(yīng)該使用第三代編程語言.(6)原型化加強(qiáng)了開發(fā)過程中用戶的參與和決策.(7)原型化方法大致可分為三類:拋棄式,演化式和遞增式.(8)原型化方法大致可分為演化式和遞增式.(9)采用原型化方法時(shí),軟件的開發(fā)成本較高.(10)采用原型化方法時(shí),關(guān)鍵的因素是建立原形的速度,而不是原形運(yùn)行的效率.5.3 螺旋模型
螺旋模型綜合了瀑布模型和原型模型中的演化模型的優(yōu)點(diǎn),還增加了風(fēng)險(xiǎn)分析.螺旋線第一圈的開始點(diǎn)可能是一個(gè)概念項(xiàng)目.從第二圈開始,一個(gè)新產(chǎn)品開發(fā)項(xiàng)目開始了,新產(chǎn)品的演化沿著螺旋線進(jìn)行若干次迭代,一直轉(zhuǎn)到軟件生命期結(jié)束.5.4 噴泉模型
噴泉模型主要用于描述面向?qū)ο蟮拈_發(fā)過程.噴泉一詞體現(xiàn)了面向?qū)ο箝_發(fā)過程的迭代和無間隙特征.六.軟件過程基礎(chǔ)知識(shí) 6.1 軟件過程
軟件過程是指人們用于開發(fā)和維護(hù)軟件及相關(guān)產(chǎn)品的一系列活動(dòng),包括軟件工程過程和軟件管理過程.6.2 評(píng)估工具
軟件過程的評(píng)估,通常采用軟件能力成熟度 模型(Capability Maturity Model,CMM).CMM1.1的5個(gè)等級(jí)(由低級(jí)到高級(jí)): 初始級(jí)
軟件過程是無序的,有時(shí)甚至是混亂的,對(duì)過程幾乎沒有定義,成功取決于個(gè)人努力,管理是反應(yīng)式(消防式)的.可重復(fù)級(jí)
建立了基本的項(xiàng)目管理過程來跟蹤費(fèi)用,進(jìn)度和功能特性.制定了必要的過程紀(jì)律,能重復(fù)早先類似應(yīng)用項(xiàng)目取得的成功.已定義級(jí)
已將軟件管理和工程兩方面的過程文檔化,標(biāo)準(zhǔn)化,并綜合成該組織的標(biāo)準(zhǔn)化軟件過程.所有項(xiàng)目均使用經(jīng)標(biāo)準(zhǔn),裁減的標(biāo)準(zhǔn)軟件過程來開發(fā)和維護(hù)軟件.已管理級(jí)
收集對(duì)軟件過程和產(chǎn)品質(zhì)量的詳細(xì)度量,對(duì)軟件過程和產(chǎn)品都有定量的理解與控制.優(yōu)化級(jí)
加強(qiáng)了定量分析,通過來自過程質(zhì)量反饋和來自新觀念,新技術(shù)的反饋使過程能持續(xù)不斷地改進(jìn).七.軟件工程項(xiàng)目管理基本知識(shí)
軟件項(xiàng)目管理開始于任何技術(shù)活動(dòng)之前,并且貫穿于整個(gè)的軟件生命周期.軟件工程項(xiàng)目管理一般分為時(shí)間管理,成本管理,人力資源管理,風(fēng)險(xiǎn)管理.7.1時(shí)間管理 7.1.1 Gantt圖
是一種簡(jiǎn)單的水平條形圖,它以水平線段表示子任務(wù)的工作階段,線段的起點(diǎn)和終點(diǎn)分別對(duì)應(yīng)著子任務(wù)的起始時(shí)間,線段長(zhǎng)度指示完成該任務(wù)所需要的時(shí)間.甘特圖的優(yōu)點(diǎn):直觀簡(jiǎn)明,易學(xué)易繪,可從圖上清楚地標(biāo)出子任務(wù)間的時(shí)間對(duì)比,但它也有 缺點(diǎn):
(a)不能顯示地描繪各項(xiàng)彼此間的依賴關(guān)系;(b)進(jìn)度計(jì)劃的關(guān)鍵部分不明顯,難以判斷哪些部分應(yīng)當(dāng)是主攻和主控的對(duì)象;(c)計(jì)劃中有潛力的部分以及潛力的大小不明確,往往造成潛力的浪費(fèi).7.1.2 PERT網(wǎng)圖與關(guān)鍵路徑
PERT網(wǎng)圖是一個(gè)由箭頭(標(biāo)識(shí)任務(wù))和結(jié)點(diǎn)(標(biāo)識(shí)事件)組成的有向圖.將網(wǎng)絡(luò)方法用于工作計(jì)劃安排的評(píng)審和檢查.開發(fā)模塊A,B,C模塊的任務(wù)網(wǎng)絡(luò)圖 PERT圖不僅給出了每個(gè)任務(wù)的開始時(shí)間,結(jié)束時(shí)間和完成該任務(wù)所需的時(shí)間,還給出了任務(wù)之間的依賴關(guān)系,即哪些任務(wù)完成后才能開始另一些任務(wù),以及如期完成整個(gè)工程的“關(guān)鍵路徑”.關(guān)鍵路徑(Critical Path)是由一連串的任務(wù)所組成的鏈,距離最大的一條路徑.軟件項(xiàng)目的管理人員應(yīng)該密切注視關(guān)鍵任務(wù)的進(jìn)展情況.如果希望縮短工期,只有往關(guān)鍵任務(wù)中增加資源才會(huì)有效果.7.2成本管理
一種常用的成本估算方法是先估計(jì)完成軟件項(xiàng)目所需的工作量(人月數(shù)),然后根據(jù)每個(gè)人月的代價(jià)(金額)計(jì)算機(jī)軟件的開發(fā)費(fèi)用: 開發(fā)費(fèi)用 = 人月數(shù)×每個(gè)人月的代價(jià)
另一種方法是估計(jì)軟件的規(guī)模(通常指源代碼行數(shù)),然后根據(jù)每行源代碼的平均開發(fā)費(fèi)用(包括分析,設(shè)計(jì),編碼,測(cè)試所花的費(fèi)用),計(jì)算機(jī)軟件的開發(fā)費(fèi)用: 開發(fā)費(fèi)用=源代碼行數(shù)×每行平均費(fèi)用
估算源代碼行數(shù)時(shí),可以請(qǐng)n為有經(jīng)驗(yàn)的專家,每位專家對(duì)軟件給出3各估計(jì)值: ai---最少源代碼行數(shù)(該軟件可能的最小規(guī)模)bi---最大源代碼行數(shù)(該軟件可能的最大規(guī)模)mi---最可能的代碼行數(shù)(該軟件最可能的規(guī)模)然后計(jì)算出每位專家的估算期,n位專家的估算期望值的平均值就是代碼行數(shù)的估算值.7.3 其他管理 人力資源管理 風(fēng)險(xiǎn)管理
風(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)控制.八.模塊化基本知識(shí)
模塊是指執(zhí)行某一特定任務(wù)的數(shù)據(jù)和可執(zhí)行語句程序元素的集合,通常是指可通過名字來訪問的過程,函數(shù),子程序或宏調(diào)用等.模塊化就是將一個(gè)待開發(fā)的軟件劃分成若干個(gè)可完成某一子功能的模塊,每個(gè)模塊可獨(dú)立地開發(fā),測(cè)試,最后組裝成完整的程序.8.1模塊特性 8.1.1 可分解性
如果一種設(shè)計(jì)方法提供了將問題分解成子問題的系統(tǒng)化機(jī)制,它就能降低整個(gè)系統(tǒng)的復(fù)雜性,從而實(shí)現(xiàn)一種有效的模塊化解決方案.8.1.2 可組裝性
如果一種設(shè)計(jì)方法使現(xiàn)存的(可復(fù)用的)設(shè)計(jì)構(gòu)件能被組裝成新系統(tǒng),它就能提供一種不需要一切從頭開始的模塊化解決方案.8.1.3 可理解性
如果一個(gè)模塊可以作為一個(gè)獨(dú)立的單位(不用參考其他模塊)被理解,那么它就易于構(gòu)造和修改.8.1.4 連續(xù)性
如果對(duì)系統(tǒng)需求的微小修改只導(dǎo)致對(duì)單個(gè)模塊,而不是整個(gè)系統(tǒng)的修改,則修改引起副作用就會(huì)被最小化.8.1.5 保護(hù)性
如果模塊內(nèi)部出現(xiàn)異常情況,并且它的影響限制在模塊內(nèi)部,不會(huì)影響其他模塊,則錯(cuò)誤引起的副作用就會(huì)被最小化.8.2 模塊與模塊的耦合性
耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程序的度量.耦合可以分成下列幾種,它們之間的耦合度由高到低排列.8.2.1 內(nèi)容耦合
直接操作或修改另一模塊的數(shù)據(jù),或不通過正常入口轉(zhuǎn)入另一個(gè)模塊.軟件設(shè)計(jì)時(shí)應(yīng)堅(jiān)決禁止內(nèi)容耦合,應(yīng)設(shè)計(jì)成單入口,單出口的模塊,避免病態(tài)連接.8.2.2 公共耦合
多個(gè)模塊引用同一全局?jǐn)?shù)據(jù)區(qū).例如,C語言中的external數(shù)據(jù)類型,磁盤文件等都是全局?jǐn)?shù)據(jù)區(qū).8.2.3 外部耦合
模塊與軟件以外的環(huán)境有關(guān)聯(lián).例如,輸入輸出把一個(gè)模塊與特定的設(shè)備,格式,通信協(xié)議耦合在一起.8.2.4 控制耦合
一模塊明顯把開關(guān)量,名字等信息送入另一模塊,控制另一模塊的功能.8.2.5 標(biāo)記耦合
兩個(gè)模塊之間通過傳遞公共指針或地址相互作用的耦合.8.2.6 數(shù)據(jù)耦合
模塊間通過傳遞數(shù)據(jù)交換信息.8.2.7 非直接耦合(無耦合)模塊間無任何關(guān)系,獨(dú)立工作
原則上講,模塊化設(shè)計(jì)總是希望模塊之間的耦合表現(xiàn)為非直接耦合方式.在以上耦合中,耦合度從高到低,內(nèi)容耦合度最高,非直接耦合度最低.8.3 模塊的內(nèi)聚性
內(nèi)聚是指一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程序,它是信息隱蔽和局部的概念的自然擴(kuò)展.設(shè)計(jì)時(shí)應(yīng)該力求高內(nèi)聚,理想內(nèi)聚的模塊應(yīng)當(dāng)恰好做一件事情.1).偶然內(nèi)聚:一個(gè)模塊的各成分之間毫無關(guān)系.比如:一組語句在程序的多處出現(xiàn),為了節(jié)省內(nèi)存空間,這些語句放在一個(gè)模塊中,該模塊的內(nèi)聚是偶然內(nèi)聚的.2)邏輯內(nèi)聚:把幾種邏輯上相關(guān)的功能組放在同一模塊中.3)瞬時(shí)內(nèi)聚(時(shí)間內(nèi)聚):一個(gè)模塊所包含的任務(wù)必須在同一時(shí)間間隔內(nèi)執(zhí)行,例如初始化模塊.4)過程內(nèi)聚:一個(gè)模塊的處理元素是相關(guān)的,而且必須按特定的次序執(zhí)行.5)通信內(nèi)聚:一個(gè)模塊的所有成分都結(jié)合再同一個(gè)數(shù)據(jù)結(jié)構(gòu)上.6)順序內(nèi)聚:模塊的成分同一個(gè)功能密切相關(guān),且輸出,作為另外一個(gè)成分的輸入.7)功能內(nèi)聚:模塊內(nèi)的所有成分屬于一個(gè)整體,完成單一的功能.在以上的內(nèi)聚中,內(nèi)聚度從低到高,偶然內(nèi)聚度最低,功能內(nèi)聚度最高.模塊的高內(nèi)聚,低耦合的原則稱為模塊獨(dú)立原則,也稱為模塊設(shè)計(jì)的原則.8.4 模塊的深度,寬度,扇出與扇入 深度:表示軟件結(jié)構(gòu)中控制的層數(shù).寬度是軟件結(jié)構(gòu)中同一個(gè)層次上的模塊總數(shù)的最大值 一個(gè)模塊的扇入是指直接調(diào)用該模塊的上級(jí)模塊的個(gè)數(shù).一個(gè)模塊的扇出是指該模塊直接調(diào)用的下級(jí)模塊的個(gè)數(shù).設(shè)計(jì)原則:低扇出 高扇入 8.5 模塊作用域和控制域
軟件設(shè)計(jì)時(shí),模塊的作用域應(yīng)在控制域之內(nèi).8.6 模塊化基礎(chǔ)知識(shí)小結(jié)
通過模塊的合并和分解,降低模塊的耦合度.模塊的扇入應(yīng)盡量大,扇出應(yīng)盡量小.一個(gè)模
塊的扇入是指直接調(diào)用該模塊的上級(jí)模塊的個(gè)數(shù).一個(gè)模塊的扇出是指該模塊直接調(diào)用的下級(jí)模塊的個(gè)數(shù).扇入大表示模塊的重用性高,利用率高.扇出大表示模塊的復(fù)雜度高.所以要高扇入低扇出.要將模塊的作用范圍限制在模塊的控制范圍之內(nèi).降低模塊之間的復(fù)雜性,避免“病態(tài)連接”.九.什么是軟件開發(fā)方法 有哪些主要方法
軟件開發(fā)方法:使用已定義好的技術(shù)集及符號(hào)表示習(xí)慣組織軟件生產(chǎn)的過程.結(jié)構(gòu)化方法,面向?qū)ο蠓椒?JACKSON方法,維也納開發(fā)方法(VDM).9.1 結(jié)構(gòu)化方法學(xué)
結(jié)構(gòu)化方法學(xué)也稱為生命周期方法學(xué)(瀑布模型方法),是一種面向數(shù)據(jù)流的需求分析方法.它的基本思想是自頂向下逐層分解.為了在需求改變時(shí)對(duì)軟件的影響較小,結(jié)構(gòu)化分析時(shí)應(yīng)該使程序結(jié)構(gòu)與問題結(jié)構(gòu)相對(duì)應(yīng).常用工具: 數(shù)據(jù)流圖(DFD),數(shù)據(jù)字典(DD),實(shí)例—關(guān)系圖(E—R圖)及描述加工處理的結(jié)構(gòu)化語言,判定表,判定樹.9.1.1數(shù)據(jù)流圖(DFD圖)DFD的基本成分
數(shù)據(jù)流圖主要由4種成分組成
數(shù)據(jù)流(data flow):由一組固定成分的數(shù)據(jù)組成,表示數(shù)據(jù)的流向.它可以從源,文件流向加工,也可以從加工流向文件和宿,還可以從一個(gè)加工流向另一個(gè)加工.通常每個(gè)數(shù)據(jù)流必須有一個(gè)合適的名字,一方面是為了區(qū)別,另一方面也給人一個(gè)直觀的印象,使人容易理解這個(gè)數(shù)據(jù)流的含義.但流向文件或從文件流出的數(shù)據(jù)流不必命名,因?yàn)檫@種數(shù)據(jù)流的組成部分就是相應(yīng)文件的組成部分.加工(process):描述了輸入數(shù)據(jù)流到輸出數(shù)據(jù)流之間的變換,也就是輸入數(shù)據(jù)流做了什么處理后變成了輸出數(shù)據(jù)流.每個(gè)加工有一個(gè)名字和一個(gè)編號(hào).編號(hào)反映了該加工位于分層DFD的哪個(gè)層次和哪張圖中以及它是哪個(gè)加工分解出來的子加工.文件(file):可以表示數(shù)據(jù)文件,也可以表示一個(gè)數(shù)據(jù)記錄.流向文件的數(shù)據(jù)流表示寫文件,流出文件的數(shù)據(jù)流表示讀文件,雙向箭頭表示對(duì)文件既讀又寫.每個(gè)文件都有一個(gè)文件名.源/宿(source/sink):源是指系統(tǒng)所需數(shù)據(jù)的發(fā)源地,宿(也稱數(shù)據(jù)池)是指系統(tǒng)所產(chǎn)生的數(shù)據(jù)的歸宿地.無論源或宿,均對(duì)應(yīng)于外部實(shí)體,在框內(nèi)應(yīng)加注實(shí)體的名字,在一個(gè)軟件各級(jí)軟件系統(tǒng)中,有些源和宿可以是一個(gè)外部實(shí)體,外部實(shí)體是指存在于軟件系統(tǒng)之外的人員或組織,它指出系統(tǒng)所需數(shù)據(jù)的發(fā)源地和系統(tǒng)所產(chǎn)生數(shù)據(jù)的歸宿地.分層數(shù)據(jù)流圖
一套分層的的數(shù)據(jù)流圖由頂層,底層,和中間層組成.畫分層數(shù)據(jù)流圖基本原則與注意事項(xiàng) a.自外向內(nèi),自頂向下,逐層細(xì)化,完善 求精.b.保持父圖與子圖的平衡.也就是說,父
圖中某加工的輸入數(shù)據(jù)流中的數(shù)據(jù)必須與它的子圖的輸入數(shù)據(jù)流在數(shù)量和名字上相同.c.保持?jǐn)?shù)據(jù)守恒.也就是說,一個(gè)加工所 有輸出數(shù)據(jù)流中的數(shù)據(jù)必須能從該加工的輸入數(shù)據(jù)流中直接獲得,或者是通過該加工能產(chǎn)生的數(shù)據(jù).c.加工細(xì)節(jié)隱藏.根據(jù)抽象原則,在畫父
圖時(shí),只需畫出加工和加工之間的關(guān)系,而不必畫出各個(gè)加工內(nèi)部的細(xì)節(jié).d.簡(jiǎn)化加工間關(guān)系.在數(shù)據(jù)流圖中,加工
間的數(shù)據(jù)流越少,各加工就越相對(duì)獨(dú)立,所以應(yīng)盡量減少加工間輸入輸出數(shù)據(jù)流的數(shù)目.e.均勻分解.應(yīng)該使一個(gè)數(shù)據(jù)流中的各個(gè) 加工分解層次大致相同.f.適當(dāng)?shù)貫閿?shù)據(jù)流,加工,文件,源/宿命
名,名字應(yīng)反映該成分的實(shí)際意義,避免空洞的名字.g.忽略枝節(jié).應(yīng)集中精力于主要的數(shù)據(jù)流, 而暫不考慮一些例外情況,出錯(cuò)處理等枝節(jié)性問題.h.表現(xiàn)的是數(shù)據(jù)流而不是控制流.i.每個(gè)加工必須既有輸入數(shù)據(jù)流,又有輸
出數(shù)據(jù)流.在整套數(shù)據(jù)流圖中,每個(gè)文件必須既有讀文件的數(shù)據(jù)流又有寫文件的數(shù)據(jù)流,但在某一張子圖中可能只有讀沒有寫或者只有寫沒有讀.小結(jié):一個(gè)軟件系統(tǒng),其數(shù)據(jù)流圖往往有多層.如果父圖有N個(gè)加工(Process),則父圖允許有0~N張子圖,但是每張子圖只能對(duì)應(yīng)一張父圖.在一張DFD圖中,任意兩個(gè)加工之間可以有0條或多條名字互不相同的數(shù)據(jù)流;在畫數(shù)據(jù)流圖時(shí),應(yīng)該注意父圖和子圖的平衡,即父圖中某加工的輸入輸出數(shù)據(jù)流必須與其輸入輸出流在數(shù)量和名字上相同.DFD信息流大致可分為兩類:交換流和事務(wù)流.9.1.2 數(shù)據(jù)字典
數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合也就是對(duì) 數(shù)據(jù)流圖中包含的所有元素的定義的集合.組成部分: a.數(shù)據(jù)項(xiàng)條目 b.數(shù)據(jù)流條目 c.文件條目 d.加工條目
加工條目是對(duì)數(shù)據(jù)流圖中每一個(gè)不能再分 解的基本加工的精確說明.對(duì)于加工的描述是數(shù)據(jù)字典的組成內(nèi)容之一,常用的加工描述方法有結(jié)構(gòu)化語言,判定樹和判定表.9.1.3 結(jié)構(gòu)化語言
結(jié)構(gòu)化語言實(shí)際上是一種半形式化語言, 它的結(jié)構(gòu)通??煞譃閮?nèi)外兩層.外層接近于形式化語言,而內(nèi)層近似于自然語言的描述.9.1.4 實(shí)體——關(guān)系圖(E—R圖)實(shí)體——關(guān)系圖(Entity-Relabionship Diagram),簡(jiǎn)稱E-R圖,包含實(shí)體,關(guān)系和屬性等3種基本成分.通常用矩形框代表實(shí)體,并用直線把實(shí)體(或關(guān)系)與其屬性連接起來.E-R圖通常用于數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng).9.2 結(jié)構(gòu)化設(shè)計(jì)
結(jié)構(gòu)化設(shè)計(jì)通??煞譃楦乓O(shè)計(jì)和詳細(xì)設(shè)計(jì),但是主要用于概要設(shè)計(jì)階段.概要設(shè)計(jì)的任務(wù)是確定軟件系統(tǒng)的結(jié)構(gòu),進(jìn)行模塊劃分,確定每個(gè)模塊的功能,接口以及模塊間的調(diào)用關(guān)系.詳細(xì)設(shè)計(jì)的任務(wù)是為每個(gè)模塊設(shè)計(jì)實(shí)現(xiàn)的細(xì)節(jié).9.2.1 概要設(shè)計(jì)
經(jīng)過需求分析階段的工作,系統(tǒng)必須“做什么”已經(jīng)清楚了,概要設(shè)計(jì)的基本目的就是回答“概括地說,系統(tǒng)應(yīng)該如實(shí)現(xiàn) ”這個(gè)問題.概要設(shè)計(jì)的重要任務(wù):
將一個(gè)復(fù)雜的系統(tǒng)按功能化分為模塊,確
定每個(gè)模塊的功能,確定模塊之間的調(diào)用關(guān)系,確定模塊之間的接口(模塊之間傳遞的信息),評(píng)價(jià)模塊的結(jié)構(gòu)質(zhì)量.1.軟件結(jié)構(gòu)圖形工具
結(jié)構(gòu)化設(shè)計(jì)方法(SD)方法采用結(jié)構(gòu)圖(Structure Chart),層次圖和HIPO圖描述軟件結(jié)構(gòu).結(jié)構(gòu)圖的主要成分有模塊,調(diào)用和數(shù)據(jù),結(jié)構(gòu)圖中的模塊用矩形表示,在矩形框內(nèi)可標(biāo)上模塊的名字.模塊間如有箭頭或直線相連,表明它們之間有調(diào)用關(guān)系.層次圖用來描繪軟件的層次結(jié)構(gòu).層次圖中一個(gè)矩形框代表一個(gè)模塊,方框間的連線表示模塊間的調(diào)用關(guān)系.HIPO圖實(shí)際上就是層次圖加輸入/處理/輸出圖.HIPO圖是美國(guó)IBM公司發(fā)明的“層次圖加輸入/處理/輸出圖”,是在層次圖里出了最頂層的方框之外,每個(gè)方框都加了編號(hào).編號(hào)規(guī)則和數(shù)據(jù)流圖的編號(hào)規(guī)則一樣.2.概要設(shè)計(jì)中的信息流
變換流:信息沿著輸入通道進(jìn)入系統(tǒng),然后通過變換中心(也稱主加工)處理,再沿著輸出通道離開系統(tǒng).具有這一特性的信息流稱為變換流.具有變換流型的數(shù)據(jù)流圖可明顯地分成輸入,變換(主加工),輸出三大部分.事務(wù)流:信息流沿著輸入通道到達(dá)一個(gè)事務(wù)中心,事務(wù)中心根據(jù)輸入信息(即事務(wù))的類型在若干個(gè)動(dòng)作序列(稱為活動(dòng)流)中選擇一個(gè)來執(zhí)行,這種信息流稱為事務(wù)流.事務(wù)流有明顯的事務(wù)中心,各活動(dòng)以事務(wù)中心為起點(diǎn)呈輻射狀流出.9.2.2 詳細(xì)設(shè)計(jì)
概要設(shè)計(jì)已經(jīng)確定了每個(gè)模塊的功能和接口,詳細(xì)設(shè)計(jì)的任務(wù)就是為每個(gè)模塊設(shè)計(jì)其實(shí)現(xiàn)的細(xì)節(jié).詳細(xì)設(shè)計(jì)階段的根本目標(biāo)是確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),得出對(duì)目標(biāo)系統(tǒng)的精確描述.1.詳細(xì)設(shè)計(jì)階段的內(nèi)容
為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì).為模塊內(nèi)部的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì).對(duì)數(shù)據(jù)庫(kù)進(jìn)行物理設(shè)計(jì).其他
詳細(xì)設(shè)計(jì)工具主要包括程序流程圖(系統(tǒng)流程圖),盒圖(N-S圖),PAD圖和偽碼(PDL).2.人機(jī)界面設(shè)計(jì)
人機(jī)界面的設(shè)計(jì)質(zhì)量,直接影響用戶對(duì)軟件產(chǎn)品的評(píng)價(jià).界面的美觀,靈活和風(fēng)格都很重要,但人機(jī)界面設(shè)計(jì)中最重要的也是最基本的目標(biāo)是軟件的易操作性.人機(jī)界面設(shè)計(jì)主要包括系統(tǒng)響應(yīng)時(shí)間,用戶幫助設(shè)計(jì),出錯(cuò)信息處理和命令交互設(shè)計(jì)等幾個(gè)方面.9.3 Jackson方法
上面講的結(jié)構(gòu)化設(shè)計(jì)方法是面向數(shù)據(jù)流的,另外還有一種面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法, Jackson方法是最著名的面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法,而不是面向數(shù)據(jù)流的設(shè)計(jì)方法.Jackson方法的基本步驟是:建立系統(tǒng)的數(shù)據(jù)結(jié)構(gòu);以數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ),對(duì)應(yīng)地建立程序結(jié)構(gòu);列出程序中要用到的各種基本操作,再將這些操作分配到程序結(jié)構(gòu)適當(dāng)?shù)哪K中.9.4 面向?qū)ο蠓治龇椒?00A)OTM方法的三個(gè)模型,分別從三個(gè)不同側(cè)面描述了所要開發(fā)的系統(tǒng):功能模型指明了系統(tǒng)應(yīng)該“做什么”;動(dòng)態(tài)模型明確了什么時(shí)候做;對(duì)象模型則定義了做事情的實(shí)體.對(duì)象模型描述了系統(tǒng)中對(duì)象的靜態(tài)結(jié)構(gòu)及對(duì)象間的聯(lián)系,用對(duì)象模型圖來表示.動(dòng)態(tài)模型描述了與時(shí)間和操作次序有關(guān)的系統(tǒng)屬性.動(dòng)態(tài)模型由多張狀態(tài)圖組成.各個(gè)類的狀態(tài)圖通過共享事件組成系統(tǒng)的動(dòng)態(tài)模型.功能模型描述系統(tǒng)內(nèi)數(shù)據(jù)值的變化,它由數(shù)據(jù)流圖組成.數(shù)據(jù)流圖說明數(shù)據(jù)流是如何從外部輸入,經(jīng)過操作和內(nèi)部存儲(chǔ)而得到輸出的.十.軟件工具
軟件工具是指用于輔助軟件開發(fā),運(yùn)行,維護(hù),管理,支持等過程中的活動(dòng)的軟件.通常也稱為CASE(Computer Aided Software Engineering,計(jì)算機(jī)輔助軟件工程)工具.按軟件過程的活動(dòng)分為軟件開發(fā)工具,軟件維護(hù)工具和軟件管理工具等.十一.軟件開發(fā)環(huán)境
集成型開發(fā)環(huán)境通常可由工具集和環(huán)境集成機(jī)制兩部分組成.這種環(huán)境應(yīng)具有開放性和可裁減性.環(huán)境集成機(jī)制主要有數(shù)據(jù)集成機(jī)制,控制集成機(jī)制和界面集成機(jī)制.十二.軟件質(zhì)量管理基礎(chǔ)知識(shí) 12.1 軟件質(zhì)量
ISO/IEC 9126軟件質(zhì)量模型可從軟件功能性,可靠性,可用性,效率,可維護(hù)性,可移植性6個(gè)方面來衡量.(1).功能性
與功能及其指定的性質(zhì)的一組軟件屬性.(2)可靠性
軟件在規(guī)定的一段時(shí)間內(nèi)和規(guī)定的條件下保持其性能水平有關(guān)的一組軟件屬性.也可以稱為在規(guī)定的條件下和規(guī)定的時(shí)間間隔內(nèi),軟件實(shí)現(xiàn)其規(guī)定功能的概率.(3)可用性
與使用的難易程序及規(guī)定或隱含用戶對(duì)使用 方式所做的評(píng)價(jià)有關(guān)的軟件屬性.(4)效率
與在規(guī)定條件的性能水平與所用資源量之間的關(guān)系有關(guān)的一組軟件屬性.(5)可維護(hù)性
與軟件維護(hù)的難易程序有關(guān)的一組軟件屬性.(6)可移植性
軟件可從某一環(huán)境轉(zhuǎn)移到另一環(huán)境的能力有關(guān)的一組屬性.即軟件從一個(gè)計(jì)算機(jī)系統(tǒng)轉(zhuǎn)換到另一個(gè)計(jì)算機(jī)系統(tǒng)運(yùn)行的難易程度是指軟件的可移植性.為了提高可移植性,應(yīng)注意提高軟件的設(shè)備獨(dú)立性.采用表格驅(qū)動(dòng)程序有助于提高設(shè)備獨(dú)立性.為了提高可移植性,還應(yīng)有完備的文檔資料.使用C語言開發(fā)的系統(tǒng)軟件具有較好的可移植性.12.2 軟件質(zhì)量保證
軟件質(zhì)量保證的主要困難表現(xiàn)在以下幾個(gè)方面: 1)軟件開發(fā)的管理人員往往關(guān)心項(xiàng)目開發(fā)的成本與進(jìn)度.因?yàn)槌杀竞瓦M(jìn)度是顯而易見的,而軟件質(zhì)量則難以度量.如果軟件開發(fā)的管理人員對(duì)交付的軟件含有多少隱患并不必負(fù)什么責(zé)任,他們必定沒有太高的熱情去控制開發(fā)的質(zhì)量,更不必說保證質(zhì)量并不容易且代價(jià)昂貴.開發(fā)人員的習(xí)慣一旦形成難以改變,他們的形為也難于控制,而高質(zhì)量的軟件產(chǎn)品,又主要取決于參與開發(fā)的人員.復(fù)雜的軟件項(xiàng)目需要許多技術(shù)人員和管理人員參與,對(duì)問題的不同認(rèn)識(shí)和誤解如不能及時(shí)消除必然影響軟件質(zhì)量.軟件開發(fā)人員的頻繁流動(dòng),特別是骨干開發(fā)人員的流失,也會(huì)使軟件質(zhì)量受到一定的影響.軟件質(zhì)量的保證手段: 開發(fā)初期制定質(zhì)量保證計(jì)劃,并在開發(fā)中堅(jiān)持實(shí)行.開發(fā)前選定或制定開發(fā)標(biāo)準(zhǔn)或開發(fā)規(guī)范,并遵照實(shí)施.從開始就選擇分析設(shè)計(jì)方法和工具,形成高質(zhì)量的分析模型和設(shè)計(jì)模型.嚴(yán)格執(zhí)行階段評(píng)審,以便及時(shí)發(fā)現(xiàn)問題.各個(gè)開發(fā)階段的測(cè)試.對(duì)軟件的每次“變動(dòng)”都要經(jīng)過申請(qǐng),評(píng)估,批準(zhǔn),實(shí)施等步驟.軟件質(zhì)量特性的度量化.軟件生存期的各階段都要完整的文檔.12.3 代碼評(píng)審技術(shù)
常用方法有代碼走查和代碼審查技術(shù).代碼走查
程序員和測(cè)試員組成審查小組,通過邏輯運(yùn)行程序.第一步:小組成員提前閱讀設(shè)計(jì)規(guī)格書,程序文本等相關(guān)文檔;第二步:利用測(cè)試用例,使程序邏輯運(yùn)行,記錄程序的蹤跡,發(fā)現(xiàn),討論,解決問題 代碼審查
程序員和測(cè)試員組成審查小組.第一步:小組成員提前閱讀設(shè)計(jì)規(guī)格書,程 序文本等相關(guān)文檔;第二步:召開程序?qū)彶闀?huì),開發(fā)人員讀程序,審查小組討論,發(fā)現(xiàn),解決問題.兩者的區(qū)別
代碼審查是一種正式的評(píng)審活動(dòng),而代碼走 查的討論過程是非正式的.十三.成本-效益分析可用哪些指標(biāo)進(jìn)行度量
投資回收率:通常把建立系統(tǒng)若干年后所取得的收益折算成現(xiàn)在的價(jià)值和開發(fā)系統(tǒng)所需的費(fèi)用進(jìn)行比較得出投資回收率.投資回收期:就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時(shí)間.純收入:整個(gè)軟件生命周期之內(nèi)的累計(jì)經(jīng)濟(jì)效益(折成現(xiàn)在值)與投資之差.十四.第四代語言(4GL)的主要特征
友好的用戶界面
兼有過程性和非過程性兩種特性 高校的程序代碼 完備的數(shù)據(jù)庫(kù) 應(yīng)用程序生成器
十五.軟件測(cè)試
軟件測(cè)試的費(fèi)用已經(jīng)超過軟件開發(fā)費(fèi)用的30%左右.“高產(chǎn)”測(cè)試是指用少量的測(cè)試用例,發(fā)現(xiàn)被測(cè)試程序盡可能多的錯(cuò)誤.15.1 軟件測(cè)試經(jīng)過的步驟
單元測(cè)試->集成測(cè)試->確認(rèn)測(cè)試->系統(tǒng)測(cè)試 15.2 測(cè)試與軟件開發(fā)各階段的關(guān)系
單元測(cè)試對(duì)程序中每一個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)模塊是否爭(zhēng)取實(shí)現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯(cuò)誤,該階段涉及編碼和詳細(xì)設(shè)計(jì)文檔.集成測(cè)試是為了檢查與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的有關(guān)問題,也就是檢查概要設(shè)計(jì)是否合理有效.確認(rèn)測(cè)試主要是檢查已實(shí)現(xiàn)的軟件是否滿足需求規(guī)格說明書中已確定了的各種需求.系統(tǒng)測(cè)試是把已確認(rèn)的軟件與其他系統(tǒng)元素(如硬件,其他支持軟件,數(shù)據(jù),人工等)結(jié)合在一起進(jìn)行測(cè)試,以確定軟件是否可以支付使用.15.3 白盒測(cè)試
白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試.可以把程序看成裝在一個(gè)透明盒子里,測(cè)試者(一般為編程者)完全知道程序的結(jié)構(gòu)和處理算法.按照程序內(nèi)部邏輯設(shè)計(jì)測(cè)試用例,檢測(cè)程序中的主要執(zhí)行通路是否能按預(yù)定要求正常工作.白盒測(cè)試多用于單元測(cè)試階段.邏輯覆蓋是主要的白盒測(cè)試技術(shù).白盒測(cè)試時(shí),確定測(cè)試數(shù)據(jù)應(yīng)根據(jù)程序的內(nèi)部邏輯和指定的覆蓋方式.采用一下幾種邏輯覆蓋標(biāo)準(zhǔn): 語句覆蓋 判定覆蓋 條件覆蓋
判定/條件覆蓋 條件組合覆蓋 路徑覆蓋
滿足條件組合覆蓋測(cè)試用例,也一定滿足判定條件覆蓋.因此,條件組合覆蓋是上述五種覆蓋標(biāo)準(zhǔn)中最強(qiáng)的一種.15.4 黑盒測(cè)試
黑盒測(cè)試,又稱為功能測(cè)試.把軟件看做是一個(gè)不透明的黑盒子,完全不考慮(或不了解)軟件內(nèi)部結(jié)構(gòu)和處理算法,它只檢測(cè)軟件功能是否能按照軟件需求說明書的要求正常使用,軟件是否能適當(dāng)?shù)慕邮茌斎霐?shù)據(jù)并產(chǎn)生正確的輸出信息,軟件運(yùn)行過程中能否保持外部信息(例如文件和數(shù)據(jù)庫(kù))的完整性等.常用的黑盒測(cè)試技術(shù)包括等價(jià)類劃分,邊值分析,錯(cuò)誤推測(cè)和因果圖等.其中等價(jià)類劃分和邊界值分析法方法最常用.如果兩者結(jié)合使用,更有可能發(fā)現(xiàn)軟件中的錯(cuò)誤.15.4灰盒測(cè)試
灰盒測(cè)試介于白盒測(cè)試和黑盒測(cè)試之間,它把軟件看做是一個(gè)半透明的灰盒子,結(jié)合考慮軟件的內(nèi)部結(jié)構(gòu)和外部功能設(shè)計(jì)測(cè)試用例 15.5 回歸測(cè)試
糾正了程序中的錯(cuò)誤之后,選擇部分或全部原先已測(cè)試過的測(cè)試用例,對(duì)修改后程序重新測(cè)試以驗(yàn)證對(duì)軟件修改后有沒有引出新的錯(cuò)誤,稱為回歸測(cè)試.15.6 單元測(cè)試
單元測(cè)試(Unit testing)也稱為模塊測(cè)試或結(jié)構(gòu)測(cè)試,通??煞旁诰幊屉A段(實(shí)現(xiàn)階段),主要采用邏輯覆蓋技術(shù),由程序員對(duì)自己編寫的模塊自行測(cè)試,檢查模塊是否能實(shí)現(xiàn)了詳細(xì)設(shè)計(jì)說明書中規(guī)定的功能和算法.單元測(cè)試主要發(fā)現(xiàn)編程和詳細(xì)設(shè)計(jì)中產(chǎn)生的錯(cuò)誤.測(cè)試一個(gè)模塊時(shí)需要為該模塊編寫一個(gè)驅(qū)動(dòng)模塊和若干個(gè)樁(stub)模塊.頂層模塊測(cè)試時(shí)不需要驅(qū)動(dòng)模塊,底層模塊測(cè)試時(shí)不需要樁模塊.在進(jìn)行單元測(cè)試時(shí),常用的方法是白盒測(cè)試(采用邏輯覆蓋的測(cè)試技術(shù)),輔之以黑盒測(cè)試.15.7集成測(cè)試
集成測(cè)試(integration testing)也稱為組裝測(cè)試,在單元測(cè)試的基礎(chǔ)之上,把所有的模塊組裝成一個(gè)系統(tǒng)進(jìn)行測(cè)試.主要測(cè)試設(shè)計(jì)階段產(chǎn)生的錯(cuò)誤,集成測(cè)試計(jì)劃應(yīng)該在概要設(shè)計(jì)階段制定.非漸增式集成測(cè)試
首先將每個(gè)模塊分別進(jìn)行單元測(cè)試,再把所有的模塊組裝成一個(gè)完整的系統(tǒng)進(jìn)行測(cè)試.目前在進(jìn)行集成測(cè)試時(shí)已普遍采用漸增式集成.漸增式集成測(cè)試
又可以分為自頂向下集成和自底向上集成.自頂向下集成先測(cè)試上層模塊,再測(cè)試下層模塊,由于測(cè)試下層模塊時(shí)上層模塊已經(jīng)測(cè)試過,所以不必要另外編寫驅(qū)動(dòng)模塊.自底向上集成,先測(cè)試下層模塊,再測(cè)試上層模塊.頂層模塊測(cè)試時(shí)不需要驅(qū)動(dòng)模塊,底層模塊測(cè)試時(shí)不需要樁模塊.軟件的集成測(cè)試最好由不屬于該軟件開發(fā)組的軟件設(shè)計(jì)人員承擔(dān),以提高集成測(cè)試的效果.三明治測(cè)試
從系統(tǒng)的三個(gè)角往中間包圍測(cè)試的方法.15.8 確認(rèn)測(cè)試
在系統(tǒng)驗(yàn)收測(cè)試中,驗(yàn)證測(cè)試是在模擬的環(huán)境中進(jìn)行強(qiáng)度測(cè)試的基礎(chǔ)上進(jìn)行,主要依據(jù)軟件需求說明書檢測(cè)軟件的功能,性能及其他特征是否與用戶的要求一致,而確認(rèn)測(cè)試是在一個(gè)實(shí)際環(huán)境中使用真實(shí)數(shù)據(jù)運(yùn)行系統(tǒng).確認(rèn)測(cè)試計(jì)劃應(yīng)該在需求分析階段制定.α測(cè)試
由用戶在開發(fā)者的場(chǎng)所進(jìn)行,并且在開發(fā)者的指導(dǎo)下進(jìn)行測(cè)試.開發(fā)者負(fù)責(zé)紀(jì)錄發(fā)現(xiàn)的錯(cuò)誤和使用中遇到的問題,也就是說α測(cè)試是在受控的環(huán)境中進(jìn)行的.β測(cè)試是在一個(gè)或多個(gè)用戶的現(xiàn)場(chǎng)由該軟件的最終用戶實(shí)施的,開發(fā)者通常不在現(xiàn)場(chǎng),用戶負(fù)責(zé)記錄發(fā)現(xiàn)的錯(cuò)誤和使用中遇到的問題并把這些問題報(bào)告給開發(fā)者.也就是說,β測(cè)試是在受控的環(huán)境中進(jìn)行的.經(jīng)過確認(rèn)測(cè)試之后的軟件通常就可以交付使用了.15.9 系統(tǒng)測(cè)試
系統(tǒng)測(cè)試是將已經(jīng)確認(rèn)的軟件,計(jì)算機(jī)硬件,外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測(cè)試和確認(rèn)測(cè)試,其目的是通過與系統(tǒng)的需求相比較,發(fā)現(xiàn)所開發(fā)的系統(tǒng)與用戶需求不符或矛盾的地方.包括以下的測(cè)試: 恢復(fù)測(cè)試:監(jiān)測(cè)系統(tǒng)的容錯(cuò)能力
安全性測(cè)試:監(jiān)測(cè)系統(tǒng)的安全機(jī)制,保密措施是否完善等防范能力.強(qiáng)度測(cè)試:測(cè)試軟件的異常情況的處理能力.性能測(cè)試:監(jiān)測(cè)系統(tǒng)是否滿足系統(tǒng)設(shè)計(jì)方案說明書對(duì)性能的要求.可靠性測(cè)試:從平均失效間隔是否超過了規(guī)定的時(shí)限,因故障而停機(jī)的時(shí)間在一年中不應(yīng)超過的時(shí)間來進(jìn)行檢測(cè).安裝測(cè)試:監(jiān)測(cè)軟件在安裝過程中是否有錯(cuò)誤,是否容易操作等.系統(tǒng)測(cè)試計(jì)劃在系統(tǒng)測(cè)試階段初期制定.十六.軟件工程標(biāo)準(zhǔn)和軟件文檔
GB/T8566-2001,GB/T12504-1990,GB/T12505-1990是我國(guó)現(xiàn)階段最重要的三個(gè)軟件開發(fā)規(guī)范標(biāo)準(zhǔn).國(guó)家標(biāo)準(zhǔn)局1988年1月批準(zhǔn)并發(fā)布的《GB/T8567-1988計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南》規(guī)定在一項(xiàng)軟件開發(fā)過程中應(yīng)該產(chǎn)生14中文件 可行性研究報(bào)告 項(xiàng)目開發(fā)計(jì)劃 軟件需求說明書 數(shù)據(jù)要求說明書 概要設(shè)計(jì)說明書 詳細(xì)設(shè)計(jì)說明書 數(shù)據(jù)庫(kù)設(shè)計(jì)說明書 用戶手冊(cè) 操作手冊(cè) 模塊開發(fā)卷宗 測(cè)試計(jì)劃 測(cè)試分析報(bào)告 開發(fā)進(jìn)度月報(bào) 項(xiàng)目開發(fā)總結(jié)報(bào)告
軟件運(yùn)行和維護(hù)基礎(chǔ)知識(shí)
管理人員主要使用:項(xiàng)目開發(fā)計(jì)劃,可行性研究報(bào)告,模塊開發(fā)卷宗,開發(fā)進(jìn)度月報(bào),項(xiàng)目開發(fā)總結(jié)報(bào)告.開發(fā)人員:項(xiàng)目開發(fā)計(jì)劃,可行性研究報(bào)告,軟件需求說明書,數(shù)據(jù)要求說明書,數(shù)據(jù)庫(kù)設(shè)計(jì)說明書,概要設(shè)計(jì)說明書,詳細(xì)設(shè)計(jì)說明書,測(cè)試計(jì)劃,測(cè)試分析報(bào)告.維護(hù)人員:概要設(shè)計(jì)說明書,詳細(xì)設(shè)計(jì)說明書,數(shù)據(jù)庫(kù)設(shè)計(jì)說明書,模塊開發(fā)卷宗,測(cè)試分析報(bào)告,維護(hù)報(bào)告.用戶:用戶手冊(cè),操作手冊(cè).十七.軟件維護(hù)
用于軟件維護(hù)的花費(fèi)約為整個(gè)軟件生命周期花費(fèi)的75%(或60%~80%之間)而且還在逐年上升.17.1 軟件維護(hù)類型
根據(jù)引起軟件維護(hù)的原因,軟件維護(hù)可分為以下四種類型(1)改正性維護(hù)
使用過程中發(fā)現(xiàn)了隱蔽的錯(cuò)誤后,為了診斷和改正這些隱蔽錯(cuò)誤而修改軟件的活動(dòng)(2)適應(yīng)性維護(hù)
為了適應(yīng)環(huán)境的變化而修改軟件的活動(dòng)(3)完善性維護(hù)
為了擴(kuò)充或完善原有軟件的功能或性能而修改軟件的活動(dòng).(4)預(yù)防性維護(hù)
預(yù)防性維護(hù)是指為了提高軟件的可維護(hù)性和可靠性,為未來的進(jìn)一步改進(jìn)打下基礎(chǔ)而修改軟件的活動(dòng).17.2 軟件的可維護(hù)性 通常影響軟件可維護(hù)性的因素有可理解性,可測(cè)試性和可修改性.(1)可理解性
可理解性是指維護(hù)人員理解軟件的結(jié)構(gòu),接口,功能和內(nèi)部過程的難易程度.采用良好的編程風(fēng)格有助于提高軟件的易理解性.(2)可測(cè)試性
可測(cè)試性是指測(cè)試和診斷軟件錯(cuò)誤的難易程度.(3)可修改性
可修改性是指修改軟件的難易程度.怎樣提高軟件的可維護(hù)性
在軟件生命周期的各個(gè)階段都必須充分考慮維護(hù)問題.結(jié)構(gòu)化設(shè)計(jì)的幾條主要原則,如模塊化,信息隱藏,高內(nèi)聚,低耦合等,對(duì)于提高軟件的可理解性,可測(cè)試性和可修改性也都有重要的作用.書寫詳細(xì)正確的文檔,書寫源文件的內(nèi)部注解,使用良好的編程語言,具有良好的程序設(shè)計(jì)風(fēng)格,也有助于提高軟件的可理解性.使用先進(jìn)的測(cè)試工具,保存以前的測(cè)試過程和測(cè)試用例,則有助于提高軟件的可測(cè)試性.十八.軟件的可靠性
在給定的時(shí)間內(nèi),在給定的環(huán)境條件下系統(tǒng)完成所指定工作的概率.衡量的標(biāo)準(zhǔn)是:平均失效等待時(shí)間MTTF 和平均失效間隔時(shí)間MTBF.
第四篇:自考法學(xué)概論筆記總結(jié)
法學(xué)概論名詞解釋
一、名詞解釋:
1.[我國(guó)憲法規(guī)定的公民的]政治權(quán)利和自由 :就是公民管理國(guó)家、參加國(guó)家政治生活的權(quán)利和自由。
2.行政復(fù)議:是指公民、法人、或者其他組織認(rèn)為行政機(jī)關(guān)的具體行為侵犯其合法權(quán)益,按照法定的程序和條件向作出該具體行政行為的上一級(jí)行政機(jī)關(guān)提出申請(qǐng),由受理申請(qǐng)的行政機(jī)關(guān)對(duì)具體行政行為依法進(jìn)行審查并作出處理決定的活動(dòng)。
3、票據(jù)法律關(guān)系是指票據(jù)當(dāng)事人在票據(jù)的簽發(fā)和流通、轉(zhuǎn)讓等過程中,依照有關(guān)規(guī)定所形成的權(quán)利義務(wù)關(guān)系。4.外交特權(quán)與豁免 :依照國(guó)際法和國(guó)際慣捕或判刑的人,根據(jù)有關(guān)國(guó)家的請(qǐng)求,移交給請(qǐng)求國(guó)審判或處罰。
26、國(guó)際經(jīng)濟(jì)法:是一個(gè)新興的法律部門,它是調(diào)整國(guó)際關(guān)系的法律原則和規(guī)范的總稱。
27、要約:即是一方向?qū)Ψ教嶙h訂約,并提出合同的主要條款,以供對(duì)方考慮是否同意簽訂合同。
28承諾:即對(duì)于一方的要約,他方表示同意接受提出的各項(xiàng)條款和成立合同關(guān)系。
29、證據(jù):根據(jù)刑事訴訟法的規(guī)定,凡能證明案件真實(shí)情況的一切事實(shí),都是證據(jù)。30、沖突規(guī)范:又稱法律適用規(guī)范,或法選擇規(guī)范,是指明各種涉外民事關(guān)系應(yīng)適用的法律的規(guī)范。填空、會(huì)經(jīng)濟(jì)制度。(√)
3.宣告失蹤即引起被宣告人權(quán)利能力的消滅。(×)
4.財(cái)產(chǎn)所有權(quán)是一種絕對(duì)權(quán)。(√)5.人民法院審理民事案件時(shí),只要當(dāng)事人拒絕就不能進(jìn)行公開宣判。(×)1.違反社會(huì)主義道德的行為,并非都是違法行為。√2.所有刑事犯罪分子都沒有選舉權(quán)和被選舉權(quán),3.男女雙方只要進(jìn)行媚姻登記,領(lǐng)取了結(jié)婚證,媚姻關(guān)系就正式成立。(√)4.對(duì)已經(jīng)生效的判決和裁定,當(dāng)享人可以申請(qǐng)?jiān)賹彙!?.國(guó)務(wù)院是最高國(guó)
家權(quán)力機(jī)關(guān)。
6.法定代表人就是法人。例,外交代表機(jī)關(guān)和外交代表在他國(guó)執(zhí)行職行時(shí),在互惠的前提下,享有駐在國(guó)給予的特殊權(quán)利和待遇,并免受駐在國(guó)的管轄。這些統(tǒng)稱為外交特權(quán)和豁免權(quán)。5.國(guó)家的內(nèi)部構(gòu)成形式,即國(guó)家整體與部分之間、中央與地方之間的相互關(guān)系。6.一個(gè)人犯了數(shù)罪,人民法院對(duì)其所犯各罪分別定罪量刑后,依法確定應(yīng)當(dāng)執(zhí)行的刑罰。7.公民或法人為設(shè)立、變更、終止民事權(quán)利義務(wù)關(guān)系而實(shí)施的合法行為。8.所有人依法對(duì)自己的財(cái)產(chǎn)享有占有、使用、收益和處分的權(quán)利。
9.人民法院為使將來的判決得到執(zhí)行,對(duì)與案件有關(guān)的財(cái)產(chǎn)所采取的強(qiáng)制性的保全措施。
10.法的體系:即一國(guó)現(xiàn)行法規(guī)范的內(nèi)部結(jié)構(gòu),一國(guó)現(xiàn)行的規(guī)范總是分成不同部門的一個(gè)統(tǒng)一的、有機(jī)聯(lián)系的整體系統(tǒng)。11.無記名投票:就是在選票上不以任何方式標(biāo)明投票人姓名的一種投票制度。12.民法:民法是調(diào)整平等主體之間的財(cái)產(chǎn)關(guān)系和人身關(guān)系的法律規(guī)范的總稱。13.離婚:離婚是夫妻雙方依照法律規(guī)定程序解除婚姻關(guān)系的行為。
14.經(jīng)濟(jì)合同法:是調(diào)整法人之間或法人與其他經(jīng)濟(jì)實(shí)體之間經(jīng)濟(jì)合同關(guān)系的法律規(guī)范的總稱。
15.民事管轄:是指人民法院之間受理第一審民事案件的具體分工和職權(quán)范圍。16.罰金:是人民法院叛處犯罪分子向國(guó)家繳納一定數(shù)額金錢的刑罰方法。
17.國(guó)家公務(wù)員:即國(guó)家行政工作人員,是指依照法律規(guī)定,通過選任或考核程序擔(dān)任一定的國(guó)家行政職務(wù),行使國(guó)家權(quán)力、執(zhí)行國(guó)家公務(wù)的人員。
18、法的淵源:即法的外部表現(xiàn)形式。
19、人民代表大會(huì)制度是以民主集中制為原則,由人民選舉代表組成各級(jí)人民代表大會(huì),并以人民代表大會(huì)為基礎(chǔ),建立全部國(guó)家機(jī)構(gòu),來行使國(guó)家權(quán)力,實(shí)現(xiàn)人民當(dāng)家作主的制度。
20、法的實(shí)現(xiàn):指法律規(guī)范的要求在實(shí)際生活中的體現(xiàn),即法律規(guī)范的要求轉(zhuǎn)化成了人們的行為,權(quán)利被享受了,義務(wù)被履行了,禁令被遵守了。
21、中央軍事委員會(huì):是中國(guó)共產(chǎn)黨和中華人民共和國(guó)的最高軍事領(lǐng)導(dǎo)機(jī)關(guān),領(lǐng)導(dǎo)全國(guó)武裝力量。由軍委主席、副主席、委員若干人組成。每屆任期5年。實(shí)行中央軍委主席工作負(fù)責(zé)制
22、合同:又叫契約,是當(dāng)事人之間設(shè)立、變更、終止民事關(guān)系的協(xié)議。
23、遺贈(zèng):是指公民以遺囑形式表示在本人死后,將其財(cái)產(chǎn)的一部或全部贈(zèng)送給國(guó)家、集體組織、社會(huì)團(tuán)體或其他人的法律行為。
24、當(dāng)事人:是指因民事法律關(guān)系發(fā)生爭(zhēng)議,為保護(hù)自己的民事權(quán)益,而以自己的名義進(jìn)行訴訟并受人民法院的裁判所拘束的人
25、引渡:是指一目把在其境內(nèi)而被他國(guó)追
1.從邏輯結(jié)構(gòu)上說,任何一個(gè)法律規(guī)范都由適用條件、行為準(zhǔn)則和法律后果這三個(gè)部分組成。2.我國(guó)社會(huì)主義法律關(guān)系的客體一般認(rèn)為包括:物、非物質(zhì)財(cái)富和行為。3.民族平等是我國(guó)解決民族問題和處理民族關(guān)系的基本原則。4.我國(guó)公民的政治權(quán)利和自由包括選舉權(quán)和被選舉權(quán),以及言論、出版集會(huì)、結(jié)社、游行、示威等自由。5.行政制裁措施包括行政處分、行政處罰。6.我國(guó)民法通則規(guī)定一般訴訟時(shí)效時(shí)間為二年。7.根據(jù)我國(guó)民事訴訟法的規(guī)定,對(duì)妨害民事訴訟的強(qiáng)制措施包括:拘傳、訓(xùn)誡、責(zé)令退出法庭、罰款、拘留。8.在行政訴訟法中,主要由被告一方負(fù)舉證責(zé)任。1.國(guó)家結(jié)構(gòu)形式一般分為_單—制__和_聯(lián)邦制_兩種。2.全國(guó)人民代表大會(huì)每屆任期_五_年,每年舉行__一_次會(huì)議。3.民事主體制度、所有權(quán)制度和合同制度是民法的三大制度。
4.工業(yè)產(chǎn)權(quán)包括_專利權(quán)和商標(biāo)權(quán)5.我國(guó)刑罰的主刑種類有拘役、管制、有期徒刑、無期徒刑、死刑。
6.國(guó)家領(lǐng)土由領(lǐng)陸、領(lǐng)水、領(lǐng)空、底上 四部分構(gòu)成。
1.法律規(guī)范在邏輯上總是由三個(gè)因素構(gòu)成,即_.假定、處理和制裁。
2.實(shí)現(xiàn)社會(huì)主義法治的基本要求是:_有法可依、有法必依、執(zhí)法必嚴(yán)、違法必究__。3.民事主體制度是確認(rèn)_自然人_和_法人的民事主體地位的制度。
4.女方在_懷孕期間和分娩后 一 年內(nèi),男方不得提出離婚。
5.因繼承遺產(chǎn)發(fā)生的訴訟,由_前戶籍所在地 或主要遺產(chǎn)所在地 人民法院管轄。6.教唆犯
7.國(guó)家元首_是國(guó)家對(duì)外關(guān)系的最高代表。
二、判斷正誤
1.的合法行為指法律所不禁止的一切行為。
(√)2.人民行使國(guó)家權(quán)利的機(jī)關(guān)是國(guó)務(wù)院和地方
各級(jí)人民政府。(×)
3.顯失公平的民事行為是無效的民事行為。
(×)4.基層人民法院管轄除法律規(guī)定由中級(jí)人民
法院管轄的爭(zhēng)議民事案件外的一切。(√)
5.有期徒刑期限為6個(gè)月以上20年以下。
(×)
6.我國(guó)國(guó)籍法規(guī)定,一人一籍原則?!蹋?.劃分法律部門的主要根據(jù)是法律規(guī)范的調(diào)整對(duì)象。(√)2.決定一個(gè)國(guó)家性質(zhì)的首要因素是該國(guó)的社
二、單項(xiàng)選擇題
1.在法律解釋中,屬于正式解釋的有(C)C行政解釋2.近代憲法的發(fā)源地是(A)A.英國(guó)3.現(xiàn)行憲法規(guī)定,我國(guó)的基本經(jīng)濟(jì)制度是(C)C.公有制為主體、多種所有制經(jīng)濟(jì)共同發(fā)展
4.我國(guó)城市的居民委員會(huì)和農(nóng)村的村民委員會(huì)是(D)D.基層群眾性自治組織5.依據(jù)行政處罰法的規(guī)定,可以設(shè)定限制人身自由的行政處罰的規(guī)范性文件是(A.法律)6.依據(jù)我國(guó)民法通則的有關(guān)規(guī)定,民事活動(dòng)必須遵守法律,法律沒有規(guī)定的,應(yīng)當(dāng)遵守C.國(guó)家政策
7.對(duì)營(yíng)利法人,在我國(guó)民法通則中,將它們統(tǒng)稱為(A)A.企業(yè)法人
8.依據(jù)民法通則的規(guī)定,在下列各項(xiàng)中,屬于當(dāng)然無效民事行為的是(A)A.無民事行為能力人實(shí)施的民事行為 9.依據(jù)我國(guó)民法通則的規(guī)定,下落不明的公民的利害關(guān)系人得向法院申請(qǐng)宣告其失蹤,在一般情況下,其失蹤的時(shí)間應(yīng)滿B.2年 10.我國(guó)反不正當(dāng)競(jìng)爭(zhēng)法調(diào)整的對(duì)象范圍是(A)A.同行業(yè)的經(jīng)營(yíng)者相互之間的競(jìng)爭(zhēng)關(guān)系
11.納稅人采取偽造、變?cè)?、隱匿、擅自銷毀賬簿或記賬憑證,在賬簿多列支出或者不列、少列收入,或者進(jìn)行虛假的納稅申報(bào)的手段,不繳或少繳應(yīng)納稅款的行為,屬于(A)A.偷稅行為
12.依據(jù)我國(guó)破產(chǎn)法的有關(guān)規(guī)定,破產(chǎn)財(cái)產(chǎn)的分配順序?yàn)椋˙)B.(1)企業(yè)所欠職工工資和勞動(dòng)保險(xiǎn)費(fèi)用;(2)企業(yè)所欠國(guó)家稅款;(3)破產(chǎn)債權(quán)13.依據(jù)我國(guó)公司法的規(guī)定,成立有限責(zé)任公司的股東人數(shù)(A)A.得少于50人
14.下列各項(xiàng)中,不屬于票據(jù)法調(diào)整的對(duì)象是(A)A.股票關(guān)系
15.依據(jù)我國(guó)企業(yè)破產(chǎn)法的規(guī)定,對(duì)破產(chǎn)案件擁有管轄權(quán)的人民法院是(C C債務(wù)人所在地人民法院16.在法律的溯及力問題上,我國(guó)1997年修訂的刑法采取的原則是(C)C.從舊兼從輕原則則
17.婦女甲臥病在床。某日深夜乙潛入甲的住室,將甲緊緊抱住,壓在床上,企圖實(shí)施強(qiáng)奸。甲奮力反抗,并大聲呼救。住在隔壁的甲母聞聲趕來,見狀大怒,順手拿起床前的座椅向乙砸去,恰好擊中乙的后腦勺。乙抽搐一陣后死亡。甲母的行為屬于(A)A.正當(dāng)防衛(wèi)
18.某甲因鄰居某乙多次調(diào)戲其妻,遂欲行報(bào)復(fù),并自制土炸彈一枚,準(zhǔn)備伺機(jī)投入乙的住室,但因無機(jī)可乘而未能實(shí)施。某甲的行為屬于(B)B.犯罪預(yù)備
19.某甲具有刑事責(zé)任能力,其行為也已發(fā)生嚴(yán)重危害社會(huì)的結(jié)果,但是某甲在主觀上并不具有故意和過失。某甲對(duì)其行為(A)A.不負(fù)刑事責(zé)任
20.下列四種犯罪中,既可以由直接故意構(gòu)成,也可以由間接故意構(gòu)成的犯罪是(CC.殺人罪
21.依據(jù)我國(guó)法律的有關(guān)規(guī)定,在刑事案件的審判中(D)D.公訴案件不得實(shí)行調(diào)解,自訴案件可以實(shí)行調(diào)解
25.依據(jù)我國(guó)民事訴訟法的有關(guān)規(guī)定,民事訴訟中的舉證責(zé)任應(yīng)由(D)D.權(quán)利主張人承擔(dān) 29.“侵權(quán)責(zé)任適用侵權(quán)行為地法”這一規(guī)定屬于(B)B.雙邊沖突規(guī)范
30.一方當(dāng)事人不履行我國(guó)涉外仲裁機(jī)構(gòu)的裁決,對(duì)方當(dāng)事人申請(qǐng)強(qiáng)制執(zhí)行的法院應(yīng)是(D)
D.被申請(qǐng)人住所地或財(cái)產(chǎn)所在地的中級(jí)人民法院 l、按照法律的效力范圍的不同,可將法律分為(4)④一般法和特別法
2、闡述某項(xiàng)法律規(guī)范在一定法律體系中的地位的解釋,屬于(3)③系統(tǒng)解釋
3、根據(jù)馬克思主義的觀點(diǎn),法律的最本質(zhì)的屬性是(3)③階級(jí)性
4、健全我國(guó)社會(huì)主義法制的中心環(huán)節(jié)是(2)②有法必依
5、憲法規(guī)定,我國(guó)的根本制度是(3)③社會(huì)主義制度
6、在我國(guó)國(guó)家機(jī)關(guān)中,有權(quán)制定行政法規(guī)的是(2)②國(guó)務(wù)院
7、在下列各項(xiàng)中,不屬于行政處罰的是(3)③免職
8、行政法與行政法規(guī)的關(guān)系是 ④行政法規(guī)是行政法的淵源之一
9、民事法律行為的最基本構(gòu)成要素是 ②行為人的意思表示
10、在下列各項(xiàng)中,屬于民法而不屬于商法的是(4)④物權(quán)法
11、所有權(quán)人因所有權(quán)被侵害而請(qǐng)求保護(hù)時(shí),有一種保護(hù)方法是必須適用的,那就是(1)①確認(rèn)所有權(quán)、12、依據(jù)繼承法的規(guī)定,下列各項(xiàng)中不屬于法定繼承第一順序繼承人的是(4)④兄弟姐妹
13、在我國(guó),民事違法行為(1)①不屬于民事法律行為,但能夠發(fā)生民事法律后果
14、在下列各項(xiàng)中,屬于犯罪構(gòu)成的必要條件是 ③犯罪行為
15、我國(guó)刑法規(guī)定完全負(fù)刑事責(zé)任的年齡為③巳滿18周歲
16、有權(quán)適用刑罰的機(jī)關(guān)是(1)①人民法院
17、依根我國(guó)刑法的規(guī)定,判處有期徒刑、拘役或管制的數(shù)罪并罰,實(shí)行①限制加重原則
18、依據(jù)我國(guó)刑法的規(guī)定,對(duì)于累犯,(3)③應(yīng)當(dāng)從重處罰
19、依據(jù)我國(guó)。法律的規(guī)定,危害國(guó)家安全的第一審刑事案件應(yīng)當(dāng)由②中級(jí)人民法院管轄
20、在下列各項(xiàng)中,只適用于刑事訴訟而不適用于民事訴訟和行政訴訟的原則是(3)③未經(jīng)人民法院依法判決不得確定有罪
21、在刑事訴訟中,有權(quán)發(fā)布通輯令的機(jī)關(guān)是(4)④公安機(jī)關(guān)
22、在下列各種民事案件中,應(yīng)當(dāng)由原告住所地人民法院管轄的是④對(duì)被監(jiān)禁人提起的訴訟
23、甲乙二人因房產(chǎn)糾紛弓!起民事訴訟,在宣判前,原告甲申請(qǐng)撤訴,他的申請(qǐng)(4)④須經(jīng)人民法院裁定準(zhǔn)許后才能發(fā)生法律效力
24、下列各項(xiàng)中,只適用于行政訴訟而不適用于刑事訴訟和民事訴訟的原則或制度是②不適用調(diào)解
25、在行政訴訟中,對(duì)于行政機(jī)關(guān)顯失公正的行政處罰決定,人民法院可以判決①變更原處罰決定
26、行政訴訟中的舉證責(zé)任主要由(2)②被告方承擔(dān)
27、在下列各項(xiàng)中,屬于聯(lián)合國(guó)下設(shè)的主要機(jī)構(gòu)的是③安全理事會(huì)
28、在原始國(guó)籍取得上,我國(guó)1980年國(guó)籍法采取 ④雙系血統(tǒng)主義與出生地主義相結(jié)合的原則
29、依據(jù)民法通則的規(guī)定,中國(guó)公民和外國(guó)人結(jié)婚,適用(3)③婚姻締結(jié)地法
30、依據(jù)民法通則的規(guī)定,涉外扶養(yǎng)關(guān)系,適用④與被扶養(yǎng)人有最密切聯(lián)系的國(guó)家的法律
三、多項(xiàng)選擇1、法律區(qū)別于其他社會(huì)規(guī)范的重要特征有(2)(3)(4)②法律由國(guó)家制定或者認(rèn)可 ③法律對(duì)社會(huì)具有普遍的約束力。④法律由國(guó)家強(qiáng)制力保證其實(shí)施
2、我國(guó)憲法規(guī)定,行使國(guó)家立法權(quán)的機(jī)關(guān)是①全國(guó)人民代表大會(huì)②全國(guó)人民代表大會(huì)常務(wù)委員會(huì)
3、依據(jù)我國(guó)法律的規(guī)定,在下列各項(xiàng)中,屬于不得違反法律禁止結(jié)婚的規(guī)定(義稱消極條件)的有 ①三代以內(nèi)的旁系血親③患有麻瘋病③精神失常未經(jīng)治愈
4、依據(jù)我國(guó)保險(xiǎn)法的規(guī)定,設(shè)立保險(xiǎn)公司應(yīng)具備的條件有 ①有符合公司法和保險(xiǎn)法規(guī)定的章程 ②有符合保險(xiǎn)法規(guī)定的不少于2億元人民市的注冊(cè)資本③有具備任職專業(yè)知識(shí)和業(yè)務(wù)工作經(jīng)驗(yàn)的高級(jí)管理人員 ④有健全的組織機(jī)構(gòu)和管理制度 ⑤有符合要求的營(yíng)業(yè)場(chǎng)所和與業(yè)務(wù)有關(guān)的其他設(shè)施
5、我國(guó)九屆人大一次會(huì)議以來(1998—2000年)全國(guó)人民代表大會(huì)審議通過的基本法律有
②中華人民共和國(guó)合同法 ④中華人民共和國(guó)立法法
1.命令性規(guī)范包括(BE)
B.義務(wù)性規(guī)范 E.禁止性規(guī)范2.在下列各項(xiàng)中,既是我國(guó)公民的基本權(quán)利,也是我國(guó)公民的基本義務(wù)的是 B勞動(dòng)E.受教育3.依據(jù)《行政法規(guī)制定程序暫行規(guī)定》的規(guī)定,行政法規(guī)的名稱有A.條例 C.規(guī)定 D.辦法4.在下列各項(xiàng)中,受1999年3月頒布的《中華人民共和國(guó)合同法》調(diào)整的有A.買賣合同 B.技術(shù)合同 C.勞動(dòng)合同 E.融資租賃合同
5.依據(jù)我國(guó)行政訴訟法的規(guī)定,公民、法人或者其他社會(huì)組織拒絕履行人民法院發(fā)生效力的判決或裁定的,行政機(jī)關(guān)可以 A.依法強(qiáng)制執(zhí)行 C.向第一審人民法院申請(qǐng)強(qiáng)制執(zhí)行
1、法律意識(shí)的內(nèi)容包括
A、對(duì)法律的基本看法B.對(duì)行為和發(fā)行的評(píng)價(jià) 序
3、根據(jù)我國(guó)憲法的規(guī)定,決定特赦的權(quán)利屬于B.全國(guó)人民代表大會(huì)常務(wù)委員會(huì)
5、根據(jù)《中華人民共和國(guó)治安管理處罰條例》的規(guī)定,有條例中所列舉的違反交通管理行為不夠刑事處罰的,可處以 A.15日以下拘留 C.200元以下罰款D.警告
6、就行政法與行政法規(guī)的關(guān)系而言 C.行政法規(guī)是行政法的淵源之一D.行政法與行政法規(guī)是效力不同的法律規(guī)范
9、外國(guó)人在我國(guó)領(lǐng)域內(nèi)犯罪B
B.除了享有外交特權(quán)和豁免權(quán)的外國(guó)人一律適用我國(guó)刑法
12、在下列各項(xiàng)中,法律規(guī)定必須使用注冊(cè)商標(biāo)的商品是D.藥品
15、根據(jù)我國(guó)婚姻法的規(guī)定,婚姻登記機(jī)關(guān)對(duì)于離婚申請(qǐng),必須查明ACD A.雙方對(duì)于離婚是否確實(shí)處于自愿 C.雙方對(duì)子女問題是否已有適當(dāng)處理D.雙方對(duì)財(cái)產(chǎn)問題是否已有適當(dāng)處理
16、人民檢察院在審查起訴中,遇到下列那種情況可以做出不起訴決定A犯罪嫌疑人、被告人死亡的 C.罪行輕微,危害不大的1.以下權(quán)利中屬于政治權(quán)利的是。(AD)A.選舉權(quán)D.言論自由
2.下列行為中屬于行政處分的有。(BC)B.責(zé)令停產(chǎn)停業(yè)C.拘留3.公民滿歲,就是具有完全行為能力人。(D)D.18
4.下列人員中屬于第一順序的繼承入的有。A.父母B.子女5.下列證據(jù)中,屬于刑事證據(jù)的有。(ABCD)A.書證B.物證C.證人征言D.視聽資料 6.下列人員中屬于訴訟當(dāng)事人的是A.原告B.被告簡(jiǎn)答:
1、接選舉的概念及其在我國(guó)各級(jí)人民代表大會(huì)代表選舉中的實(shí)際運(yùn)用 答:直接選舉就是代表由選民投票直接選出。間接選舉就是指代表不是由選民直接投票,而必須由選民選出的代表進(jìn)行投票選出。我國(guó)選舉法規(guī)定,縣、鄉(xiāng)兩級(jí)人民代表大會(huì)采用直接選舉方式,省和全國(guó)兩級(jí)人民代表大會(huì)、自治州、較大的市、設(shè)區(qū)的市人民代表大會(huì)采用間接選舉方式。
2.公、檢、法三機(jī)關(guān)在刑事訴訟中的分工負(fù)責(zé),互相配合,互相制約的原則。P3363.民事訴訟中的處分原則 答;這一原則是指,民事訴訟當(dāng)事人有權(quán)在法律規(guī)定范圍內(nèi)處分自己的民事權(quán)利和訴訟權(quán)利,當(dāng)事人的民事權(quán)益受到侵犯或發(fā)生爭(zhēng)議時(shí)是否起訴,是否提起上訴一般由當(dāng)事人自己決定,但是,當(dāng)事人對(duì)自己民事權(quán)利和訴訟權(quán)利的處分,不得損害國(guó)家和社會(huì)公共利益,必須限于法律允許的范圍之內(nèi)。
1、人民法院實(shí)行公開審判有何意義? 答:把人民法院的審判活動(dòng)置于人民群眾的監(jiān)督之下,利于提高審判工作的質(zhì)量,保護(hù)當(dāng)事人的合法權(quán)益,對(duì)人民進(jìn)行法制的宣傳教育。2.什么是法律部門?我國(guó)有那些主要法律部門?
答:法律部門是調(diào)整某一社會(huì)關(guān)系的那些法律規(guī)范的總和。
我國(guó)主要有:憲法、行政法、刑法、民法、經(jīng)濟(jì)法和訴訟法。
1.犯罪未遂具有什么特征?
要點(diǎn):已經(jīng)著手實(shí)施犯罪,由于犯罪分子意志以外的原因而未得逞的,是犯罪未遂。犯罪未遂具有如下特征:(1)已經(jīng)著手實(shí)施犯罪;(2)犯罪能得逞;(3)犯罪未得逞是由于犯罪分子意志以外的原因。
2.擔(dān)保有哪幾種形式?要點(diǎn):主要有五種:(1)保證;(2)抵押權(quán);(3)定金;(4)留置權(quán);(5)違約金。
3.現(xiàn)代國(guó)際法的基本原則。要點(diǎn):現(xiàn)代國(guó)際法的基本原則主要有:①互相尊重主權(quán)及領(lǐng)土完整; ②互不侵犯;③互不干涉內(nèi)政; ④平等互利;⑤和平共處;⑥民族自決
1、簡(jiǎn)述代理的概念及其特征。
答:代理是行為人根據(jù)法律的直接規(guī)定或他人的授權(quán),以他人名義與第三人進(jìn)行的,后果由該他人承受的民事法律行為。其特征是:(1)代理人以被代理人名義實(shí)施法律行為。(2)代理的事務(wù)有法律意義。(3)代理人在代理權(quán)限內(nèi)獨(dú)立進(jìn)行民事法律行為。
2、試述民事法律行為的要件。1.要點(diǎn):民事法律行為是指公民或法人為設(shè)立、變更、終止民事權(quán)利義務(wù)關(guān)系而實(shí)施的合法行為。
民事法律行為的實(shí)質(zhì)要件包括:1.行為人具有相應(yīng)的民事行為能力;2.意思表示真實(shí);3.不違反法律或社會(huì)公共利益。民事法律行(4)產(chǎn)生的后果由被代理人承受。
2、簡(jiǎn)述行政法的特點(diǎn)。
答:行政法的特點(diǎn):(1)沒有一部系統(tǒng)編纂的法典,由大量單行法規(guī)及有關(guān)規(guī)范構(gòu)成。(2)其不僅在行政管理方面,而且對(duì)審判、檢察均有一定效力。(3)它具有直接的、強(qiáng)烈的法律約束力。
1.民事法律關(guān)系的特征有哪些?答:1.(1)主體之間法律地位平等。(2)以民事權(quán)利義務(wù)力內(nèi)容。(3)當(dāng)事人權(quán)利義務(wù)平等一致,相互對(duì)應(yīng),具有等價(jià)性。(4)當(dāng)事人可以交換權(quán)利實(shí)現(xiàn)利益。
2.什么是我國(guó)婚姻法的基本原則?我國(guó)家庭關(guān)系包括哪三種? 答:1)婚姻自由:(2)一夫一妻;(3)男女平等;(4)保護(hù)婦女、兒童和老人的合法權(quán)益;(5)實(shí)行計(jì)劃生育。夫妻關(guān)系;父母子女關(guān)系;其它家庭成員間的關(guān)系。3.什么是犯罪未遂,構(gòu)成犯罪未遂的條件是什么?
答:是指已經(jīng)著手實(shí)行犯罪。由于犯罪分子意志以外的原因而未得逞。(1)犯罪分子已經(jīng)著手實(shí)行犯罪。(2)沒有得逞。(3)犯罪沒有得逞,是由于犯罪分子意志以外的原因。
1、“公民在法律面前一律平等”的主要含義。、答:(1)它是社會(huì)主義法制的一項(xiàng)基本原則,也是社會(huì)主義法律適用必須遵循的原則。(2)它的主要含義: 第一,我國(guó)的法律對(duì)于全體公民,不分民族、種族、性別、職業(yè)、家庭出身、宗教、教育程度和財(cái)產(chǎn)狀況,都一律適用; 第二,公民平等地享有法律賦予的權(quán)利,平等地履行法律規(guī)定的義務(wù); 第三,任何公民的違法行為都必須平等地受到追究與制裁。
2、列出我國(guó)關(guān)于缺陷產(chǎn)品致人人身及財(cái)產(chǎn)損害的生產(chǎn)者可以請(qǐng)求免責(zé)的條件。
答:(l)末將產(chǎn)品投入流通的(2)產(chǎn)品投人流通時(shí),引起損害的缺陷尚不存在;(3)將產(chǎn)品投人流通時(shí)的科學(xué)技術(shù)尚未達(dá)到能發(fā)現(xiàn)缺陷的水乎。
3、證據(jù)的概念及其特征。、答:(l)證據(jù)是指用以證明案件真實(shí)情況的一切事實(shí)(2)證據(jù)具有客觀性、相關(guān)性、法律性(或法定性)三個(gè)特征。第一,證據(jù)的客觀性是指證據(jù)屬于客觀上確實(shí)存在的事實(shí)。這是證據(jù)最本質(zhì)的特 第二,證據(jù)的相關(guān)性是指證據(jù)同案件相關(guān)并對(duì)證明案件真實(shí)情況有實(shí)際意義的事第三,證據(jù)的法律(定)性是指審判人員、檢察人員和偵查人員依照法律程序收集并經(jīng)查證屬實(shí)的事實(shí)。論述:
1、略論依法治國(guó)的重要意義。
答1)依法治國(guó),就是廣大人民群眾在黨的領(lǐng)導(dǎo)下,依照憲法和法律規(guī)定,通過各種途徑和形式管理國(guó)家事務(wù),管理經(jīng)濟(jì)文化事業(yè),管理社會(huì)事務(wù),保證國(guó)家各項(xiàng)工作都依法進(jìn)行,逐步實(shí)現(xiàn)社會(huì)主義民主的制度化,法律化,使這種制度和法律不因領(lǐng)導(dǎo)人的改變而改變,不因領(lǐng)導(dǎo)人看法和注意力的改變而改變。(2)依法治國(guó)的重要意義: 依法治國(guó)是我國(guó)基本的治國(guó)方略。依法治國(guó)是建立和完善社會(huì)主義市場(chǎng)經(jīng)濟(jì)的需要。依法治國(guó)是擴(kuò)大社會(huì)主義民主,實(shí)現(xiàn)國(guó)家政治體制改革的需要。依法治國(guó)是建設(shè)社會(huì)主義精神文明的需要。
為的形式,主要指當(dāng)事人意思表示的形式,民事法律行為可以采用書面形式、口頭形式或者其他形式,但法律規(guī)定采用特定形式的,應(yīng)當(dāng)依照法律的規(guī)定。
3、行政訴訟被告如何確定?
答: ①公民、法人或者其他組織對(duì)于行政機(jī)關(guān)作出的具體行政行為,未經(jīng)申請(qǐng)行政復(fù)議而直接向人民法院提起訴訟的,作出具體行政行為的行政機(jī)關(guān)是被告。②經(jīng)過復(fù)議的案件,復(fù)議機(jī)關(guān)決定維持原具體行政行為的,作出原具體行政行為的行政機(jī)關(guān)哇被告;復(fù)議機(jī)關(guān)改變?cè)唧w行政行為的,復(fù)議機(jī)關(guān)是被告。③兩上以上行政機(jī)關(guān)作出同一具體行政行為的,共同作出具體行政行為的行政機(jī)關(guān)是共同被告。④由法律、法規(guī)授權(quán)的組織所作的具體行政行為,該組織是被告。⑤由行政機(jī)關(guān)委托的組織所作的具體行政行為,委托的行政機(jī)關(guān)是被告⑥行政機(jī)關(guān)被撤銷的,繼續(xù)行使其職權(quán)的行政機(jī)關(guān)是被告。
4、、試述我國(guó)選舉制度體現(xiàn)了哪些社會(huì)主義民主原則。
答:我國(guó)選舉制度體現(xiàn)了如下的民主原則:(1)選舉權(quán)的普遍性。(2)選舉權(quán)的平等性。(3)直接選舉和間接選舉同時(shí)并用(4)無記名投票。5)選民對(duì)代表實(shí)行監(jiān)督和罷兔。6)國(guó)家對(duì)選舉的保障。
5、試述我國(guó)憲法的特征答:1.我國(guó)憲法以堅(jiān)持四項(xiàng)基本原則作為總的指導(dǎo)思想,堅(jiān)持和保證了社會(huì)主義的根本方向。2.我國(guó)憲法確認(rèn)了我國(guó)國(guó)家政權(quán)的人民民主專政的性質(zhì),并通過實(shí)行人民代表大會(huì)制度,保證了以工人階級(jí)為領(lǐng)導(dǎo)的廣大人民當(dāng)家作主的權(quán)利。規(guī)定公民享有廣泛的權(quán)利、自由和公民權(quán)利義務(wù)的一致性。3.我國(guó)憲法規(guī)定社會(huì)主義制度是我國(guó)的根本制度,確認(rèn)生產(chǎn)資料公有制是我國(guó)經(jīng)濟(jì)制度的基礎(chǔ),規(guī)定社會(huì)主義的公共財(cái)產(chǎn)神圣不可侵犯,規(guī)定實(shí)行各盡所能,按勞分配的社會(huì)主義分配原則。4.我國(guó)憲法規(guī)定了進(jìn)行社會(huì)主義精神文明建設(shè)的內(nèi)容。
7、簡(jiǎn)述如何正確行使我國(guó)憲法賦予公民的自由和權(quán)利。
答:憲法規(guī)定,我國(guó)公民在行使自由和權(quán)利的時(shí)候,不得損害國(guó)家的、社會(huì)的、集體的利益和其他公民的合法的自由和權(quán)利。此規(guī)定是公民行使自由和權(quán)利時(shí)必須遵循的準(zhǔn)則。為此,公民應(yīng)樹立正確的權(quán)利觀,明確認(rèn)識(shí):(l)任何權(quán)利和自由都不可能是絕對(duì)的、不受限制的。權(quán)利和自由不僅受客觀規(guī)約和社會(huì)經(jīng)濟(jì)文化條件的限制,還要受法律的限制。(2)在我國(guó)社會(huì)主義制度下,國(guó)家利益、集體利益和公民個(gè)人利益在根本上是公民個(gè)人的自由和權(quán)利,只有在國(guó)家利益、集體利益和廣大人民群眾的利益都得到保障和發(fā)展的前提下,才能切實(shí)、充分地得到實(shí)現(xiàn)。
第五篇:軟件工程認(rèn)知實(shí)習(xí)實(shí)習(xí)筆記
實(shí)習(xí)日志
16.1.12 雪
今天是實(shí)習(xí)的第四天,還有一天我們的實(shí)習(xí)就要結(jié)束了。IT職場(chǎng),一個(gè)最具現(xiàn)代社會(huì)市場(chǎng)競(jìng)爭(zhēng)特色的圈子。雖是急需人才的行業(yè),出來的大學(xué)生也面臨三難:就業(yè)難、找好單位難、過好日子難。所以大學(xué)四年一定要有所規(guī)劃。以下課程在大學(xué)中再學(xué)好:計(jì)算機(jī)專業(yè)的八門核心課程:C語言程序設(shè)計(jì)、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)組成原理、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)管理系統(tǒng)、操作系統(tǒng)、軟件工程.所講內(nèi)容是關(guān)于職業(yè)生涯規(guī)劃。前幾天也有接觸過,但今天所講更直接。更直觀的感受就是老師所講編程就是青春飯。而且程序員如果三十歲還在打碼,那么前途幾乎是沒有,也證明前面幾年沒有努力。大學(xué)四年嚴(yán)格來說是三年一定要非常努力,打好基礎(chǔ)。
接下來了解軟件的各個(gè)就職崗位。上升得有:需求分析師、架構(gòu)師、項(xiàng)目經(jīng)理、技術(shù)總監(jiān)、技術(shù)副總。平移或下降:技術(shù)支持、售前(售后)培訓(xùn)、咨詢、維護(hù)、實(shí)施、銷售。職業(yè)定位:技術(shù)型、管理型、安全型、自主型、風(fēng)險(xiǎn)型。還有職業(yè)發(fā)展的責(zé)任,個(gè)人職業(yè)性與選擇,市場(chǎng)需求分析。期間老師還加入許多生動(dòng)的例子,人也非常幽默。讓我們更加了解程序員的生活和以后的定位。
今天最大的感悟是 要想做一名出色的人才就要在可以拼搏的年齡,拼搏,打好基礎(chǔ)。