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