版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、模型瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。瀑布模型的缺点:(1)开发过程一般不能逆转,否则代价太大;(2)实际的项目开发很难严格按该模型进行;(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。 瀑布模型的使用范围:(1)用户的需求非常清楚全面,且在开发过程中没有或很少变化;(2)开发人员对软件的应用领域很熟悉;(3)用户的使用环境非常稳定;(4)开发工作对用户参与的要求很低。快速原型模型的优点:(1)可以得到比较良好
2、的需求定义,容易适应需求的变化;(2)有利于开发与培训的同步;(3)开发费用低、开发周期短且对用户更友好。快速原型模型的缺点:(1)客户与开发者对原型理解不同;(2) 准确的原型设计比较困难;(3) 不利于开发人员的创新。快速原型模型的使用范围:(1)对所开发的领域比较熟悉而且有快速的原型开发工具;(2)项目招投标时,可以以原型模型作为软件的开发模型;(3)进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。增量模型的优点:(1)采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;(2)如果核心产品很受欢迎,则可增加人力实现下一个增量;(3)可先发布部分功能
3、给客户,对客户起到镇静剂的作用。增量模型的缺点:(1)并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;(2)增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。增量模型的使用范围:(1)进行已有产品升级或新版本开发,增量模型是非常适合的;(2)对完成期限严格要求的产品,可以使用增量模型;(3)对所开发的领域比较熟悉而且已有原型系统,增量模型也是非常适合的。螺旋模型的优点:(1)设计上的灵活性,可以在项目的各个阶段进行变更;(2)以小的分段来构建大型系统,使成本计算变得简单容易;(3)客户始终
4、参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;(4) 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。 螺旋模型的缺点:(1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;(2)过多的迭代次数会增加开发成本,延迟提交时间。螺旋模型的使用范围:螺旋模型只适合于大规模的软件项目。喷泉模型(fountain model)是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。模型概述编辑喷泉模型主要用于采用对象技术的软件开发项目。该模型认为软件开发过程自下
5、而上周期的各阶段是相互迭代和无间隙的特性。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。1 优点缺点编辑1、喷泉模型的优点喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
6、;1 2、喷泉模型的缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 软件危机的现象和原因3.现象:早期出现的软件危机主要表现在: 软件开发费用和进度失控软件的可靠性差生产出来的软件难以维护软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的需要,软件产品供不应求的状况使得人类不能充分利用现代计算机硬件所能提供的巨大潜力。4.原因:a. 软件的规模越来越大,b. 结构越来越复杂。 c. 软件开发管理困难而复杂。 d. 软
7、件开发费用不断增加。 e. 软件开发技术落后。 f. 生产方式落后。 g. 开发工具落后,h. 生产率提高缓慢。i. 与软件本身的特点有关1. 简述软件危机的现象和原因.2. 解释瀑布模型、增量模型,并绘制示意图.3. Usecase Diagram及Activity Diagram的用途是?图形符号?其中文、英文名称分别是?4. 何为制品(artifact)?5. 基于面向对象的需求分析步骤及制品是什么?6. 软件设计有几个任务?分别是什么?7. 写出基于面向对象的软件架构设计的步骤及制品.8. 写出基于面向对象类的设计步骤及制品.9. 写出基于结构化的软件需求分析的步骤及制品.10. 分别
8、绘制Sequence Diagram, Collaboration Diagram,解释其中的图形符号.11. 解释DFD(Data Flow Diagram)UML图用例图:是由参与者、用例、以及他们之间的关系的用于描述系统功能的动态视图称为用例图。组成:参与者、用例、系统边界、关系(依赖关系、泛化关系、扩展关系)。类图:用于描述系统的静态静态结构。组成:类、接口、关系(关联关系、依赖关系、泛化关系、实现关系)对象图:描述了系统在某一个特定时间点上的静态结构,是类图的实例和快照。组成:对象、链。序列图:是对对象之间传送消息的时间顺序的可视化表示。组成:对象、生命线、激活、消息。协作图:是对一
9、次交互过程中有意义对象和对象间的链建模,显示了对象之间如何进行交互以执行特定用例或用例中特定部分的行为。组成:对象、消息、链。状态图:用于描述模型元素的实例(如对象或交互)的行为。组成:状态、转换、事件、判定、同步。活动图:是一种用于描述系统行为的模型视图,它可以用来描述动作和动作导致对象状态改变的结果,而不用考虑引发状态改变的事件。组成:动作状态、活动状态、组合状态、分叉与结合、分支与合并、泳道、对象流。5、一个软件系统从没有退出历史舞台的全过程包括那些阶段早期时代(50世纪到60世纪中期以前)软件是为了具体应用而专用编写20世纪60年代中期到70年代中期 特点:软件作坊,6软件工程的定义把
10、系统的、规范的、可度量的途径应用于软件开发、运行、和维护过程,也就是把工程应用于软件;研究把软件工程应用于软件中的操作的途径中7需求分析 包括:功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、界面需求、用户或人的因素、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密需求、其他非功能性需求。8可行性分析经济可行性、技术、法律、方案选择9Actor角色用户、系统、子系统10包B->A 表示A为主11 MVC架构表现层MVC 显示类业务层Business 判断类数据层DAO class类ModelViewController数据 表现 业务12 关
11、键抽象 数据类是关键类13 网页 输入域名-IP-服务器-打开根目录中的HTML文件FTP 文件传输协议HTTP 超文本传输协议14 给予面向对象大的理论 所有需求分析步骤获取-分析与建模-编写规约-验证15 软件的生命周期 三个时期、七个阶段16 结构图(模块图) 扇出:改模版直接调用模块数目。扇入:能直接调用该模版的模块数目。注意:深度不要超过5,宽度不超过7. 扇出3-9 不能隔层调用,不能反向调用,不能调用不属于自己范围的。模块图DFD分变换流、事件流。概要设计:模块图。详细设计:H、IPO图。模块:耦合和内聚17 、结构化设计单入口、单出口、没有go to,能画出N-S图只存在顺序、
12、循环、选择结构。18 软件工程在何时产生 在1968年、北大西洋公约组织的计算机科学家在联邦德国召开了国际会议中正式提出并使用了“软件工程”这个名词。19单元测试单元测试集中检测软件设计的最小单元模块。有人工测试和计算机测试两种方法。主要利用白盒测试技术而且对多个模块测试可以并行的进行。单元测试也称模块测试、逻辑测试、结构测试。目的:通过模块测试,使其代码达到模块说明书的需求任务:(1) 对模块代码进行编译,发现并纠正其语法错误;(2) 进行静态分析,验证模块结构及其内部调用序列是否正确;(3) 确定模块的测试策略,并据此设计一组测试用例和必要的测试软件;(4) 用选定的测试用例对模块进行测试
13、,直至满足测试终止标准为止;(5) 编制单元测试报告。代码审查:4人一小组,审查之前,小组成员应该先研究设计说明书,力求理解这个设计。审查小组的任务是发现错误而不是改正错误。实用测试策略:为提高测试效率,克服无法穷尽测试的实际困难,在单元测试测试中应以逻辑覆盖为主的策略改为白盒法与黑盒法相结合,静态测试与动态测试相结合,人工测试与机器测试相结合。20集合测试集合测试是测试和组装软件的系统化技术,主要目标时发现与接口有关的问题。模块组装成程序的时候有两种方法:一、非渐增式组装,按照结构图一次性将各单元模块组装起来。二、渐增式组装是指按照结构图自顶向下或自底向上逐渐安装。主要用第二种,第二种的两种
14、方法是互相解决彼此问题的方法,自顶向下法:1、从主控模块(“主程序”)开始,沿着软件的控制层次向下移动,从而逐渐把各个模块结合起来。2、在组装过程中,可以使用深度优先的策略,或宽度优先的策略。自底向上法:(1)把低层模块组合成实现某个特定的软件子功能的族。(2)写一个驱动程序(用于测试的控制程序),协调测试数据的输入和输出。 (3)对由模块组成的子功能族进行测试。(4)去掉驱动程序,沿软件结构自下向上移动,把子功能族组合起来形成更大的子功能族。自顶向下法的主要优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误。自顶向下法的主要缺点:需要存
15、根程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力。自底向上法的优缺点与自顶向下法刚好相反。混合法:对软件结构中较上层,使用的是“自顶向下”法;对软件结构中较下层,使用的是“自底向上”法,两者相结合。21确认测试确认测试也称为验收测试,它的目标是验证软件的有效性。验证是指的是保证软件的正确地实现了某个特定要求的一系列活动,而确认指的是为了保证软件确实满足了用户需求而进行的一系列活动。验收测试一般使用黑盒测试法。应该仔细设计测试计划和测试过程 。22系统测试软件开发完后要与系统中的其它部分配套运行。一般系统除了确认测试外,还要进行以下的系统测
16、试。(1)恢复测试(2)安全测试(3)强度测试(4)性能测试。终止测试标准:规定测试策略和应达标准规定至少要查出的错误数量23Alpha和Beta测试如果软件是为某一个客户开发的。就用一系列验证测试,验收测试是由最终用户而不是系统的开发者进行的。如果是为了许多的客户开发的,就用Alpha测试和Beta测试。Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。Aplha测试是在受控制的环境中进行的。Beta测试私是由软件的最终用户们在一个或多个客户场所进行,而却开发者不在现场,是投入真实自由测试场上进行的。24白盒测试技术不但结果要对,中间的过程也要对。逻辑覆盖测试法:发 语句覆盖 每条语句至少执行一次现 判定覆盖 每一判定的每个分支至少执行一次错 弱 条件覆盖 每一判定中的每个条件,分别按“真”、“假”至少各执行误 一次的 判定/条件覆盖 同时满足判定复盖和条件复盖的要求能 强 条件组合覆盖 求出判定中所有条件的各种可能组合值,每一可能的条力 件组合至少执行一次基本路径测试法:使用该测试方法,首先要计算程序的环形复杂度,并用该复杂度作为指南
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年辽阳辅警协警招聘考试真题含答案详解(达标题)
- 2024年宿迁辅警协警招聘考试真题及答案详解(基础+提升)
- 2023年荆州辅警协警招聘考试真题附答案详解(b卷)
- 2023年龙岩辅警招聘考试真题及1套完整答案详解
- 2023年衡阳辅警协警招聘考试真题含答案详解(模拟题)
- 2024年亳州辅警招聘考试题库附答案详解
- 2024年丽水辅警协警招聘考试真题含答案详解(巩固)
- 2023年省属虚拟辅警协警招聘考试真题含答案详解(满分必刷)
- 2023年锡林郭勒盟辅警招聘考试题库及一套参考答案详解
- 晋中师范高等专科学校《公共室内空间设计》2024-2025学年第一学期期末试卷
- 火力发电厂分散控制系统技术条件DL/T 1083
- 安全风险辨识与管控制度
- 2025年全国新高考II卷高考全国二卷真题英语试卷(真题+答案)
- 天鹅会SPA中心员工手册
- 协会档案印章管理制度
- GA/T 2014-2023道路交通信号配时运行管理规范
- 2025年社区工作者职业能力测试试卷及答案
- 事业单位国有资产无偿划转意向协议书10篇
- 药品保证金合同协议
- 市政道路(桥梁)专业中级职称理论考试题库(含答案)
- 贵州贵阳公开招聘农村(村务)工作者笔试题含答案2024年
评论
0/150
提交评论