欢迎来到天天文库
浏览记录
ID:56002357
大小:84.50 KB
页数:6页
时间:2020-03-15
《[精品]软件工程思考题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《软件工程》思考题答案2、软件T程是什么时候提出来的?它主要包括哪些方血?软件工程的提出:伴随着软件危机的出现以及解决过程屮软件工程学的主要内容是软件开发技术和软件工程管理:软件开发技术包含软件工程方法学、软件工具和软件开发环境:软件工程管理学包含软件工程经济学和软件管理学5、面向对象系统设计的特点面向对象分析设计界限不明显面向对象分析和设计通常采用迭代方法和传统的设计方法类似,面向对彖设计也是基于模块化和功能独立等方法之上6、需求分析的主要任务建立分析模型,完成用户需求报告:分析模型是一组描述软件需求的模型;编写软件需求规格说明(SRS)需求分析的特点:用户需求具有动态性川户需
2、求具有模糊性用户与设计者在对需求的认识和理解上存在偏羌对需求分析,用户和设计者应共同承担责任需求规格说明书内容:一、概述二、Fl标系统描述三、H标系统功能需求四、H标系统性能需求五、H标系统界面与接口需求六、标系统其他需求七、H标系统假设与约束需求分析重要:•需求分析工作对于整个系统的成败影响最大•用户需求报告是第一个最重要的文档,是用户、软件开发人员和项H管理人员三者必须遵守的一根基线•需求分析屮的错误对后续工作影响较大•需求分析时期的工作量约占整个开发系统工作量的1/47、•数据流图DFD、数据字典DD和加工说明PSPEC•控制流图CFD、控制状态说明CSPEC和状态变迁图S
3、TD•关系实体图E-R图1.8、概要设计的主要任务是什么?它与需求分析有什么关系?主要任务:1•设计软件系统结构(简称软件结构)2.数据结构及数据库设计3.编写概要设计文档4.评审关系需求分析“产生软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作(概要设计)概要设计■•产生软件概要设计说明书,说明系统模块划分、选择的技术路线等,桀体说明软件的实现思路。并且需要指出关键技术难点等。9、模块化设计稈序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、了过程等框架把软件的主要结构和流稈
4、描述出来,并定义和调试好以个框架Z间的输入、输出链接关系。逐步求精的结果是得到一系列以功能块为单位的算法描述。以功能块为单位进行程序设计,实现其求解算法的方法称为模块化原则:•模块内高内聚•模块间低耦合11、结构化分析步骤:•自顶向下功能分解•定义系统的数据和加工•分析系统行为•编制SRS区别事务分析:•在DFD图上确定边界,分成三个部分:事务屮心;接受部分(包括接受路径);发送部分(包括全部动作路径)•llllj出SC图框架:DFD图的三个部分分别映射为事务控制模块,接受模块和动作发送模块•分解和细化接受分支和发送分支变换分析:•划分DFD图的边界,分为三个部分•建立初始SC图
5、的框架:顶层都只含一个用于控制的主模块;初始的SC图框架结构;第一层包括传入、传出和屮心变换三个模块•分解sc图的各个分支:分解实质上是“映射”12、SC图(StructureChart,结构图)是软件工程中面向数据流设计方法屮的一种描述工具,专门用來描述软件的总体结构。初始SC图优化原则:•模块分割、合并、变动调用关系的指导规则•合理的扇入/扇出•合理的深度和宽度•良好的软件结构1.13、详细设计的主要任务是什么?它与概要设计有什么关系?任务:编写软件的“过稈设计说明书”:为每个模块确定采用的算法;确定每一模块使用的数据结构:确定模块接口的细节关系:概要设计就是设计软件的结构,
6、包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。同时,还要设计该项目的皿用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们Z间有什么关系。详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。概要设计阶段通常得到软件结构图详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代码等1.14、良好的程序设计风格主要体现在哪些方面?编码工具的选择一般应考虑哪些因素?主要体现:使用标准的控制结构有限制地使用GOTO语句实现源程序的文档化满足运行工程学的输入输出风格考虑因素:应用领域系
7、统复杂程度设计效率和运行效率语言木身的先进性设计人员的技术特长15、软件测试的目的•证明性:表明软件能够工作•检测性:发现软件存在的错误•预防性:管理软件质量分几类、各类重点1、单元测试:测试重点:模块局部结构;模块边界条件;模块各通路;模块接口2、集成测试(综合测试):重点:模块间、业务流程的耦合度和衔接性一接口3、确认测试(验收测试)重点:功能:有效性、灵活性、易扩展性性能:正确性、安全性、效率、可操作性4、系统测试:恢复性测试:主要检查系统的容错能力安全性测试:重点检查系统
此文档下载收益归作者所有