软件工程复习

第一章:软件工程综述

软件:软件的构成部分为程序,有关数据,以及开发运维使用的相关文档。

软件危机:主要有三部分,进度,费用,质量。软件危机的突出表现。1软件生产率低。2软件产品与用户要求不一致。3软件增长规模带来的复杂度增长,4不可维护性突出,软件文档不完全,不一致。

软件工程:将系统划,规范化,可量化的方法应用于软件开发运维,即将工程化方法用于软件。

 软件工程三要素:工具,方法,过程。

​​​​​​

第二章:软件过程

软件工程的过程:

                1,软件描述

                2,软件设计和实现。

                3,软件有效性验证。

                4,软件进化。

软件过程模型:

        1,瀑布模型(V模型):发开过程如同一个瀑布一样从一个阶段结束再到另一个阶段。通常很少用瀑布模型,项目组推进工作难,客户通常难以描述所有需求,要修改困难。

        2,增量模型:初始软件需求有明确定义,迫切需要提供一套功能有限的软件产品给用户使用并听取用户意见,后续再扩展直到产生一个充分的系统。

        3,构件复用模型:将封装好实体进行进行适当的设计变成构件。

应对变更时的模型

        1,原型模型:客户定义了软件的一些基本任务,但是没有详细定义功能特性。当开发人员对于算法效率,操作系统的适用性和人机交互的形式没有好的把握时使用。(其中分为:抛弃式原型,进化式原型)

        2,螺旋模型:适用于大型模型的软件开发,将软件项目开发划分为制定计划,风险分析,实施开发以及客户评价。

        3,Rational统一过程:以架构为核心,采用迭代和增量开发策略,突出了用例驱动的特点。

新型敏捷开发:当今新的软件要迅速开发出来,抓住新的机遇,应对竞争压力。

 

第三章:可行性研究 ,结构化需求分析,结构化软件设计

        可行性研究的工作过程:

           1,确定项目规模和目标。

           2,研究目前正在使用的系统。

           3,建立新系统的高层逻辑模型。

           4,导出和评价供选择的解法。

           5,推荐行动方针。

           6,草拟开发计划

           7,编写可行性研究报告。

        系统流程图:

        

 

选择题:

需求的定义 :

        用户解决问题或达到目标所需的条件或能力

        系统或系统部件要满足合同,标准,规范,或其他正式规定文档所具有的条件的能力。

        对前两点所描述条件或能力的文档化表述。

需求工程的活动

        需求获取,需求分析,需求规格说明,需求验证,需求管理。

结构化需求分析方法:创建上下文,建立0层图,功能分解产生N层图。

概要设计:软件结构图,ER图,接口设计,详细设计,过程设计。

选择题:

第四章:面向对象的需求分析,设计,基于构件的开发。

(1)面向对象的分析过程:

        上下文模型->活动图->用例图->类图->时序图->状态图

(2)软件体系结构设计:

表示层,业务逻辑层。数据访问层。

包图:

构件图:

部署图:

决策表与决策树:

数据流图:

软件结构图

用例图与类图:

选择题

第五章:软件项目的测试

        软件测试的目的:发现错误而执行程序(一个好的测试用例在于发现至今没有发现的错误)

1,黑盒测试:看不到内在逻辑和原理,单纯从使用需求上来测试。

        边界值测试:测试用例在边界值附近,并且覆盖所有可能。(一定要有输入和预期结果)

        等价类划分法:把程序的输入域划分为若干部分,然后每一部分取具有代表性的少数数据。

 因果图法:适用于多种组合情况产生相应动作的情形。

2, 白盒测试:了解程序结构和处理过程

1,逻辑覆盖测试法:达成语句覆盖,判断覆盖,条件覆盖,路径覆盖。

例:

测试用例为:a=5 b=8 c=4    执行路径为  a-b-e

                     a=11 b=15 c=4 执行路径为 a-c-d-e

                     a=10 b=8 c=4   执行路径为 a-b-f-g

                     a=10 b=15 c=8  执行路径为 a-c-d-f-g

2,基本路径测试法:在程序流图的基础上,通过分析控制构造,导出基本可执行路径集合。

        1,绘制出程序流程图,2,计算环路复杂度。3,找出独立路径。4,设计测试用例。

第六章:软件实施,维护与进化和文档标准

        软件的实施:一般分为以下六步。

                1,实施准备

                2,业务交流

                3,软件实施培训

                4,数据准备及系统初始化

                5,老系统切换及试运行

                6,系统验收

        软件的维护:分为以下四种

                1,改正性维护:因为开发不足,在说明书之内,修改软件中的缺陷与不足。

                2,适应性维护:为了软件适应操作环境变化而进行的修改软件的活动。

                3,完善性维护:用于对于软件产生了新的需求,为了改善,加强系统性能。

                4,预防性维护:根据现有信息对未来环境进行预测,为日后改进软件奠定基础。

 软件再生工程:指对于既存对象系统进行调查,并将其中非可重用构件改造为新形式代码的开发

     其中六类活动:库存目录分析,文档重构,逆向工程,代码重构,数据重构,正向工程。

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值