大师兄的信息化管理学习笔记(一):信息化和信息系统
大师兄的信息化管理学习笔记(三):计算机网络(一)
一、系统开发方法
- 信息系统开发中,除了技术和管理等因素外,系统开发方法也起着重要作用。
结构化方法:最传统的开发方法。
面向对象方法:遵循面向对象方法。
原型化方法:具有敏捷思想。
面向服务方法:不拘泥于具体实现。
二、结构化方法
- 结构化方法适合数据处理领域的问题,不适合规模较大、比较复杂的系统开发。
- 思想:按照信息系统的生命周期,把整个系统的开发过程分为若干阶段并以此执行;每个阶段又划分为详细的工作步骤,顺序作业。
- 组成:结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)。
- 关键点:自顶向下设计,逐步分解;自下向上实现。
- 优点:
- 开发目标清晰化
- 开发工作阶段化
- 开发文档规范化
- 设计方法结构化
- 缺点:
- 开发周期长
- 难以适应需求变化
- 很少考虑数据结构
1. 结构化分析简介
- 结构化分析(SA)是一种面向功能或面向数据流的需求分析方法,采用自顶向下、逐层分解的方法,建立系统的处理流程。。
- 结构化分析(SA)会产出各种模型图,以数据流图和数字字典为例:
- 数据流图(DFD)是描述数据处理过程的工具,从数据传输和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
- 数据字典(DD)是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。
2. 结构化设计简介
-
结构化设计SD是一种面向数据流的设计方法,目的在于确定软件的结构。
3. 结构化程序设计
- 结构化程序设计是一种编程范例,旨在通过广泛使用选择(if / then / else)和重复(while and for),块结构的结构化控制流构造来提高计算机程序的清晰度、质量和开发时间。
三、面向对象方法
- 大型信息系统通常将结构化方法和OO方法结合起来。
- 思想:面向对象方法认为,客观世界是由各种对象组成的,每个客观事物间的联系通过对象间的消息传递机制来实现。
- 组成:面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程(OOP)。
- 关键点:建立全面、合理、统一的模型,即反应问题域,又能被IT系统求解。
- 优点:
- 符合人们的思维习惯
- 有利于与用户沟通
- 缩短开发周期
- 缺点:
- 必须依靠OO技术
- 大型项目开发困难
- 不能应用于前期规划
1. 面向对象分析简介
- 面向对象分析(OOA)是确定需求或者业务的角度,按照面向对象的思想来分析业务。
- 面向对象分析(OOA)会产出各种UML图,以用例图、类图和顺序图为例:
- 用例图是从用户角度描述系统功能,是用户所能观察到的系统功能的模型图。
- 类图是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。
- 顺序图是将交互关系表示为一个二维图。
四、原型化方法
- 目前的原型法不是一种独立的系统开发方法,而只是一种开发思想。
- 思想:开发人员通过对用户需求的初步理解,快速开发一个原型系统,通过反复修改该原型来实现用户的最终系统需求,也成快速原型法。
- 分类1:从原型是否实现功能来分:
- 水平原型:只是功能的导航,并未实现,用于界面。
- 垂直原型:实现了部分功能,用于复杂算法。
- 分类2:从最终结果来分:
- 抛弃式原型:达到预期目的后抛弃,用于解决需求不确定性,二义性、含糊性等。
- 演化式原型:演化成最终系统,用于易于升级和优化的场合,如web项目。
- 优点:
- 成本和风险降低、速度加快。
- 以用户为中心,提高成功率。
- 有利于系统的移交、运行与维护。
- 缺点:
- 开发的环境要求高。
- 管理水平要求高。
五、面向服务方法
- 面向服务方法SO用于组织内部、组织之间的资源共享,不拘泥于某一技术。
- 思想:面向服务(Service-Oriented,SO)的开发方法在面向对象OO基础之上形成构建(Component),构件之间通过接口的形式进行功能调用。
- 精髓:把接口的定义与实现进行解耦,提高可复用性,资源共享,互操作性。
- 抽象级别:
- 底层的操作代表单个逻辑单元的事物。
- 第二层的服务代表操作的逻辑分组。
- 最高层的业务流程则是为了实现特定业务目标而执行的一组长期运行的动作或者活动。