软件工程笔记整理(共23页).doc
《软件工程笔记整理(共23页).doc》由会员分享,可在线阅读,更多相关《软件工程笔记整理(共23页).doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上软件工程概论2 s9 a6 T5 y0 P- O3 E2 1、软件危机北软论. x( q% V0 w1)、软件工程的目的:倡导以工程的原理、原则和方法进行软件开发,以解决当时出现的软件危机。7 K/ , s0 B9 J# C5 N7 g2)、软件危机:指在计算机软件开发和维护过程中所遇到的一系列问题。2 D( h3 S5 a, OA、如何开发软件以满足对软件日益增长的需求。4 A6 Y O$ c F8 b , I北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工
2、程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研B、如何维护数量不断增长的已有软件。 q! L& k) g( Be3)、软件危机的主要表现形式北京大学软件A、软件开发成本高,研制进度无法准确估计,用户不满意。3 gW, q5 X$ j北京大学软件工程硕士|MSE|北京大学软件与微电子学院|北软论坛B、软件产品的可靠性得不到保证。C、软件产品难以维护。+ h, U8 A8 2 o( T% & N+ E( H( l. H一个专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不会让你失望!D、软件发展跟不上硬件的发展和用户的要求,硬件成本逐
3、年下降,软件成本越来越昂贵。 P4 F. f& h/ A6 c& U* I3 B一个专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不会让你失望!% S* a z: Y- d5 E2、软件工程概念! x6 H8 1 : ) |% x9 s北京大学软件工程硕士|MSE|北京大学软件与微电子学院|北软论坛1)、软件:计算机系统中的程序及其文档。程序是计算任务的处理对象和处理规则的描述;文档是为了便于理解程序所需的阐明性资料。细言之,软件有三层含义:携手北软/ y* z- H0 1 k& MA、个体含义:即指计算机系统中的程序及其文档。一个专注于北京大学软件与微电子学院软件工程硕士考研的论
4、坛,绝对不会让你失望!- y* e6 g VB、整体含义:即指在特定计算机系统中所有上述个体含义下的软件的总称。& P, g5 V1 S2 _6 l6 C、学科含义:即指在研究、开发、维护以及使用前述含义下的软件所涉及的理论、方法、技术所构成的学科。北京2)、工程:将理论和所学的知识应用于实践的科学。研4 4 t# f3 X9 2 ; 3)、软件工程:应用计算机科学、数学及管理科学等原理,开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
5、8 J! ( v! B* ?; Y9 * k# J5 q+ R/ h# Y; Q$ N3 6 KA/ H0 r北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研3、软件工程框架(参见附图软件工程框架示意图)/ l- I* t9 g5 P: o& w北京大学软件工程硕士|MSE|北京大学软件与微电子学院|北软论坛1 H+ c) q: E7 ( i: o6 Z r1)、软件工程目标:生产具有正
6、确性、可用性和开销合宜的产品。& m& i% x# y2 _* y/ GY2 : T北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研A、正确性:是指软件产品达到预期功能的程度。0 T# f% j5 e; ?B、可用性:是指软件基本结构、实现以及文档为用户可用的程度。6 T6 U- C; D1 f ? - p. C、开销合宜:是指软件开发、运行的整个开销满足用户要求的程度。7 B A- L
7、 U: S! j( G9 l7 t一个专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不会让你失望!2)、软件开发活动:生产一个最终满足需求且达到工程目标的软件产品所需要的活动。软件开发的基本活动包括:需求、设计、实现、确认、和支持。北京大学软件工程硕士|MSE|北京大学软件与微电子学院|北软论坛 i$ 5 6 E- o4 D+ yA、需求:就是定义问题。% D- 5 l8 q4 aB、设计:在需求的基础上,给出被建系统的软件设计方案。2 r# ; o) g8 PC、实现:在软件设计的基础上,编码被建系统软件体系结构中的每一模块或构件。, g+ F2 D1 ? v& c7 yD、确认
8、:需求复审、设计复审及程序测试。一个专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不会让你失望!Q$ k: I, / h8 z! c5 s sE、支持:为系统的运行提供纠错性维护和完善性维护。北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研) D* A; ; | s- U9 o3)、软件工程原则:围绕软件开发,提出了以下基本原则。 k9 / P: V 5 ! e$ A、选取适
9、宜的开发范型:在系统设计中,经常需要权衡软件需求、硬件需求以及其它因素之间的相互制约和影响,适应需求的易变性。选用适宜的开发范型,以保证软件开发的可持续性,并使最终的软件产品满足客户的要求。( M I& E8 y5 x9 P/ E2 kB、采用好的设计方法:在软件设计中,通常需要考虑软件的模块化、信息隐蔽、局部化、一致性以及适应性等问题。采用合适的设计方法,支持这些问题的解决和实现。% ?+ h7 g/ 8 x$ q) N7 MC、提供高质量的工程支持:如其它工程一样,需要提供高质量的工程支持,例如配置管理、质量保证等,才能按期交付高质量的软件产品。7 H1 w( J# x) O/ 7 v4
10、P6 Q& z* e4 ?D、有效的软件工程管理:软件工程的管理,直接影响可用资源的有效利用,提高软件组织的生产能力。仅当对软件过程实施有效管理时,才能实现有效的软件工程。5 J6 b w& b* k4)、软件工程学科研究的内容:软件开发模型、软件开发方法、软件过程、软件工具、软件开发环境、计算机辅助软件工程以及软件经济学等。6 a# ! f8 * J9 v北京大学软件工程硕士|MSE|北京大学软件与微电子学院|北软论坛5)、软件开发方法学:是一种已定义好的技术集和符号表示习惯,来组织软件开发的过程,一般表示为一系列步骤,包括结构化方法、面向对象方法、Jackson方法、Warnier方法、P
11、AM方法、可视化方法等。软件开发模型- S! S3 h3 _/ G9 w) 5 R : T2 s! U6 v1 K- h0 f) r携手北软1、软件开发模型:软件开发全部过程、活动、任务的结构框架。6 P9 L. k- o% R. V6 u携手北软# t* A3 J6 V7 & r2、软件生存周期:软件产品从定义开始,经过开发、使用和维护,直到最后被淘汰的整个过程。# Z. Y6 D* k% O北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学
12、软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研 f. C+ Tw8 4 f, ?1 Q3、软件过程:是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。) D% f, I- c9 V0 x! 携手北软携手北软+ J% b& G3 g% $ K$ J% x( f4、瀑布模型(参见瀑布模型示意图)( K
13、4 c% $ E2 g+ g n( b( 1)、概述:将软件生存周期的各项活动规定为依固定顺序连接的若干阶段工作,形如瀑布流水,最终得到软件产品,是一种线性模型。一个专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不会让你失望!$ n+ M- D# |, Q, t( c2)、各阶段活动:提出系统需求、提出软件需求、需求分析、设计、编码、测试和运行。) m6 ?! D Q1 k& qS+ , r北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,
14、北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研3)、每一阶段的特征北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研) - T- 5 i0 |+ t1 zA、从上一阶段接受本阶段工作的对象,作为输入。: C1 R& H( r+ S/ ( D- G一个专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不会让你失望!B、对上述输入实施本阶段的活动。/ F+ e: Q)
15、 A Z5 BC、给出本阶段的工作成果,作为输出传入下一阶段。* J# Y; Z$ 7 S1 G. s b; a北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研D、对本阶段工作进行评审,若本阶段工作得到确认,则继续下阶段工作;否则返回前一阶段,甚至更前阶段。2 - R: M; * 6 o% & R: O1 o4)、优缺点携手北软9 D0 B$ H$ z: S0 E/ w( x$ x1 Z
16、A、优点:在支持结构化软件开发、控制软件开发的复杂性、促进软件开发工程化等方面起着显著作用。6 _) M. , R+ C- w4 a一个专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不会让你失望!B、缺点:缺乏灵活性,无法通过开发活动澄清本来不够确切的软件需求。北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕/ e9 S* ?6 m: m: w. f+ s* X北京大学软件工程硕士|MSE|北京大学软件与微电子学院|北软
17、论坛5、演化模型(参见演化模型示意图)* Y6 c3 H Z9 e& G1)、概述:演化模型主要针对事先不能完整定义需求的软件开发。北京大学软件工程硕士|MSE|北京大学软件与微电子学院|北软论坛9 V( p J# b1 L G7 w- p2 | J2)、开发过程:首先开发核心系统,当核心系统投入运行后,开发人员根据用户的反馈,实施开发的迭代过程。每一迭代过程均由需求、设计、编码、测试、集成等阶段组成,直到软件开发结束。北京大学软件工程硕士|MSE|北京大学软件与微电子学院|北+ 3)、优点:一定程度上减少了软件开发活动的盲目性。一个专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不
18、会让你失望!) 8 + j/ 8 _# 4 d8 g% D* F# K: 8 H k; e# 1 F$ T7 I北京大学软件工程硕士|MSE|北京大学软件与微电子学院|北软论坛北京大学软件工程硕士|MSE|北京大学软件与微q; i7 T; g6 # b! m8 S北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研6、螺旋模型(参见螺旋模型示意图)! U9 c( g$ T p8 v- 8 1
19、)、概述:在瀑布模型和演化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型。一个专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不会让你o* Z 2)、特点:沿螺旋模型顺时针方向,依次表达了四个方面的活动,制定计划、风险分析、实施工程、客户评估。* s# a v- D8 J7、喷泉模型:它体现了软件创建所固有的迭代和无间隙特征。主要用于面向对象开发过程。(参见喷泉模型示意图)) W F& H+ I8 J! _ f; I8、增量模型:在设计了软件系统整体体系结构之后,首先完整的开发系统的一个初始子集,继之,根据这一子集,建造一个更加精细的版本,如些不断地进行系统的增量开发
20、。(参见增量模型示意图)北软) A: S& T6 ND( Z7 L0 c9 f; i% E$ _8 S5 U9 w% X) d# j2 f1 e/ V4 北软论坛,北京大学软件与微电子学院,PKU,MSE,北软,携手北软,北京大学,北京大学软件学院,北京大学微电子与软件学院,北京大学软微学院,北大软院,软院,工程硕士,北大工程硕士,软件工程硕士,北京大学软件工程硕士,北大软件工程硕士,北软护航,考研,北软考研) x2 : 9 l% $ C: q0 U携手北软9、各种模型之间的区别与联系北软论坛,北京大学软件与微电子学院,PKU,MS2 O* y1)、瀑布模型、演化模型、螺旋模型之间的异同。一个
21、专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不会让你失望!- C) R% N, C. H6 cA、相同点:都分为多个阶段。B、不同点:瀑布模型一次完成软件;演化模型分为多次完成,每次迭代完成软件的一个部分;螺旋模型也分为多次完成,每次完成软件的一个新原型,并考虑风险分析。, t* s7 q- m2 _4 W2 R/ t携手北软2)、演化模型和增量模型的区别* n y I0 j9 A、演化模型:首先开发核心系统,每次迭代为系统增加一个子集,整个系统是增量开发和增量提交。B、增量模型:首先完整的开发系统的一个初始子集,然后不断的建造更精细的版本。_. S% f; Y* 3)、需要完整
22、定义需求的模型:瀑布模型、增量模型。北京大学软件工程硕士|MSE|北京大学软4)、属于迭代风范的模型:演化模型、增量模型、喷泉模型、螺旋模型。第三章 结构化需求分析, k# l+ R7 - x2 f5 m; F; i一个专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不会让你失望!一个专注于北京大学软件与微电子学院软件工程硕士考研的论坛,绝对不会让你失望!. P- S- f; 4 P! $ K1、需求分析) + v$ j; J) H6 G4 F1)、基本任务:准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。V& T1 2)、承担者:系统分析员。O3)、两个阶段:需求获取
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 笔记 整理 23
限制150内