软件工程复习同等学力硕士.ppt
《软件工程复习同等学力硕士.ppt》由会员分享,可在线阅读,更多相关《软件工程复习同等学力硕士.ppt(319页珍藏版)》请在三一办公上搜索。
1、课程名称:软件工程,(一)软件工程概念与基本要素,软件定义:,软件是(1)能够完成预定功能和性能的可执行的指令(计算机程序);(2)使得程序能够适当地操作信息的数据结构;(3)描述程序的操作和使用的文档。计算机系统中的程序及其文档称为软件。,相关考题:2007 一(1),软件特点,软件是一个逻辑部件,但不是一个物理部件。软件具有与硬件不同的特点:表现形式不同 生产方式不同 要求不同 维护不同(软件不会“磨损”),软件工程的定义,计算机科学技术百科全书中的定义:软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本。其中,计算机科学
2、、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。,软件工程 一种层次化技术,软件工程四个要素:工具、语言、方法、过程,语言,方法,过程,质量焦点,工具,软件工程框架,软件工程的框架是由软件工程目标、软件工程活动和软件工程原则三个方面的内容构成的。,软件工程活动维,软件工程目标维,软件工程原则维,软件工程框架,软件工程目标,目标:生产具有正确性、可用性以及开销适宜的软件产品。正确性:软件产品达到预期功能的程度。可用性:软件基本结构、实现及文档为用户可用的程度。合算性:软件开发、运行的整个开销满足用户要求的
3、程度。决定了:软件过程、过程模型和工程方法的选择。,相关考题:2009 二(1),软件工程活动,活动:生产一个最终满足需求且达到工程目标的软件产品所需要的步骤。1、需求:问题分析:需求获取和定义,又称软件需求规约。需求分析:生成软件功能规约。2、设计:概要设计:建立整个软件的体系结构,包括子系统、模块以及相关层次的说明、每一模块的 接口定义等。详细设计:产生程序员可用的模块说明,包括每一模 块中数据结构说明及加工描述。3、实现:把设计结果转换为可执行的程序代码。4、确认:贯穿整个开发过程,对完成的结果进行确认,保证产 品满足用户的要求。5、支持:修改和完善活动。,相关考题:2010 二(1),
4、软件工程原则,软件工程的四条基本原则:1、采取适宜的开发模型,控制易变的需求;2、采用合适的设计方法:需要软件模块化、抽象与信息隐藏、局部化、一致性以及适应性等,需要合适的设计方法的支持。3、提供高质量的工程支持:软件工具和环境对软件过程的支持。4、重视开发过程的管理:有效利用可用的资源、生产满足目标的软件产品、提高软件组织的生产能力等。,软件生存周期过程(国际标准ISO 12207)基本过程:软件开发人员所从事的一 切活动;支持过程:软件需求方和软件开发方 各类支持人员所从事的一 切活动;组织过程:管理人员从事的一切活动,三类过程的关系,基本过程是针对不同的使用者而规定获取、开发、维护软件需
5、要开展的活动及任务;支持过程是规定为支持实施基本过程而需要开展的活动及任务;组织过程是规定为支持实施基本过程和支持过程而在组织层面而需要开展的活动及任务。,相关考题:2008 一(5),2010 二(2),软件生存周期模型,软件生存周期模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。软件工程模式也常称为:软件过程模型 软件开发模型 软件工程模式 软件工程范型 等等,1.瀑布模型(线形顺序模型),一种系统的、顺序的软件开发方法 开发过程分为:系统需求分析 软件需求分析 设计 编码 测试 维护,各个过程的任务,需求分析:软件信息域
6、及所要求功能、性能、接口设计:确定软件数据结构、软件体系结构、过程细节 和接 口编码:编写程序,将设计转化为机器可读的形式测试:对软件的内部逻辑和外部功能进行测试维护:软件投入运行后对软件错误进行修改、对软件 的功能进行完善,瀑布模型的优点:,1.可强迫开发人员采用规范化的方法;2.严格规定了每个阶段必须提交的文档3.要求每个阶段交出的所有产品都必须是经过验证(评审)的。,瀑布模型的缺点:,1.由于瀑布模型完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。如果需求规格说明与用户需求之间有差异,就会发生这种情况。2.瀑布模型只适用于项目开始时需求已确定的情况。,2.
7、原型开发模型(快速成型模型),基本思路:在项目的早期尽快的生产一个便宜的和简化的系统原型版本,也叫快速原型开发。,建造/修改 原型,用户测试运行原型,听取用 户意见,原型范型,采用原型模型的软件生存周期,原型开发模型的优缺点,优点:有助于满足用户的真实需求。不仅节省开销,还能够缩短软件的整个开发周期。缺陷:原型是临时搭起来的,还未能考虑软件的整体质量或今后的可维护性问题。为使原型尽快投入运行,开发人员经常采用一些折衷的解决方法。例:采用效率不高的算法。原型模型的关键:是定义开始时的游戏规则,即客 户和开发者两方面必须一致;,增量模型(递增模型),先完成一个系统子集的开发,再按同样的开发步骤增加
8、功能(系统子集),如此递增下去直至满足全部系统需求。系统的总体设计在初始子集设计阶段就应作出设想。,分析,增量模型,设计,编码,测试,分析,设计,编码,测试,分析,设计,编码,测试,分析,设计,编码,测试,增量1,增量2,增量3,增量n,增量1交付客户,增量2交付客户,增量3交付客户,增量n交付客户,日历时间,.,增量模型的优点(1)能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。(2)逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。(3)项目失败的风险较低,虽然在某些增量构件中可
9、能遇到一些问题,但其他增量构件将能够成功地交付给客户。(4)优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。因此,最重要的系统服务将接受最多的测试。,采用增量模型需注意的问题(1)在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。(2)软件体系结构必须是开放的,即向现有产品中加入新构件的过程必须简单、方便。因此,采用增量模型比采用瀑布模型和快速原型模型更需要精心的设计。,螺旋模型,将瀑布模型与快速原型模型结合,加入风险分析。四个主要活动:计划:目标的确定,可选方案和限制。风险分析:可选方案的分析,风险的确定和解决工程:下一级产品的开发。用户评价:工程结
10、果的评价。评价:是当前大型系统或软件开发的最现实的方法。采用一种软件工程逐步逼近的演化方法,使开发人员和用户能了解每一个演化级的风险,并作出反应。不足:很难让用户确信这种演化方法是可控制的。,螺旋模型,风险分析,工程,用户评价,计划,初始需求分析与项目计划,基于用户说明的计划,用户评价,基于初始需求的风险分析,基于用户反馈的风险分析,初始软件原型,第二次原型,工程系统,“基于版本发布”的特点,V1.0,功能,时间,V2.0,V1.1,螺旋模型的优点 对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标。减少了过多测试或测试不足所带来的风险。在螺旋模型中维
11、护只是模型的另一个周期,因而在维护和开发之间并没有本质区别。,螺旋模型的缺点 螺旋模型是风险驱动的,因此要求软件开发人员必须具有丰富的风险评估经验和这方面的专门知识,否则将出现真正的风险:当项目实际上正在走向灾难时,开发人员可能还以为一切正常。,喷泉模型,进一步开发,实现和集成阶段,运行状态,实现阶段,面向对象设计阶段,计划阶段,面向对象分析阶段,需求阶段,维护期,喷泉模型特点,主要用于支持面向对象开发过程,体现了软件开发所固有的迭代性和无间隙特征。“喷泉”一词体现了迭代和无间隙特性。图中代表不同阶段的圆圈相互重叠,这明确表示两个活动之间存在重叠。,统一的软件开发过程,统一的软件开发过程是基于
12、构件的,它使用新的可视化建模标准,即统一的建模语言(UML),并依靠三个关键思想:使用用例驱动、以体系结构为中心、迭代与增量开发。,统一过程,由Booch、Jacobson及Rumbaugh提出,统一过程模型如图所示。,版本,图2:一次循环所包含的阶段和迭代,时间,统一的软件开发过程,是生存期模型发展迄今的里程碑,它集中了所有生存期模型的优点。,基于构件的软件开发(CBD),使用可重用(reuse)的软件“构件”来设计和构造基于计算机的软件系统。从应用系统的结构来看,通常包括三类成分:通用基本构件、领域共性构件、应用专用构件。应用软件开发中的重复劳动主要存在于前两类构件上。,基于构件的软件工程
13、(CBSE)过程模型,构 件 开 发分析 设计 编程 测试,领域分析,系统测试,构件提交,领域专家经验,现有系统资料,领域构件需求,构件/构架库,领域构架,领域构件,系统开发,系统专用构件,应用系统,构件生产线,领域构架,领域构件,问题域,用户需求,系统生产线,系 统 组 装 分析 设计 编程,构架细化,专 用 构 件 开 发分析 设计 编程 测试,软件生产线,要实现软件重用,要解决两方面的问题:,(1)重用软件(构件)的开发;(2)应用系统如何构造和组装。,解决上述两个问题的一些关键因素:,软件构件技术,软件体系结构,领域工程,再生工程,开放系统技术,软件开发过程,CASE技术,非技术因素,
14、软件生存期模型相关考题:2007 一(2)2009 一(2),二(3)2010 一(2),二(4),软件过程成熟度的概念软件过程成熟度(Software Process Maturity)是软件过程改进的一个重要概念,它是指:一个特定软件过程得到清晰的定义、管理、测量、控制的有效程度。成熟度意味着能力的增长具有潜力,并表示组织软件过程是珍贵的,他在组织内所有项目中的应用是一致的。,什么是CMMCMM是能力成熟度模型Capability Maturity Model三个英文单词第一个字母组成的。事实上,该模型最早提出时,它指的是软件过程能力成熟度模型。20世纪90年代,SEI建立的评估一个组织开
15、发软件能力的方法。该模型按软件过程的不同成熟度划分了5个等级,1级被认为成熟度最低,5级则成熟度最高。,基于CMM的模型自从CMM面世以来在各国软件界中产生了巨大影响,它在解决软件过程存在问题方面的成功使得相关领域也纷纷采纳和仿效它的模式,于是出现了多种基于CMM的模型,构成了一个CMM族。,过程能力,2、关键过程域,关键过程域:确定了要实现一个成熟度级别所必须解决的问题和目标。处于级别3的软件机构一定要解决级别2和级别3中所有关键域中的问题,4、5级类推。,CMMI模型的两种表示,两种表示的对比,两种表示的对比,从上表的对比中可以看出,分级表示为实施过程改进的组织规定了既定的软件能力成熟度提
16、升的路径,即从初始级开始逐级看出。,3、共同特征,每个关键过程由5个部分组成,称为共同特性。执行约定执行能力执行活动度量和分析验证实现,4、关键实践,共同特性中的实践描述了要建立一个过程能力所必须完成的活动。即一个关键过程都要用关键实践的概念进行描述,CMM有316个关键实践。关键实践描述了对关键过程域的有效实施和在制度化中起重要作用的基础实施和活动。关键实践只描述“做什么”,不规定“怎么做”。如不指定生存期模型,不规定产品实现所采用的开发方法和开发工具,从而可以让各个机构选择自己的方法。但必须合理的说明关键实践,以判断是否有效的实现了关键过程域的目标。,CMM相关考题:2008 三(3)IS
17、O相关考题:2009 二(4)2010 二(5),软件开发活动与支持软件工程活动的技术,软件开发的基本活动:需求规约设计实现测试,软件需求分析阶段的任务,可以把软件需求分析阶段的工作分为4个步骤,即获取需求、分析需求、定义需求和验证需求,如图所示。,软件需求分析阶段的工作步骤,结构化分析方法,结构化分析方法传统的分析建模方法称为结构化分析(structured analysis,SA)方法。最有代表性的是一种面向数据流进行需求分析的方法,最初于20世纪70年代由D.Ross提出,后来又经过扩充,形成了今天的结构化分析方法的框架。,结构化分析模型的结构,数据字典(DD),数据流图(DFD),实体
18、关系图(E-R图),状态变迁图(STD图),加,工,规,格,制规格说,数,据,对象,描 述,说,明,控,明,信息流模型,任何基于计算机的系统都可以用数据流模型来描述数据流的基本模型如下:,信息流的基本要素,信息流中有哪些基本要素?外部实体 数据 数据的流动 对数据的处理,基本符号和概念,数据流图(DFD,Data Flow Diagram):也称为“泡泡图”,描述信息流和数据从输入到输出变换的应用图形技术,能表示数据在系统内的变化。,DFD可以分层表示信息流和功能的进一步的细节。,S,2,1,3,2.2,2.1,2.3,3.1,3.2,0层,1层,2层,细化时,应该注意信息流的连续性(也称:平
19、衡)。,实例:简化的学生运动会管理信息系统,描述:注册员根据学生运动会的比赛规则,首先登记报名单的基本信息(队名,参加项目,运动员姓名,运动员号);裁判员根据比赛项目和系统确认的项目组织参加者比赛,并把各队项目参加者的比赛项目成绩录入系统;系统可在计算机屏幕上自动显示比赛的单项名次和团体名次;运动员可通过注册员查询运动员的号码单和各队比赛成绩。,确定系统与外界的关系,即系统的顶层(0层)DFD(系统环境图),第0层的DFD要扩展到第1层,我们应该怎么进行?,一个简单而有效的方法是:对该层圆圈所描述的处理说明进行“语法扫描”,即将说明中的所有名词(和名次短语)和动词(和动词短语)分离出来。即在所
20、有第一次出现的名词下面加下划线,所有第一次出现的动词下面加波浪线 完成“语法扫描”后,我们可以看到一种模式:所有的动词可能是加工。即它们最终将被表示为后来DFD的圆圈,所有名词是外部实体(方框),数据、控制对象(箭头)和数据存储(双杆),进一步注意到名词和动词可以彼此相关。,对0层的细化 注册员根据学生运动会的比赛规则,首先登记报名单的基本信息(队名,参加项目,运动员姓名,运动员号);裁判员根据比赛项目和系统确认的项目组织参加者比赛,并把各队项目参加者的比赛项目成绩录入系统;系统可在计算机屏幕上自动显示比赛的单项名次和团体名次;运动员可通过注册员查询运动员的号码单和各队比赛成绩。,对1层加工的
21、细化,什么是数据字典,数据字典也叫需求字典,在结构化过程中,把数据字典作为描述被定义对象内容的一种标准格式语法规则。数据字典是DFD的补充工具,它对数据流图中的组成要素进行补充说明,数据字典的条目,数据流条目数据存储条目外部项条目处理过程条目,数据字典条目包含的内容,数据字典的每一条目中应包括以下信息:1)名称:数据项或者控制项的主要名称,数据 存储或外部实体的主要名称别名:最早使用的另一个名称。何处用/怎么用:一个用于数据项或控制项的过程列表,及其使用方法(如,对过程的输入、从过程输出、作为一个存储、作为一个外部实体)。内容描述:表示内容的符号表示方法附加信息:关于数据类型、预置值(如果知道
22、)、限制或极限等信息。,数据定义的符号,构成数据的基本形式有三种:顺序(sequence)数据项;从数据项大集合中选择(selection);数据项的重复组合(repeated grouping)。,符号表示可以用于开发内容的描述(如下表所示)能使分析员描述组合数据。,数据字典条目实例(1),数据存储:1)名称:团队成绩 别名:团体成绩 何处用/怎么用:存储各个团队的成绩 内容描述:队名总分 组织:按队名拼音递增排列 2)名称:运动员名单 别名:无 何处用/怎么用:存储运动员的基本信息 内容描述:队员运动员号姓名项目名3或更多 组织:按运动员递增排列数据流:1)名称:单项成绩 别名:无 内容描
23、述:项目名运动员成绩破记录 2)名称:各队成绩 别名:无 内容描述:队名总分姓名项目名成绩破记录,数据字典条目实例(2),名称:电话号码别名:无何处用/怎么用:需要与外界通信(输出)拨号(输入)内容描述:电话号码=校内家属区号码|校办公区号码|桂林市号码|国内各地区号码|国外各地区号码校内家属区号码=受话号码校内办公区号码=校内办公区冠号+受话号码桂林市号码=国内冠号+受话号码国内各地区号码=出总机号+国内冠号+地区号+受话号码国外个地区号码=出总机号+国外冠号+国别号+城市号+受话号码,校内办公区冠号=54国内冠号=0国外冠号=00出总机号=8地区号=2-5位数字国别号=1-5位数字城市号各
24、国不同,也由不同为数的数据组成受话号码=3-8位数字附加信息:有些国家城市号第一位的数字是“0”时,拨号时应将“0”去掉。,加工规格说明,在对数据流图的分解中,位于层次树最低层的加工也称为基本加工或原子加工,对于每一个基本加工都需要进一步说明,这称为加工规格说明。在编写基本加工的规格说明时,主要目的是要表达“做什么”,而不是“怎样做”。,加工规格说明,加工规格说明应满足如下的要求:(1)对数据流图的每一个基本加工,必须有一个加工规格说明。(2)加工规格说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则。(3)加工规格说明必须描述实现加工的策略而不是实现加工的细节。(4)加工规格说明
25、中包含的信息应是充足的,完备的,有用的,没有重复的多余信息。,加工规格说明,决策表举例商店业务处理系统中“检查订货单”的决策表。,加工规格说明,建立决策表的步骤(1)列出与一个具体过程(或模块)有关的所有处理。(2)列出过程执行期间的所有条件(或所有判断)。(3)将特定条件取值组合与特定的处理相匹配,消去不可能发生的条件取值组合。(4)将右部每一纵列规定为一个处理规则,即对于某一条件取值组合将有什么动作。,加工规格说明,决策树决策树(decision tree)也是用来表达加工逻辑的一种工具,有时侯它比决策表更直观。检查订货单的决策树,需求分析与SA相关考题:2007 三(1),四(1)(2)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习 同等学力 硕士
链接地址:https://www.31ppt.com/p-6434214.html