软件工程笔记

1模型

·瀑布模型

需求分析,规格说明,设计,编码,综合测试,维护

规范方法,严格规定每个阶段提交的文档,要求每个阶段必须经过验证!相邻环节会有检验

·快速原型模型

带反馈环,基本上是线性顺序进行

没有检验环节,一开始就是快速原型

·增量模型

需求分析,规格说明,概要设计,针对每个构件,完成详细设计,编码和集成,经测试后交付给用户

能较短时间内提交可完成部分工作的产品;可以使用户有充裕的时间学习和适应新产品,同时不断维护

·风险更大的增量模型:

规格说明,设计,编码和集成,交付客户

多个构件同时运作,一发而动全身

·螺旋模型

快速原型模型每个阶段前都加上风险分析

喷泉模型:面向对象

 

2可行性研究

·分类:技术可行,经济可行,操作可行,社会可行

·步骤:复查规模目标,研究目前正在使用的系统,导出新系统的高层逻辑模型(数据流图,数据字典),重新定义问题,导出和评价供选择的解法,推荐行动方案,草拟开发计划,书写文档提交审查

·系统流程图(符号):矩形,平行四边形,圆,下尖形,箭头,其他

·数据流图符号:正方形/体,圆角方形/圆

·数据字典:对数据流图中包含的所有元素的定义的集合。

可行性大型究阶段,数据流图与数据字典共同构成系统的逻辑模型

数据流,数据元素(数据流分量),数据存储,处理

 

3需求分析

·任务:确定系统综合要求,分析系统数据要求,导出系统的逻辑模型,修政系统开发计划

I确定系统综合要求:功能需求,性能需求(相应时间/速度,主存容量,磁盘容量,安全性等),可靠性和可用性需求,出错处理需求,接口需求,约束,逆向需求,将来可能提出的要求

II分析系统数据要求:通过建立数据库来分析,如数据字典,层次方框图,WARNIER图,并将数据结构化

III导出系统逻辑模型:包括完善数据流图,实体-联系图,状态转换图,数据字典,主要的处理处法(IPO)图

IIIII修正系统开发计划

·与用户沟通或取需求的方法

访谈,面向数据流自顶向下求精,简易应用规格说明技术,快速建立软件原型

·分析建模与规格说明

I分析建模:实体联系图,数据流图,状态转换图

II软件需求规格说明:需求文档用户,需求文档结构,需求描述(自然语言描述OR结构化描述)

·实体-联系图:数据对象,属性,联系

·数据规范化:第一/二/三范式

·状态转换图:状态,事件,符号

·其他图形工具:层次方框图,WARNIER图,IPO图

·验证软件需求

耦合由低到高:数据耦合,控制耦合,公用耦合,内容耦合

内聚由高到低:功能内聚,顺序内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚

 

5总体设计

·设计过程

设想供选择方案,选择合理方案(系统流程图,组成系统物理元素清单,成本/效益分析,实现这个系统的进度计划),推荐最佳方案,功能分解,设计软件结构,数据库设计,制定测试计划,书写文档,审查和复审

·设计原理:模块化,抽象

·启发式规则

·图形工具

·面向数据流的设计方法:交换流与事务流

 

6详细计划

·结构程序设计:

I控制结构:函数结点,谓词结点,汇点

II三种基本控制结构:顺序结构,选择结构,循环结构

III扩充两种控制结构:多分支结构,UNTIL循环结构

·人机界面设计

·过程设计工具:程序流程图,盒图(N-S图),PAD图,判定表

·面向数据结构设计方法

·程序复杂度的定量度量

 

7实现:编码与测试

·黑盒测试:知道软件应具有的功能

等价划分,确定测试用例,边界值分析,错误推测

·白盒测试:知道内部工作过程

语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,点覆盖,边覆盖,路径覆盖

·步骤:模块/单元测试,子系统测试,系统测试,验收测试,平行运行

I单元测试:接口,局部数据,扫行路径,出错处理通路,边界条件

II集成测试:非渐增式&渐增式:自顶向下,自底向上,深度优先策略,宽度优先策略

III回归测试,确认测试,软件配置复查

 

8维护

交付:直接,并行,逐步

类型:改正性,适应性,完善性,预防性

过程:维护组织,维护报告,维护事件流,维护记录,评价维护活动

 

9面向对象方法学引论

类,实例,消息,方法,属性,封装,继承,多态性,重载

UML标准建模语言:UML语义,UML表示法

用例图,静态图(类图,对象图,包图),行为图,交互图,实现图

 

10面向对象分析

三个子模型:对象模型/动态模型/功能模型

五个层次:主题层/类与对象层,结构层,属性层,服务层

 

11面向对象设计的准则

模块化,抽象,信息隐蔽,弱耦合,强内聚,可重用

 

12面向对象实现

 

13软件评价与管理

 

面试问题

  1. 如何从一个需求落实到一个系统设计

需求分析:整体目标,用户需求,时间预算,各个功能模块

规格环境:设备,软件,接口

编码测试:功能,用户界面,性能,压力,容量,配置—最后集成&维护

2、如何衡量两个不同设计的好坏

         按上面设计过程来说,需求清晰,高内聚低耦合,测试覆盖完善

  1. 如何在各种限制(人时资)下选择更合适的设计
  2. 提升该设计的可拓展性

封装好,高内聚低耦合,数据存储结构设计易维护

 

总复习

瀑布模型:阶段间具有顺序性和依赖性,推迟实现,质量保证,每一步都验证

数据流图:数据源,终点,交换数据,数据存储,数据流

实体-联系图:数据对象,属性,联系

状态转换图:状态,事件,符号

测试:黑盒,白盒,路径,条件,判定,条件组合

UML:语义与表示法

事件跟综图:即简化的UML顺序图

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值