【软考】信息系统开发基础 - 信息系统/软件开发方法
2023-09-14 09:14:15 时间
一 、软件开发方法
软件工程的五个面向理论:面向流程分析、面向数据设计、面向对象实现、面向功能测试和面向过程管理。
1.1 结构化法
1.1.1 特点/意义
- 开发目标清晰化
- 开发工作阶段化
- 开发文档规范化
- 设计方法结构化
1.1.2 缺点
- 开发周期长
- 难以适应需求变化
- 很少考虑数据结构
1.2 面向对象法
1.2.1 特点/意义
- 与现实世界对应
- 符合人们的思维习惯
- 构造的系统具有更好的复用性
- 适用于各种信息系统的开发
- 关键在于建立一个全面,合理,统一的模型
- 分析,设计与实现三个阶段,界限模糊
- 应该把握高内聚,低耦合的原则
1.2.2 缺点
- 不一定适用于任何信息系统开发的全生命周期
- 尤其在大型系统的开发上具有一定的局限性,不能涉足系统分析以前的开发环节。
1.2.3 适用范围
适用于各种信息系统的开发
1.3 面向服务方法
1.3.1 特点/意义
- 由面向对象发展而来,已经是流行的趋势了
- 提高系统的可复用性、信息资源共享和系统之间的互操作性
- 满足了信息系统快速响应需求与环境的变化,组织内部,组织之间各种应用系统互相通讯要求
- 解决信息建设过程中的各种问题:比如信息孤岛,信息不一致,难以整合共享,企业上下级之前,企业与上下游合作伙伴之间难以协同,信息系统难以适应快速的业务变化等问题。
- 第一次把开发和运维也纳入企业架构中
1.4 原型法
1.4.1 特点/意义
特点:
- 在实际建造之前通过提供一个预期产品的工作模型,获得早期需求反馈的方法。
意义:
- 降低成本与风险
- 加快速度
1.4.2 缺点
- 开发环境要求高(人员素质,开发工具,软硬件)
- 管理水平要求高
1.4.3 适用范围
- 需求不明确的开发
- 分析层面难度大,技术层面难度不大的系统
1.4.4 适用范围
- 确定用户需求
- 设计原型
- 使用与评价原型
- 修改完善原型
- 整理原型提供文档
结构化法和面向对象法 两者的关系:相互依存,不可替代
面向对象法 和 面向服务方法两者的关系:OO(面向对象)->构件化 -> 标准化 -> SO(面向服务)
二、软件工程中常用的软件开发方法
面向过程的开发方法
面向对象的开发方法
面向数据的开发方法
形式化开发方法
面向过程的开发方法 | 面向对象的开发方法 | 面向数据的开发方法 | 形式化开发方法 | |
---|---|---|---|---|
优点 | 简单好学 | 功能强大,易于维护 | 通俗易懂 | 准确、严谨 |
缺点 | 不适应窗口界面,维护困难 | 不用掌握 | 不适应窗口界面 | 难于上手和应用 |
适用场合 | 大型工程计算,实时数据跟踪处理,各种自动化控制系统,以及系统软件实现等领域。 | 互联网时代,完全有用户交互控制程序执行过程的应用程序和系统软件的开发。 | 以关系数据库管理形态为支撑环境的信息系统建设。 | 对安全性要求极高,不容许出错的软件系统,如军事、医药、交通等领域。 |
相关文章
- js校验表单后提交表单的三种方法总结
- 【原创】开源Math.NET基础数学类库使用(12)C#随机数扩展方法
- Java面向对象基础---名词概念的理解:方法的重载、构造函数、封装性
- 【JS基础回顾】String对象及其常用属性以及方法
- 蓝桥杯(Java方法、详细解法分析)基础练习 阶乘计算
- PreferenceActivity使用方法
- 如何控制某个方法允许并发访问线程的个数?
- Linux Vsftpd 连接超时解决方法
- Array对象的方法实现(6)----Array.prototype.indexOf(实现常规参数的功能)
- [转] WinForm实现移除控件某个事件的方法
- 通过一个具体的例子,讲解 SAP Cloud Platform Integration(CPI) 的使用方法
- Android识别预装的第三方App方法实例
- Py之numpy:numpy库的使用方法之基础函数(np.concatenate/np.meshgrid等)简介、使用方法之详细攻略
- JavaSE基础篇 | 方法(方法重载和方法递归)
- web自动化测试入门 —— selenium+python基础方法封装
- 一种神经元探索系统方法及装置
- 【Java 基础】Java 数组、方法极致精讲
- Linux之奇怪的知识---supervisor超级守护进程的意义和使用方法
- ESP8266网络通信实验之经典方法
- Cookie | Cookie的理论基础、Cookie中常用的方法
- 【java基础】抽象类和抽象方法
- 验证基础-验证方法