软件工程的复习题纲第一章1、软件工程的生存周期:制定计划;需求分析;总体设计;详细设计;程序编写;软件测试;运行/维护。2、软件工程的各个生存期模型的特点和适合项目。(生存期模型有瀑布模型、V模型、原型模型、增量式模型和螺旋式模型)(部分是在网上找的,老师说考这些模型的特点,有什么情况下适合用什么来进行开发。)瀑布模型的特点:(1)阶段间具有顺序性和依赖性。(2)推迟实现的观点。(3)每个阶段必须完成规定的文(每个阶段结束前完成文档审查,及早改正错误。)(4)下一个阶段可以回溯到前面的某个阶段适合于:1.开发阶段需求很少有变化2.分析设计人员对应用领域很熟悉3.低风险项目4.用户使用环境很稳定5.用户除提出需求外,很少参与开发工作类似的项目如:公司的财务系统;库存管理系统;短期项目V模型的特点:(1)简单易用(2)强调测试过程与开发过程的对应性和并行(3)没有反应实际的开发过程。V模型适合的项目:在项目开始前,项目的需求很明确在项目开始前,解决方案也很明确对系统的性能安全很严格的项目类似的项目如:航天飞机等公司的财务系统原型模型的特点:(1)在需求定义之前,需要快速构建一个系统(2)根据构建系统的优缺点,用户给开发人员提出反馈意见(3)根据反馈意见修改软件需求规格,以便系统可以更正确的反映用户的需求(4)减少各种假设以及风险适合的项目:在项目开始前,项目的需求不明确需要减少项目需求的不确定性类似的项目如:确定显示界面第一次开发的产品,验证可行性增量式模型的特点:1.需求多变,可以分阶段提交产品。2.分析设计人员对应用领域不熟悉,难以一步到位。3.用户参与整个软件开发工程中,起到对客户起到镇静剂的作用,增量能够有计划地管理技术风险。4.软件公司自己有较好的类库或构件库15.增量的内容写入合同,可能会引起客户的不满。6.融合了瀑布模型的基本成分和原形实现的迭代特征,优点是人员分配灵活,刚开始不用投入大量人力资源,如果核心产品很受欢迎,则可增加人力实现下一下增量。适合的项目:项目开始,明确了需求的大部分,但是需求可能会发生变化对于市场和用户把握不是很准,需要逐步了解对于有庞大和复杂功能的系统进行功能改进,就需要一步一步实施的。螺旋式模式的特点:(1)是瀑布模型的多次迭代;(2)它将每个阶段进行更细的划分;(3)可以进行灵活设计;(4)通过风险管理驱动;(5)用户可以更早看到产品;(6)用户可以不断对产品进行评估;(7)用户可以与开发人员进行紧密的合作;(8)项目的投资不用一次投入;(9)可以给开发人员更多的反馈信息。适合的项目:风险是主要的制约因素不确定因素和风险限制了项目进度用户对自己的需求也不是很明确需要对一些基本的概念进行验证可能发生一些重大的变更项目规模很大项目中采用了新技术喷泉模型的特点:适应于面向对象方法;体现了软件开发过程无间隙和固有的迭代特征。第二章1、结构化分析方法(会画数据流图、数据字典)数据流图:例:银行计算机储蓄系统的工作过程储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。答:数据流程图如下:2数据字典:数据字典的内容主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等六个方面进行具体的定义。数据字典的数据条目内容:(1)名称与别名:数据流、数据源或外部实体的标识;(2)数据类型;(3)何处使用/如何使用输入流/输出流的加工表;(4)内容描述;(5)补充说明:如,取值范围与缺省值,有关的设计约束等2、面向对象模型(会画用例图、顺序图、活动图、状态图等)用例图:用例(Usecase):系统所提供的功能描述角色(Actor):可能使用用例的人或者外部系统3设置边界风险分析交易估计进行交易超越边界更新帐目评价贸易经理营销人员记帐系统销售人...