1该习题答案由学生完成,仅供参考。象声词同学们能独立完成习题!《软件工程》习题第一章习题1、计算机软件系统4个不同的发展阶段是:程序设计、程序系统、软件工程、面向对象阶段。2、软件危机发生在那个阶段?主要指哪两方面的问题?程序系统阶段原因:1、如何开发软件,以满足对软件日益增长的需求。2、如何维护数量不断膨胀的已有软件。3、软件危机有几方面的典型表现?○1、对软件开发成本和进度的估计常常很不准确○2、用户对“已完成的”的软件系统不满意的现象经常发生○3、软件产品的质量往往靠不住○4、软件常常是不可维护的○5、软件通常没有适当的文档资料○6、软件成本在计算机系统总成本中所占的比例逐年上升○7、软件开发效率提高的速度,远远跟不上计算机应用迅速普及及深入的趋势4、软件危机产生的原因是、。与软件本身的特点有关、软件开发与维护的方法不准确有关5、软件是、和的完整集合。程序、数据、相关文档6、如何解决软件危机?○1、一个软件必须是由一个完整的配置组成,事实上,软件是程序,数据及相关文档的完整集合○2、要充分认识到软件开发应该是一种组织良好、管理严密、各类人员协同合作、共同完成的工程项目○3、推广使用在实践中总结出来的开发软件的成功的技术和方法○4、应该开发和使用良好的开发软件工具○5、总之,为了解决软件危机,既要有必要的技术措施又要有必要的组织管理措施7、软件工程的定义?(以教材定义为准)采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护他,这就是软件工程。8、软件工程的本质特征有、、、、、和。2关注大型程序的构造、中心课题是控制复杂性、软件经常变化、开发软件的效率非常重要、和谐地合作是开发软件的关键、软件必须有效地支持它的用户和由具有一种文化背景的人替另一种文化背景的人创造产品9、软件工程的基本原理有、、、、、和。用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚地审查、开发小组的人员应该少而精和承认不断改进软件工程实践的必要性。10、软件工程学的三个基本要素是、、。方法、工具、过程11、软件工程学分为传统方法学和面向对象的方法学两大类。前者强调,而后者强调。自顶向下顺序的完成软件开发的各阶段任务、多次反复迭代的演化过程12、软件工程学中的面向对象的方法学有四个基本要点。它们是对象、类、系统、消息。把对象作为融合了数据及数据上的操作行为的统一软件构件、把所有对象都划分成类、按照父类与子类的关系把若关干个相关类组成一个层次结构的系统、对象彼此间仅能发送消息互相联系。13、什么是软件生命周期?软件从生产到软件报废的过程14、软件生命周期划分为几个时期几个阶段?各阶段主要任务是什么?软件定义、软件开发、软件为维护3个时期组成。软件定义:问题定义,可行性研究,需求分析;软件开发阶段:总体设计,详细设计、编码和单元测试,综合测试;软件维护:使软件持久地满足用户的需求15、软件生命周期中的软件维护分为几大类?哪类维护所占比重最大?改正性维护,适应性维护,完善性维护,预防性维护完善性维护占比重最大16、什么是软件过程?其任务集合主包括哪些内容?软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。包括一组软件工程任务、里程碑和应该交付的产品。17、瀑布模型、快速原型模型、增量模型、螺旋模型和喷泉模型格有什么特点和优缺点?1、瀑布模型:特点:○1、阶段间具有顺序性和依赖性○2、推迟实现的观点○3、质量保证的观点优点:3可强迫开发人员采用规范的方法;严格的规定了每个阶段必须提交文档;要求每个阶段的交出的所有产品必须经过质量保证小组的仔细验证缺点:瀑布模型是由文档驱动的是瀑布模型的主要缺点2、快速还原模型:特点:快速还原模型是快速建立起来的可直接在计算机上运行的程序,他所能完成的功能是最终产品的一个子集优点:软件产品的开发基本上是线性顺序进行的缺点:一旦需求确定了需求,原来的需求将被抛弃3、增量模型:优点:逐步增加产品功能可以使用户有比较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲突缺点:○1、把每个新的增量构件集成到现有的软件体系结构中时,必须不破坏原来已经开发出来的产品。○2、必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必须简单,方便,也就是说,软件体系结构必须是开放的○3、从某种意义上来说,增量模型是自相矛盾的4、螺旋模型优点:○1、对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个项目指标;○2、减少过多测试或测试不足所带来的风险○3、在螺旋模型中维护只是模型的另一个周期,在维护和开发之间的并没有什么区别5、喷泉模型喷泉模型体现了面向对象软件开发过程迭代和无缝的特性18、为什么说喷泉模型较好地体现了面向对象软件开发过程中的无缝和迭代特征?喷泉模型图中的代表不同阶段的圆圈相互重叠,这明确表示两个活动之间的交叠;而面向对象方法在这种概念和表示方法上的一致性,保证了各项开发活动之间的无缝过度。第二章习题1、可行性研究的目的是什么?可行性研究的内容是什么?确定问题是否值得去解决4技术、经济、操作、法律等的可行性2、可行性研究中对问题的解法可行性包括主要和次要方面。两者分别包含、、可行性和、可行性几个方面。技术可行性、经济可行性、操作可行性法律可行性、社会效益3、可行性研究过程主要有、、、、、、和几个步骤。复查系统规模和目标、研究目前正在使用的系统、导出新系统的高层逻辑模型、进一步定义问题、导出和评价供选择的解法、推荐行动方针、草拟开发计划和书写文档提交审查几个步骤。4、可行性研究过程中的第三步“导出新系统的高层次逻辑模型”涉及到、、、几种模型。现有的物理系统、现有的逻辑模型、目标系统的逻辑模型、新的物理系统模型5、可行性研究过程中的第五步中如何排定问题解法三种可行性的顺序?技术可行性操作可行性经济可行性6、系统流程图是描绘的传统工具。它用符号以形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。表达的是数据在系统各部件之间情况,而不是对数据进行的控制过程。物理系统、图形、黑盒子、流动、加工处理7、系统流程图与程序流程图的异同?系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的过程;而程序流程图是指程序指令控制流的流动(即算法描述)8、系统流程图包含和两大类图形符号。其名称和符号分别是什么?基本符号、系统符号P399、在面对复杂的系统中,比较好的方法是采用什么策略来描述?分层次地描绘这个系统10、数据流图是一种技术,它描绘和从输入移动到输出的过程中所经受的。在数据流图中没有任何具体的,它只是描绘数据在软件中流动和被处理的。图形化、信息流、数据、变换、物理部件、逻辑过程11、数据流图的4种基本符号为、、、。附加符号有、和。分别代表什么含义?正方形、圆角矩形、开口矩形、箭头星号、加号、○+(带圈加号)正方形表示数据的源点或终点;圆角矩形代表变换数据的处理;开口矩形代表数据存储;箭头代表数据流;5星号表示数据流之间是“与”关系;加号表示“或”关系;○+号表示只能从中选一个。12、画数据流图的步骤为(1)从问题描述中提取数据流图的4种成分(2)(3)(4)。(1)从问题描述中提取数据流图的4种成分(2)画功能级数据流图(3)对功能级数据流图中描绘的系统主要功能进一步细化(功能级分解)(4)对处理进行编号。13、为数据流或数据存储命名要注意哪些?为处理命名要注意哪些内容?为数据流命名:1、名字应代表整个数据流的内容,而不是仅仅反映它的某些成分;2、不要使用空洞的、缺乏具体含义的名字;3、如果在为某个数据流起名时遇到困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。为处理命名:1、通常先为数据流命名,然后再为与之相关的处理命名;2、名字应该反映整个处理的功能,而不是他的一部分功能;3、名字最好有一个工具的及物动词加上一个具体的宾语组成;4、通常名字中仅包含一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当;5、如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的现象,应考虑重新分解。14、数据流图的作用有(1)(2)。作为交流信息的工具、作为分析和设计的工具15、和共同构成了系统的逻辑模型。数据流图、数据字典16、数据字典是关于的集合,也就是对数据流图中包含的定义的集合。涉及到的元素有、、、四类。数据信息、所有元素数据流、数据流分量、数据存储、处理17、数据字典中定义数据的方法有为。对数据自顶向下的分解18、数据字典中数据元素组成数据方式有、、和。使用的图形符号有哪些?分别代表什么含义?顺序、选择、重复和可选=等价于+和[]或{}重复6()可选19、简要叙述数据字典的用途是什么?作为分析阶段的工具20、成本估计技术有、和。代码行技术、任务分解技术和自动估计成本技术第三章习题1、需求分析是确定系统。其最终成果是。必须做什么、需求分析规则说明书2、需求分析的任务有、、、和。、确定对系统的综合要求、分析系统的数据要求、导出系统的逻辑模型、修正系统的开发计划。3、需求分析任务中的综合要求包含哪些内容?数据要求包含哪些内容?综合要求:1、功能要求2、性能要求3、可靠性和可用性要求4、出错处理要求5、接口要求6、约束7、逆向要求8、将来可能提出的要求数据要求:1、建立数据模型:数据流图、E-R图2、数据规范化描述4、需求分析过程中与用户沟通获取需求的方法有、、、和。访谈、面向数据流自顶向下求精、简易的应用规格说明技术快速建立软件原型。5、需求分析过程中“面向数据流自顶向下求精”是采用进行需求分析;“简易的应用规格说明技术”就是一种需求收集法。“快速建立软件原型”是、、的需求分析技术。结构化分析方法、面向团队、最准确、最有效、最强大6、“快速建立软件原型”需求分析技术主要使用了、和方法和工具。第四代技术、可重用的软件结构和形式化规格说明和原型环境7、需求分析过程中的“分析建模”应该建立、和3种模型。所谓模型由一组和组织这些符号的组成。数据模型、功能模型和行为模型图形符号、规则8、DFD、ER图和状态转换图分别对应、和模型。功能模型、数据模型和行为模型9、是分析模型的核心,它描述软件使用或产生的所有数据对象。7数据字典10、数据模型(ER图)中主要涉及到的信息有、和。数据对象、属性和联系11、数据对象的联系可分为、和3种类型。一对一联系、一对多联系和多对多联系12、ER图有三种基本成分:实体,用图形符号表示;关系,用连接相关实体的表示;属性,用表示,并用把实体(或关系)与其属性连接起来。矩形、菱形框、椭圆形或圆角矩形、直线13、简述ER图的优点。ER模型比较接近人的习惯思维方式。此外,ER模型使用简单的图形符号表示系统分析员对问题域的理解,不熟悉计算机的用户也能理解他,因此ER模型可以作为用户个分析员之间的交流工具。14、数据规范化主要目的是。其中第一范式:每个都必须是原子值,即仅仅是一个简单值而不含内部结构,即列的惟一。第二范式:满足第一范式条件,而且每个属性都由整个关键字决定(而不是由关键字的一部分来决定),即不能有的重复。第三范式:符合第二范式的条件,每个非关键字属性都仅由决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述。较少数据冗余属性值、非关键字、行、关键字15、状态转换图是通过描绘系统的及引起系统状态转换的,来表示系统的。状态、事件、行为16、状态转换图中的状态主要有、和,分别用用什么图形符号表示?初态、终态、中间态初态用实心圆表示,终态用一对同心圆表示,中间态用圆角矩形表示。17、状态转换图中的状态转换用什么图形符号表示?其表明了状态转换的方向。一般要在上面标明触发转换的。如果未有标明,则表示了。带箭头的连线、箭头方向、触发