



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章 软件工程概述一、软件的定义和特性 (P2P3)定义:软件=程序+数据+文档 程序:按照事先设计的功能和性能要求执行的指令或语句序列 数据:程序能正常操纵信息的数据结构 文档:描述程序操作和使用的文档特性:(1) 软件是一种逻辑实体,具有抽象性,不是一般的物理实体;(2) 软件的成产与硬件存在某些相同点,但有根本上的不同,软件开发是人的智力的高度发挥,而不是传统意义上的制造,它更依赖于开发人员的素质,智力,人员和组合,合作和管理;(3) 软件维护与硬件维修有着本质的差别,软件维护没有硬件维护那样有可替换的标准零件;(4) 软件在运行和使用期间没有硬件那样的机械磨损,老化问题,但存在退化问题;(5) 基于构件的开发方法由于其自身的特点越来越受到人们的重视,这些技术可以减少开发时间、提高质量,并提高复用水平。* 掌握P4图1-2(b)软件失效率曲线二、计算机软件的发展经历了几个阶段?各有何特征?(P1P2)共经历了四个阶段特征:第一阶段程序规模小且主要采用个体工作方式,开发的系统大多采用批处理技术 第二阶段引入人机交互的概念,实时系统出现,产生了第一代数据库管理系统,程序编制采用了合作的工作方式,出现了早期的软件危机 第三阶段分布式系统出现,嵌入式系统得到广泛应用,低成本硬件 第四阶段强大的桌面系统和计算机网络迅速发展时期,面向对象技术得到广泛应用,人工智能技术和专家系统开始应用于软件。三、什么是软件危机?其产生的原因是什么?定义:软件危机是指由于落后的软件生产方式无法满足迅速增长的计算机软件应用需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。(P4)原因:(P5)(1) 用户对软件需求的描述不准确、不全面,甚至有错误,以及在开发过程中,不断提出或者修改需求;(2) 用户和开发人员对软件需求的理解存在差异,导致所开发的软件产品和用户需求不一致;(3) 大型软件项目需要组织一定的人力共同完成,各类人员的信息交流不及时、不准确,有时还可能产生误解,软件开发人员对大型软件缺少开发经验,管理人员缺少相应的管理经验;(4) 软件开发人员不能有、独立自主的处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误;(5) 开发技术落后,缺乏有效的方法学和工具方面的支持,过分依赖程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化(6) 软件产品的特殊性和人类智力的局限性,导致人们无法处理“复杂问题”,因为软件是逻辑产品,软件开发进展情况较难衡量、软件开发质量难以评价、管理和控制软件开发过程相当困难。四、什么是软件工程?它的目标和内容是什么? 定义:将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中,并对方法的研究。(P6) 目标:在给定的成本和进度前提下,开发出具有可修改性、可理解性、可维护性、有效性、可靠性、可适用性、可重用性、可移植性、可跟踪性和互操作性并且满足用户需求的软件产品。(P7) 内容:主要内容包括软件开发技术和软件工程管理两方面。(P6) 要素:方法,工具,过程五、什么是软件生存周期?它有哪几个活动? 定义:(software life cycle)把软件产品从形成概念开始,经过定义、开发、使用和维护直到最后退役的全过程。 活动:软件定义、软件开发、软件使用维护和退役(P9) 六、什么是软件生存周期模型?它有哪些主要模型? 定义:又称为软件开发模型,软件过程模型,它清晰直观地反映了软件开发的全部过程、所涉及的活动和任务结构框架,并指出了开发了开发各阶段的关系、开发活动的衔接情况。 主要模型:瀑布模型(waterfall model),原型(prototype)模型,螺旋(the spiral)模型,增量(incremental)模型,喷泉(fountain)模型,迭代(iterative)模型七、简述有哪些主要的软件开发方法?(P22) 结构化方法:也称为生命周期方法或传统方法,由结构化分析(structured analysis)、结构化设计(SD)、结构化编程(SP)三部分有机组合而成。其基本思想是自顶向下,逐步求精,基本原则是抽象和分解。 面向对象方法(ObjectOriented Method):把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO。包括面相对象分析(OOA)、面向对象设计(OOD)、面向对象的程序设计(OOP)等过程。八、软件生命期各阶段的任务是什么?(P10) 软件定义:问题定义,系统的可行性研究,需求分析 软件开发:概要设计,详细设计,编码实践,软件测试 软件使用维护和退役:软件发布与实施,软件维护,版本更新或退役九、简述瀑布模型(P12)、原型模型特点。 瀑布模型:软件开发的各项活动严格按照线性方式进行,各阶段之间具有顺序性和依赖性,且为了保证软件的开发质量进行阶段性评审。缺点是逆转性差,若在评审中发现缺陷或错误往回追溯修正时要付出一定的代价。适合在软件需求明确且很少发生变化、开发技术比较成熟、工程管理比较严格地场合使用。 原型模型:有助于用户和软件分析员双方相互学习对方领域知识,使得用户和开发人员统一对软件需求的认识,理解,有助于需求的定义评审,从而有助于提高开发速度。缺点是用户对原型没有正确认识,会催促开发人员尽早交付软件,同时也在一定程度上限制了软件开发人员的创新。(P14)第二章 软件需求基础一、试述软件需求、需求分析、需求建模概念的含义及区别。 软件需求:指用户对目标软件系统在功能、性能、行为、涉及约束等方面的期望,这种期望可能是原始的、笼统的,也可能是抽象的太细节化的。(P26) 需求分析:通过对应用问题及其环境的分析与理解,采用一系列的分析方法和技术,将用户的需求逐步精确化、完全化、一致化,最终形成需求规格说明文档的过程。(P26) 需求建模:需求建模是为了更好的理解用户所描述的需求所作出的一种抽象,是用符号语言对事务无歧义的书面描述。模型主要包括数据模型,功能模型和行为模型。(P38)二、可行性研究的任务是什么?(P31) 用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。三、成本效益分析可用哪些指标进行度量?(P32) 成本效益分析是衡量经济可行性的。 指标:(1)货币的时间价值。(2)投资回收期(3)纯收入四、需求分析阶段的基本任务是什么?(P27) 任务:深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。五、简述需求分析阶段的过程。(P36) 1问题识别 2分析与综合 3编制需求分析阶段的文档 4需求验证六、常用的初步软件需求获取的方法有哪些?为什么要用这些方法来进行需求获取?(P33) 方法: 1访谈与会议 2观察用户工作流程 3建立联合小组 4其他获取方法:快速原型法,基于本体的需求获取方法 原因:分析人员和用户的共同知识领域可能不多,致使分析人员对问题往往知之不多,而用户对目标软件的要求及对要求的描述常常是零乱而模糊地,从而会造成相互交流和互相理解上的困难。七、在软件需求分析时,应首先建立当前系统的物理模型,在根据物理模型尽力当前系统的逻辑模型。试问:什么是当前系统?当前系统的物理模型与逻辑模型有什么差别?(P28) 当前系统:可能是需要改进的某个已在计算机运行的数据处理系统,也可能是一个人工的数据处理过程。 物理模型是确定待开发软件系统的系统元素,并将功能和数据结构分配到这些系统元素中,它是软件实现的基础。逻辑模型忽视实现机制与细节,只描述系统要完成的功能和要处理的数据。 逻辑模型是在物理模型的基础上去掉一些非本质因素形成的,它反应的是系统的本质。第三章 软件设计基础一、什么是软件概要设计?该阶段的基本任务是什么? 定义:设计人员依据软件需求规格说明文档,确定软件的体系结构,建立软件模块间的关系,定义个功能模块的接口,设计全局数据库或数据结构,规定设计约束,指定组装测试计划。 任务:将软件需求转化为软件的系统结构和数据结构(P49) *力争做到功能模块之间有比较低的耦合度而功能模块内部有较高的内聚度。二、详细设计的基本任务是什么?有哪几种描述方法? 任务:通过对软件结构细化,得到软件的详细的算法和数据结构。(P49) 描述方法:(过程设计)程序流程图 盒图(N-S图) 问题分析图(PAD图) 判定表和判定树 过程设计语言(PDL)(P77)三、软件设计的基本原理包括哪些内容?(P51) 抽象与逐步求精、模块化、信息隐蔽、模块独立四、衡量模块独立性的两个标准时什么?各表示什么含义? 标准:内聚和耦合 含义:内聚(cohesion)衡量一个模块内部各个元素彼此结合的紧密程度 耦合(coupling)衡量不同模块之间的相对独立性(互相连接的紧密程度)五、模块的耦合性有哪几种?各表示什么含义? 种类:非直接耦合两个模块之间没有直接关系,他们中任何一个都不依赖于另一个而能独立工作 数据耦合一模块访问另一模块,相互传递的信息已参数形式给出,并且传递的参数完全是简单数据元素,而不是控制元素、公共数据结构和外部变量。 标记耦合两模块之间都要使用同一数据结构的一部分,不是采用全程公共数据区共享,而是通过模块接口界面传递数据结构的一部分。 控制耦合一模块传递给另一模块的参数中包含了控制信息(开关,标记,名字等),该控制信息勇于控制接收模块中的执行逻辑。 外部耦合一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量信息。 公共耦合一组模块都访问同一个公共数据环境 内容耦合一模块直接访问另一模块的内部数据;一个模块不通过正常入口转到另一模块内部;两个模块有一部分程序代码重迭(只出现在汇编程序中);一个模块有多个入口。 *从上到下耦合性从低到高,独立性从高到底六、模块的内聚有哪几种?各表示什么含义? 种类:巧合内聚(偶然内聚)将几个模块中没有明确表现出独立功能的相同程序代码段独立出来建立的模块 逻辑内聚完成一组在逻辑上相关的任务的模块间具有逻辑内聚 时间内聚(经典内聚)完成几个必须在同一时间内进行的任务的模块间具有时间内聚 过程内聚一个模块完成多个任务,这些任务必须按指定的过程执行。把流程图中的某一部分划出组成模块就得到过程内聚模块 通信内聚一个模块内所有成分都使用同一输入数据或产生同一输出数据,即一个模块内所有处理元素都集中在某个数据结构的一块区域中的模块具有通信内聚 信息内聚一个模块内完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点七、结构化程序设计的基本要点是什么? 结构化程序设计是尽可能少用GOTO语句的程序设计方法。最好仅在检测出错误时才使用GOTO语句,而且应该总是使用前句GOTO语句。第四章 结构化分析与设计一、什么是结构化分析方法?该方法使用什么描述工具?(P85P86)定义:结构化分析方法是一种利用自顶向下逐层分解、由粗到细、由复杂到简单技术的求解方法。工具:数据流图(DFD 实体关系图(E-R) 数据字典(DD) 描述基本加工小说明(Process SPECification)二、什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?(P87)定义:数据流图是描述数据加工处理过程的有效工具。它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。作用:主要描述系统的功能,即当前系统主要完成哪些功能。基本符号:箭头数据流 圆或椭圆加工(变换) 双杠或单杠数据 矩形框外部实体三、什么是数据字典?其作用是什么?共有哪些条目?(P94)定义:数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确地、严格地定义了每一个与系统相关的数据元素,并以字典式顺序将它们组织起来,使得用户和分析员对所有的输入、输出、存储成分和中间计算有共同的理解。作用:对系统所有的数据进行描述和解释并进行管理。条目:数据项条目、数据流条目、数据库文件条目(P96)四、简述如何画分层数据流图,对分层数据流图的审查由哪些审查要点?(P88 P92) 画法:首先,把整个系统看成一个加工作为顶层数据流图(0层);然后,逐层对大的加工进行分解,分解为更小的自加工;最后,直到所有的加工都成为基本加工(不需要再分解,足够简单可以直接解决的加工)为止。 审查:1、数据流图和程序流程图的混淆 2、父图和子图的平衡问题 3、局部文件问题 4、分解的深度与层次五、什么样是“事物流”?什么事“变换流”?试将相应形式的数据流图转换为软件结构图。(P104)事物流数据沿传入路径到系统,由外部形式变换为内部形式后到达事务中心(完成分派任务),事务中心根据数据项计值结果从若干动作路径中选定一条继续执行。(事务中心)变换流信息以“外部世界”所具有的形式进入系统,经处理后又以这种形式离开系统。包括传入路径,变换中心,传出路径三部分。(变换中心)步骤:(1)对结构化分析阶段产生的DFD图进行复审; (2)确定数据流图的类型 (3)按照SD方法所规定的一组映射规则,把DFD图转换为初始SC图六、试述“变换分析”、“事务分析”设计步骤。(P106P108)变换分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年国际贸易函授试题及答案
- 小鸟恋爱测试题及答案
- 商场台风应急预案
- 影像科模拟面试题及答案
- 节日幕墙应急预案
- 妇儿医院应急预案
- 2025年中专技术测量试卷及答案
- 通信宽带装机合同(标准版)
- 烤箱租赁创新创业项目商业计划书
- 维生素D3钙吸收促进行业跨境出海项目商业计划书
- 租房安全协议合同书
- 2025年化工应聘面试试题及答案
- 登高作业安全培训
- 智能书架解决方案
- 五金厂生产管理方案
- 江苏省南京师范大学附属中学2023-2024学年高二上学期期初测试数学试题
- (高清版)JTG 6310-2022 收费公路联网收费技术标准
- 快递实务(第2版)高职物流管理专业全套教学课件
- 线上平台运营方案
- 详细的电机分类讲解课件
- 《区域空间结构》课件
评论
0/150
提交评论