软考软件工程
2023-12-15 12:06:45 1 举报
AI智能生成
软件工程
作者其他创作
大纲/内容
一、系统规划
定义:系统规划的任务是对组织的环境、目标及现行系统的状况进行初步调查,根据组织目标和发展战略确定信息系统的发展战略。对建设新系统的需求做出分析和预测,同时考虑建设新系统所受的各种约束,研究建设新系统的必要性和可能性。根据需要和可能,给出制建系统的备选方案。
5. 输出的内容:
可行性研究报告
系统设计任务书
如何开展信息系统建设的计划
1. 系统规划的6步骤
对现有系统进行初步调查
分析和确定现有系统目标
分析子系统的组成和基本功能
拟定系统的实施方案
进行系统的可行性研究
制定系统的建设方案
2. 可行性分析的8步骤
复查系统的目标和规模
分析现有系统
导出新系统的高层逻辑模型
用户复核
提出并评价,解决方案
确定最终推荐的解决方案
草拟开发计划
8. 编制和提交可行性分析报告
3.四个方面的可行性分析
经济可行性
技术可行性
法律可行性
用户使用可行性
1. 管理可行性
2. 运行可行性
4. 盈亏平衡的计算
1. 净现值NPV:考虑了金钱的时间价值,
(每年的收入-每年的成本)/(1+i)的n次方
2. NPVR:净现值NPV/总投入
二、系统分析
定义:系统分析的任务是根据系统设计任务书所确定的范围,对现行系统进行详细调查,描述现行系统的业务流程,指出现行系统的局限性和不足之处,确定新系统的基本目标和逻辑功能要求,即提出新系统的逻辑模型。系统分析阶段又称为逻辑设计阶段。这个阶段是正规系统建设的关键阶段,也是信息系统建设与一般工程项目的重要区别所在。
输出:系统说明书
需求开发
需求获取6个方法
用户访谈:1对1-3,有代表性的用户。形式包括结构化和非结构化。
问卷调查:用户多,无法一一访谈
采样:从种群中系统地选出有代表性的样板集的过程。样本数量=0.25*(可信度因子/错误率)²
情节串联板
联合需求计划(JRP):关键用户代表、系统分析师、开发团队代表,通过有组织的会议来讨论需求。
需求记录技术:任务卡片、场景说明、用户故事、volere白卡
需求分析的7个任务
绘制系统上下文范围关系图(顶层数据流图)
创建用户界面原型
分析需求的可行性
确定需求的优先级
为需求建立模型
创建数据字典
使用QFD(质量功能部署)
需求分析的方法
1. 结构化需求分析 SA
特点:自顶向下、逐步分解、面向数据
三大模型
功能模型(数据流图)
数据流
加工
数据存储
外部实体
行为模型(状态转换图)
状态(初态、终态)
事件
数据模型(ER图)
实体联系图
分析方法:
1.数据流图(DFD)和数据字典
数据流图:描述了数据在系统中如何被传送或者变换,以及如何对数据进行变换的功能或子功能,用于对功能建模。
分层数据流图
顶层:上下文无关数据流
0层
1层
……
2. 状态转换图STD
反应状态的变化
3. ER图
实体联系图
2. 面向对象需求分析 OOA
2.1 定义:为了确定问题域,理解问题。包含五个活动:
认定对象
组织对象
描述对象间的相互作用
确定对象的操作
定义对象的内部信息
2.2 建模方式
用例模型
识别参与者
合并需求获得用例
细化用例描述
用例名称
简要说明
事件流
非功能需求
前置条件
后置条件
扩展点
优先级
调整用例模型
包含关系 include
扩展关系 extend
泛化关系(继承)
分析模型(领域模型)
定义概念类
识别类之间的关系
依赖关系
关联关系
聚合关系
组合关系
泛化关系(一般和特殊,子类和父类)
实现关系
组成
顶层架构图
用例和用例图
领域概念模型
2.3 分析方法
2.3.1 UML
视图
事务
关系
依赖关系
关联关系
组合关系:生命周期强,人脑和人的身体
聚合关系:没有共同生命周期,大雁和雁群
泛化关系:一般和特殊。子类和父类
实现关系:一个类指定了另外一个类元保证执行的契约。就是编码里的接口和实现
UML基础
静态图(结构图)
用例图
说明:软件系统与外部参与者的交互
关系:
包含 include,执行某个事情前,必须要先执行
扩展 extend,可做可不做
泛化,一般和特殊,子类和父类,继承
类图
一组类、接口、协作和他们直接的关系
对象图
某一时刻,一组对象和他们之间的关系。类图的某一时刻快照。
构件图
一个【封装的类】和它的接口
部署图
软硬件直接的映射
制品图
系统的物理结构
包图(架构图)
由模型本身分解而成的组织单元,以及他们之间的依赖
组合结构图
动态图(行为图)
交互图
2.3.5 序列图(顺序图)
强调按时间顺序,以时间顺序组织的对象之间的交互活动
2.3.6 通信图(协作图)
定义:强调参与交互的对象组织
定时图
强调实际时间
交互速览图
2.3.7 状态图
状态转换变迁
子主题
2.3.8 活动图
类似程序流程图,并行行为
UML
面向对象设计
组成
包图(架构图),表示软件的体系结构
交互图,表示用例实例图
类图(完整、精确)
针对复杂对象的状态图
描述流程化处理过程的活动图
设计原则
1. 单一职责原则。设计目的单一的类
2. 开放-封闭原则。对扩展开放,对修改封闭
3. 里氏替换原则:一般和特殊,子类可以替换父类。
4.依赖倒置原则。抽象不应该依赖于细节,细节 应该依赖于抽象。针对接口编程。
5.接口分离原则。使用多个专门的接口,比使用单一的总接口要好
需求定义
产出:需求规格说明书
方法
严格定义也称为预先定义
原型方法
需求验证:
需求评审
需求测试:设计概念测试用例
用户确认
三、系统设计
定义
定义:系统分析阶段的任务是回答系统“做什么”,而系统设计阶段是要回答的问题是“怎么做”。该阶段的任务是根据系统说明书中规定的功能要求,具体设计实现逻辑模型的技术方案,也就是设计新系统的物理模型。这个阶段又称为物理设计阶段,可分为总体设计(概要设计)和详细设计两个子阶段。
输出:系统设计说明书(概要设计、详细设计说明书)、需求规格说明书
目的:为系统制定蓝图,在各种技术和实施方法中权衡利弊,精心设计,合理地使用各种资源,最勾画出系统的详细设计方法
业务流程设计:
业务流程分析方法
1. 价值链分析方法
2. 客户关系分析法
3.供应链分析法
4. 基于ERP的分析法
5.业务流程重组
设计方法:
1. 结构化设计 SD
基本原理:
抽象化
自顶向下,逐步求精
信息隐蔽
模块独立(高内聚,低耦合)
设计原则:
保持模块的大小适中
尽可能减少调用的深度
多扇入,少扇出
单入口,单出口
模块的作用域应该在模块内
功能应该是可预测的
2. 面向对象设计 OOD
设计原则:
1. 单一职责原则。设计目的单一的类
2. 开放-封闭原则。对扩展开放,对修改封闭
3. 里氏替换原则:一般和特殊,子类可以替换父类。
4.依赖倒置原则。抽象不应该依赖于细节,细节 应该依赖于抽象。针对接口编程。
5.接口分离原则。使用多个专门的接口,比使用单一的总接口要好
23种设计模式
1. 创建型5个
工厂方法模式:多个不同对象,创建不同工程
抽象工厂模式:由子类决定实现哪一个实例
构建器builder :多个构造,游戏中的人物、身体、脸
单例模式:唯一实例,比如皇帝
原型模式:通过拷贝创建对象
2. 结构型7个
适配器模式:转换和兼容接口
桥接模式:多种类型的两两组合,独立编号,抽象和实现分离
组合模式:整体和部分,树形目录
装饰模式:附加职责,动态给对象附加职责
外观模式:对外统一的接口,比如Result。一次性打开一组
享元模式:细粒度,共享,类似古代活字印刷术
代理模式:快捷方式,代理控制,rpc方式
3. 行为型11个(动态)
职责链模式:OA请假,传递请求,职责,链接
命令模式:参数化,日志记录,命令和撤销
解释器模式:自定义规则,比如游戏里,自定义地图
迭代器模式:顺序访问,不暴露内部细节
中介者模式:ESB企业总线,不直接引用
备忘录模式:存档和读档,保存和回复
观察者模式:微信公众号的订阅模式
状态模式:会员积分等级
策略模式:定义了一些列算法,代码里用得多,比如验证码
模板方法模式:使用模板创建具体的类
访问者模式:数据和操作进行分类,人的属性固有,不同阶段干不同的行为操作。
五、系统运行和维护
定义:系统投入运行后,需要经常进行维护和平均,记录系统运行的情况。根据一定的规则对系统进行必要的修改,评价系统的工作质量和经济效益。
四、系统实施
定义:是将设计的系统付诸实施的阶段。这一阶段的任务包括计算机等设备的购置、安装和调试、程序的编写和调试、人员培训、数据文件转换、系统调试与转换等。这个阶段的特地是几个互相联系、互相制约的任务同时沾卡,必须精心安排、合理组织。系统实施是按照实施计划分阶段完成的,每个阶段应写出实施进展报告。系统测试之后,写出系统测试分析报告。
输出:实施进展报告、系统测试分析报告、周报等
六、系统测试
传统软件测试
V模型
面向对象测试
1.算法层
类似单元测试
2. 类层
3.模板层
4.系统层
收藏
收藏
0 条评论
下一页