管理信息系统(四)
主要ISDM简介
• 结构化系统开发方法(structured system development methodology , SSDM)
• 原型化方法(Prototyping methodology)
• 敏捷方法(Agile Methodology) , 如XP 、SCRUM
• Structured Systems Analysis and Design Methodology
• Soft Systems Methodology (SSM)
• User-centered Development Methodology
• The Effective Technical and Human Implementation of Computer-based Systems
methodology (ETHICS)
• Structured Analysis, Design and Implementation of Information Systems (STRADIS
Methodology)
• 信息工程(Information Engineering , IE)
• Jackson Systems Development (JSD)
• Information Systems Work and Analysis of Changes (ISAC)
• Multiview Methodology
SSDM
SSDM 的多种叫法:
• 结构化系统开发方法(structured system development methodology , SSDM)
• 结构化系统生命周期法
-
SSDM 由多种方法结合而来(大杂烩,在实际应用中可根据项目需要挑选适当的结构化开发技术):
• 自顶向下结构化方法,主要包括E.Yourdon 提出的结构化开发方法(结构化分析结构化设计,简称SASD, 也叫面向功能的软件开发方法或面向数据流的软件开发方法)。它首先用结构化分析(SA) 对软件进行需求分析,然后用结构化设计(SD) 方法进行总体设计,最后是结构化编程(SP) 。它给出了两类典型的软件结构(变换型和事务型)使软件开发的成功率大大提高。
• 工程化的系统开发方法
• 结合生命周期方法,也就是SDLC
• IBM公司提出的企业系统规划法(Business System Planning, BSP)
• James Martin提出的战略数据规划法
• Harlan D. Mills提出的系统开发黑箱(Black Box)方法 -
基本思想:
用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下地对信息系统进行分析与设计,最后自底向上地逐步实施的建立计算机信息系统的—种开发方法学。也叫结构化系统生命周期法。- 系统规划阶段:
该阶段的范围是整个业务系统,目的是从整个业务的角度出发确定系统的优先级。 - 系统分析阶段
主要活动包括可行性分析和需求分析。目的是分析业务上存在的问题,定义业务需求。
基本思想. 自顶向下,逐步求精
基本手段: 分解和抑象
主要结果: 系统说明书
(1、一套分层的数据流图;2、—本数据词典;3、—组加工(处理)说明) - 系统设计阶段
系统设计的目的是设计一个以计算机为基础的技术解决方案以满足用户的业务需求。
• 总体设计的主要任务是构造系统的总体结构和系统的模块结构
• 详细设计包括代码设计、输出设计、输入设计、数据存储设计、处理过程设计、用户界面设计。 - 系统实施阶段
系统实施的目的是组装信息系统技术部件,并最终使信息系统投入运行。包括的活动有编程、测试、用户培训、新旧系统之间的切换等。 - 系统运行与维护阶段
目的是对系统进行维护,使之能正常地运作。
- 系统规划阶段:
- SSDM 的优点
• 严格区分开发阶段
• 从抽象到具体,逐步求精
• 逻辑设计与物理设计分开
• 质量保证措施完备 - SSDM的缺点
• 它是—种预先定义需求的方法
• 开发过程繁琐、复杂。
• 系统开发周期长。
• 文档工作量太大 - SSDM适用范围
该方法适用于—些组织相对稳定、业务处理过程规范、需求明确且在—定时期内不会发生大的变化的大型复杂系统的开发。对规模较大、功能比较复杂的系统最好采用结构化方法,可以实现对整个系统的合理规划和过程控制
原型化方法(Prototyping Method)
运用SSDM的前提条件是要求用户在项目开始初期就非常明确地陈述其需求,需求陈述出现错误,对信息系统开发的影响尤为严重,因此,这种方法不允许失败。事实上这种要求又难以做到。人们设想有—种方法,能够迅速发现需求错误。
• 当图形用户界面(Graphic User Interface, GUI) 出现后,自80年代中期以来,原型法逐步被接受,并成为—种流行的信息系统开发方法。
• 在管理信息系统开发中,用“原型”来形象地表示系统的—个早期可运行版本,它能反映新系统的部分重要功能和特征。
• 信息系统原型, 就是一个可以实际运行、可以反复修改、可以不断完善的信息系统。“原型方法”则是利用原型来辅助开发系统的一种开发方法。
- 原型法基本思想
原型化方法是在系统开发初期,开发者基于和用户的交谈,得到对于系统的基本认识后,凭借系统开发人员对用户需求的了解和系统主要功能的要求,在强有力的软件环境支持下,迅速构筑—个能够反映系统特色的初始原型。
然后在此基础上,和用户进行进—步的讨论,得出他们对于系统的真正的需求,直到开发者确信已经完全掌握了用户的需求时,才进行正式的开发。 - 原型法开发流程
- 确定用户的基本要求
本阶段开发者需向用户询问若干基本的、关键性的问题,从而得到用户对于信息系统的基本要求。例如
• 确定基本的信息单位, 构筑起基本的系统模型。
• 明确系统的基本用户界面形式I 确定所需的输入数据来自何处
• 决定该系统的功能范围,哪些工作应由系统完成,哪些由工作人员负担。
• 估计用户的期望,估算出开发该原型系统的费用。 - 开发初步的原型系统
在此阶段建立原型系统,其目的主要是为了描述开发者所理解的用户的基本需求, 所以对系统的工作效率、界面完美程度并不做更多的追求。 - 评价修改原型系统
请用户使用原型系统,让他们实际体验使用系统的感觉,并写下所有不满意之处。这一阶段的目的主要在于让用户发现原型系统所存在的问题。在这—阶段要不断修改原型系统, 直到下列两种情况之—出现为止:
• 用户可能认定按原型开发的系统不是他们所希望的系统或开发者认为用户提出的要求无法按目前条件实现,从而终止开发工作。
• 除了规模和效率等可以改善的问题以外,用户对原型系统已经满意。 - 正式开发
将用户满意的原型系统作为进—步开发的基础,设计恰当的系统集成设备等。
- 确定用户的基本要求
- 原型法优点
对系统需求的认识取得突破
改进了用户和系统开发人员的交流
提高了用户的满意程度
降低了系统开发风险 - 原型法缺点
开发工具要求高
解决复杂系统和大型系统很困难
对用户的管理水平要求高
不适合大量运算及逻辑性强的模块 - 原型法适用范围
原型法的适用范围是比较有限的,对于小型、简单、处理过程比较明确、没有大量运算和逻辑处理过程的系统。特别适合于对系统功能要求不高但用户界面丰富的系统。
• 原型化方法本身的特点决定了将其应用于开发—个大的信息系统是不可能的,它的特点和长处是对用户要求的多次模拟和修改,因而除了可以被单独应用在小型系统外,还可以与结构化方法结合在—起使用,作为前期调查用户需求的工具,是对结构化开发方法的发展和补充。
敏捷方法Agile
• 大部分客户并不能在项目开始时就清晰而完整的描述其需求,很多需求会在开发过程中提出或调整;因此, IS开发流程需要灵活性,以便用户能够频繁地分析和调整其需求,又不会危及整个流程的有效性,敏捷方法旨在解决此点。
• 敏捷方法十分重视设计活动。强调开发过程中不断变化的需求和调整,强调灵活的开发方法。可以认为,敏捷方法日益重要与当下技术环境的不稳定性有关(过快的技术革新)。
• 敏捷方法强调适应性而不是可预测行,强调更快的开发速度和更好的集成客户需求。其主要优点在于能轻松适应各种类型项目可能存在的各种规格。
常用的敏捷方法主要有XP (极限编程)和Scrum , 以及各种根据敏捷方法原理衍生的定制方法。根据Version One的调查, 2016年Scrum是最常用的敏捷方法占58%, 其次是scrum/xp混合法占10%。
- 极限编程(XP) , —种迭代的软件开发方法,需要最大的客户交互。开发周期分为短循环。每个循环从收集用户需求开始,然后是迭代规划,建立循环数和相应的时间范围。然后开发产品,通常采用结对编程(Pair programming) 。写好的系统同时进行技术及用户接受度测试,测试结果和用户反馈纳入下—版开发,从而开始下—次循环。循环,某个版本被大多数用户,管理者和开发人员接受。
- Scrum是—种类似的方法,特别设计用于最优化开发时间和客户满意度。开发过程的每次迭代称为'sprint" , 并确定每次sprint的最长持续时间为30天。在收集用户要求之后,通过名为'product backlog"的列表确定优先级,然后仔细规划所需的sprint以及每个sprint的重点。这就是"sprint backlog"。在每个冲刺的实际开发中,每天都有例会讨论开发进度、交流反馈和经验。每次sprint都会生成—个版本的系统,并在随后的下—个sprint中改进/完成。
结构化系统分析和设计方法( SSADM )
结构化系统分析和设计方法(Structured Systems Analysis and Design Methodology , SSADM ) 被设计用于大型信息系统,主要由政府部门使用。最初由英国内政部的中央计算机与电讯局(British Central Computer and Telecommunications Agency) 于八十年代后期作为系统分析与设计框架开发并采用。
- 尽管设计用于大型信息系统, SSADM也可用于中小规模的项目,使其成为敏捷方法的替代方法。该方法有两个主要特征:
- 一是将系统分成较小部分(以便确立开发阶段的顺序,以及不同阶段间的交互);
- 二是建模方法和图的使用(以便向用户和开发人员呈现逻辑更清晰、结构更良好的系统定义)。通过这种结构化的可分析系统,系统可分解为小单元,从而能定义构成大型信息系统的各单元的定义、次序及相互之间的连接。
- 优点:
1、逻辑设计和物理设计分离
2、定义良好的技术规范和文档
3、用户参与度高 - 缺点:
1、SSADM规模偏大
2、培训用户和开发人员的成本和时间较高
3、如果采用完整方法, 学习曲线很陡
软系统方法论(SSM)
软系统方法论(soft systems methodology , SSM) 20世纪60年代后期由兰卡斯特大学的Checkland提出。基本点是“硬和“软“思维的区别。“硬思维”意味着将世界看为可以分析或构建的有组织系统。“软思维”意味着将世界视为—组无序,混乱和复杂的现实,但是可由观察者组织为系统以便分析。因此, SSM 的前提假设就是信息系统不是真实的实体,而是人类思维的—次构建。
一般来说,软系统方法有七个明确的阶段。阶段1 和2对应于情境和/或问题的定义。在第3阶段,离开现实世界,进入系统环境,在第4阶段开发概念模型。然后回到第5 、6、7阶段的现实世界,以便将模型与现实进行比较,为可能出现的问题创造解决方案,最后实现模型
ISAC
Information Systems Work and Analysis of Changes , ISAC , 20世纪70年代由瑞典斯德哥尔摩Institute for Development of Activities in Organizations研发。
它是—种基于客户需求的IS开发方法,从对组织现状和具体问题的深入分析开始,鼓励用户和所有其他利益相关者在开发人员协调下参与开发过程。
• ISAC主要侧重于问题分析和活动建模,不适用于复杂系统。
• ISAC鼓励用户通过会议方式参与开发,这意味着它偏向敏捷开发方式,因此更适合具有动态需求的以客户为中心的项目。
ISDM分类
可以分为如下4类:
- Process-oriented methodologies that are appropriate to well-structured problem situations and focus on the structure of the system design, presenting structuredguidelines;
- Methodologies used on unstructured problems, where the purpose is uncertain;
- Methodologies that promote elevated user interaction with the system;
- Methodologies that combine features from other models.