已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章1、软件工程的基本原理(1) 用分阶段的生命周期计划严格管理(2) 坚持进行阶段评审(3) 实行严格的产品控制(4) 采用现代程序设计技术(5) 结果应能清楚地审查(6) 开发小组的人员应该少而精(7) 承认不断改进软件工程实践的必要性2、软件工程方法学的三要素:方法、工具、过程方法:完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具:为运用方法而提供的自动的或半自动的软件工程支撑环境;过程:为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。3、面向对象方法学的4个要点(1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。 (2)把所有对象都划分成类(class)。(3)按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。(4)对象彼此间仅能通过发送消息互相联系。4、软件生命周期分时期、分阶段。各阶段主要完成的任务,回答什么问题软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。软件定义时期的任务是: 确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。维护时期的主要任务是使软件持久地满足用户的需要。具体地说,当软件在使用过程中发现错误时应该加以改正;当环境改变时应该修改软件以适应新的环境;当用户有新要求时应该及时改进软件以满足用户的新需要。通常对维护时期不再进一步划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程。每个阶段的基本任务:1、问题定义:问题定义阶段必须回答的关键问题是:“要解决的问题是什么?” 这个阶段的任务是通过对客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告得到客户的确认。2、可行性研究:这个阶段的任务是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法,回答:“对于上一个阶段所确定的问题有行得通的解决办法吗?” 的问题3、需求分析:这个阶段的任务是确定目标系统必须具备哪些功能。准确地回答“为了解决这个问题,目标系统必须做什么”。4、总体设计:必须回答的关键问题是:“概括地说,应该怎样实现目标系统?” 这个阶段的任务一个是软件工程师实现目标系统的几种可能的方案,通过分析权衡每种方案的优缺点后选出最佳方案,制定实现最佳方案的详细计划;另一个是设计程序的体系结构,即确定程序由哪些模块组成和模块间的关系。5、详细设计:这个阶段的任务是把解法具体化,即详细设计每个模块,确定模块功能需要的算法和数据结构。回答下面这个关键问题:“应该怎样具体地实现这个系统呢?” 6、编码和单元测试:这个阶段的任务是写出正确的容易理解、容易维护的程序模块7、综合测试:这个阶段的任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。8、软件维护:这个阶段的任务是通过各种必要的维护活动是系统持久地满足用户的需要。5、几种典型的模型,基本特点1、瀑布模型特点:1. 阶段间具有顺序性和依赖性2. 推迟实现的观点3. 质量保证的观点瀑布模型的优点:结构简单,强调软件开发过程的阶段性和顺序性;对软件开发管理严格,文档齐全(里程碑驱动或称文档驱动),注重复审,保证了软件的质量;软件开发的支持工具比较齐全;支持推迟实现的观点,尽可能将编码向后推迟.瀑布模型的缺点:过程不可逆转,前面阶段隐藏下来的问题会在后面放大;由于强调软件开发的阶段性,反馈信息慢,拖延了开发进度;由于是文档驱动的,因此耗费了太多的时间和精力;重视需求规格说明,然而获得一个完整的规格说明是非常困难的,导致了开发出来的系统最终需求与最初需求不一致,大大地降低了实用性.二、快速原型模型快速原型模型是不带反馈环的,这正是这种过程模型的主要优点:软件产品的开发基本上是线性顺序进行的。三、增量模型(也称为渐增模型)能在较短时间内向用户提交可完成部分工作的产品,是增量模型的一个优点。另一个优点是:逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。增量模型的优点:(PPT里的)项目可以分解为多个子系统,子系统之间边界清楚;任务或功能模块驱动,可分阶段提交产品;系统本身具有良好的模块化特征,模块内部高内聚,模块之间低耦合,模块本身信息隐蔽;增量模型的缺点:(PPT里的)不适合各部分联系紧密的项目;系统整体结构的一致性可能较差;各子系统风格可能不一致.四、螺旋模型螺旋模型优点:对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险;在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。螺旋模型的主要优势在于,它是风险驱动的,但是,这也可能是它的一个弱点。五、喷泉模型体现了面向对象软件开发过程的迭代和无缝的特性。综合分析第二章1、数据流图的符号数据流图有四种基本符号:正方形(或立方体):数据的源点或终点;圆角矩形(或圆形):变换数据的处理;开口矩形(或两条平行横线):数据存储;箭头:数据流,即特定数据的流动方向。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。2、数据字典的组成元素,符号定义一般说来,数据字典应该由对下列4类元素的定义组成:1.数据流2.数据流分量(即数据元素)3.数据存储4.处理符号定义:=意思是等价于(或定义为);+意思是和(即,连接两个分量); 意思是或(即,从方括弧内列出的若干个分量中选择一个),通常用“|”号隔开供选择的分量; 意思是重复(即,重复花括弧内的分量);( )意思是可选(即,圆括弧里的分量可有可无)。例:某程序设计语言规定,用户说明的标识符是长度不超过8个字符的字符串,其中第一个字符必须是字母字符,随后的字符既可以是字母字符也可以是数字字符。标识符=字母字符+字母数字串字母数字串=0字母或数字7字母或数字=字母字符数字字符由于和项目有关的人都知道字母字符和数字字符的含义,因此,关于标识符的定义分解到这种程度就可以结束了。3、成本/效益分析的公式(1) 货币的时间价值 通常用利率的形式表示货币的时间价值。假设年利率为i,如果现在存入P元,则n年后可以得到的钱数为:F=P(1+i)n这也就是P元钱在n年后的价值。反之,如果n年后能收入F元钱,那么这些钱的现在价值是:P=F/(1+i)n假定年利率为12%,利用上面计算货币现在价值的公式可以算出修改库存清单系统后每年预计节省的钱的现在价值,如表所示。设想把数量等于投资额的资金存入银行,每年年底从银行取回的钱等于系统每年预期可以获得的效益,在时间等于系统寿命时,正好把在银行中的存款全部取光,那么,年利率等于多少呢?这个假想的年利率就等于投资回收率。P= F1/(1+ j) +F2/(1+ j) 2+ +F3/(1+ j) 3 + + Fn/(1+ j) nP:投资额;Fi:第i年的收益;n:系统寿命;j:投资回收率例如,修改库存清单系统:求解该高次方程,投资回收率为j=0.41%.第三章1、E-R 图使用实体联系图来建立数据模型。可以把实体、联系图简称为E-R图。2、数据规范化软件系统常常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库货文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。通常用“范式”定义消除数据冗余的程序。第一范式(1 NF)数据冗余程序最大,第五范式(5 NF)数据冗余程序最小。但是,第一,范式级别越高,存储同样数据就需要分解成更多张表,因此,“存储自身”的过程也就越复杂。第二,随着范式级别的提高,数据的存储结构与基于问题的结构间的匹配程序也随之下降,因此,在需求变化时数据的稳定性较差。第三,范式级别提高则需要访问的表增多,因此性能(速度)将下降。从使用角度看来,在大多数场合选用第三范式都比较恰当。通常按照属性间的依赖情况区分规范化的程度。属性间依赖情况满足不同程序要求的为不同范式,满足最低要求的是第一范式,在第一范式中再进一步满足一些要求的为第二范式,其余依次类推。下面给出第一、第二和第三范式的定义。(1) 第一范式 每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。(2) 第二范式 满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)。(3) 第三范式 符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述。3、状态转换图符号,语法,状态3.6.1、状态状态是热河可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,即可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态又做动作。 在状态图中定义的状态主要有:初态(即初始状态)、终态(既最终状态)和中间状态。在一张状态图中只能有一个初态,而终态则可以有0到多个。 状态图既可以标普世系统循环运行过程,也可以表示系统单程生命期。当描绘循环运行过程时,通常并不关心循环是怎样启动的。当描绘单程生命期时,需要标明初始状态(系统启动时进入初始状态)和最终状态(系统运行结束时到达最终状态)。3.6.2 事件事件是在某个特定时刻发生的事情,它是对引起系统做动作或从一个状态转换到另一个状态的外界事件的抽象。例如,内部时钟表明某个规定的时间段已经过去,用户移动或单击鼠标等都是事件。简而言之,事件就是引起系统做动作货(和)转换状态的控制信息。3.6.3符号在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。中间状态用圆角矩形表示,可以用两条水平横线把它分成上、中、下3个部分。上面部分为状态的名称,这部分是必须有的;中间部分为状态变量的名字和值,这部分是可选的;下面部分是活动表,这部分也是可选的。活动表的语法格式如下:事件名(参数表)|动作表达式其中,“事件名”可以是任何事件的名称。在活动表中经常使用下述3钟标准事件:entry,exit和do.entry事件指定进入该状态的动作,exit事件指定退出该状态的动作,而do事件则指定在该状态下的动作。需要时可以为事件指定参数表。活动表中的动作表达式描述应做的具体动作。状态图中两个状态之间带箭头的连线称为状态转换,箭头指明了转换方向。状态变迁通常是由事件触发的,在这种情况下应在表示状态转换的箭头线上标出触发转换的事件表达式;如果在箭头线上末标明事件,则表示在源状态的内部活动执行完后自动触发转换。事件表达式的语法如下:事件说明【守卫条件】|动作表达式其中,事件说明的语法为:事件名(参数表)守卫条件是一个布尔表达式。如果同时使用事件说明和守卫条件,则当且仅当事件发生且布尔表达式为真时,状态转换才发生。如果只有守卫条件没有事件说明,则只要守卫条件为真,状态转换就发生。动作表达式是一个过程表达式,当状态转换开始是执行该表达式。图3.3给出了状态图中使用的主要符号。 第四章按照形式化的程序,可以把软件工程使用的方法划分成非形式化、半形式和形式化3类。用自然语言描述需求规格说明,是典型的非形式化方法。用数据流图或实体-联系图建立模型,是典型的半形式化方法。第五章(待检查)1抽象、信息隐藏和局部化(P95-96)2.耦合、内聚分类(P97-99)耦合可以分为:1)数据耦合2)控制耦合3)特征耦合4)公共环境耦合5)内容耦合内聚可以分为:1) 功能内聚2) 顺序内聚3) 通信内聚4) 过程内聚5) 时间内聚6) 逻辑内聚7) 偶然内聚3.几条启发式规则(P100)1)改进软件结构提高模块独立性2)模块规模应该适中3)深度、宽度、扇出和扇入都应适当4)模块的作用域应该在控制域之内5)力争降低模块接口的复杂程度6)设计单入口单出口的模块7)模块功能应该可以预测4.结构图的符号(P103)1)一个方框代表一个模块2)方框之间的箭头(或直线)表示模块的调用关系3)带注释的箭头标示模块调用过程中来回传递的信息(空心圆表示传递的是数据,实心圆表示传递的事控制信息)5.变化流和事务流(P105)1)信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。当数据流图具有这些特征时,这种信息流就叫做变换流。2)数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这类数据流应该划为一类特殊的数据流,称为事务流。第7章 :1. Alpha和Beta测试Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“知道”下进行测试。Beta测试由软件的最终用户们在一个或多个客户场所进行。2. 白盒测试3. 黑盒测试4. 集成测试集成测试是测试和组装软件的系统化技术,例如,子系统测试即是在把模块按照设计要求组装起来的同时进行测试,主要目标是发现与接口有关的问题(系统测试与此类似)。第8章 :1. 从哪些方面度量维护工作的(2) 每次程序运行平均失效的次数。(3) 用于每一类维护活动的总人数时。(4) 平均每个程序、每种语言、每种维护类型所做的程序变动数。(5) 维护过程中增加或删除一个源语句平均花费的人时数。(6) 维护每种语言平均花费的人时数。(7) 一张维护要求表的平均周转时间。(8) 不同维护类型所占的百分比。2. 决定软件可维护性的因素(1) 可理解性(2) 可测试性(3) 可修改性(4) 可移植性(5) 可重用性3. 正向工程正向工程也称为革新或改造,这项活动不仅从现有程序中恢复设计信息,而且使用该信息去改变或重构现有系统,以提高其整体质量。4. 文档的要求(1) 必须描述如何使用这个系统,没有这种描述时即使是最简单的系统也无法使用。(2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 德语高频词汇A级词汇测试及解析含答案
- 企业管理-物流企业资金申请报告模板
- 机械设计与制造测试题及答案宝典
- 建筑工程安全知识题库与答案解析
- 建筑材料与构造考试试题及参考答案详解
- 积极心理学心态自测题及答案全解析
- 建筑工程防汛应急措施知识题库及答案
- 电商运营进阶技能测试答案详解
- 公共安全基础知识测试火灾篇答案详解
- 库房安全操作规范与流程培训试题集
- 2025年湖南中考语文试卷和参考答案
- 2025山东滨州无棣县中政土地产业集团有限公司及权属公司招聘工作人员14人考试笔试参考题库附答案解析
- 2025天津政昕资管公司招聘1人笔试考试参考试题附答案解析
- 2025巴彦淖尔市农垦(集团)有限公司招聘37人考试笔试模拟试题及答案解析
- 基于实践案例的高中生物校本课程开发与实施路径探究
- 志愿者入户服务技巧培训
- 2025浙江嘉兴市体育彩票管理服务中心招聘编外人员4人笔试考试备考题库及答案解析
- 中国人寿校招面试题及答案
- “敦煌诗巾”文创AR包装设计的文化转译策略
- 2025年招教考试化学真题及答案
- 雨课堂在线学堂《现代汉语言语交际》单元考核测试答案
评论
0/150
提交评论