资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2,第5章 信息系统开发概述,【学习目标】 通过本章学习,你将能够: 阐述系统开发生命周期及各阶段的任务 描述系统开发的两种常用方法:传统方法和面向对象方法 描述生命周期方法的一些变体 了解支持系统开发的工具,3,5.1 引 言,一个信息系统开发项目从提出到最终完成需要经历若干阶段,这一阶段我们称之为系统开发的生命周期。系统开发过程本身是非常复杂的。开发人员利用他们所熟悉的各种辅助工具来表达自己的思想,完成开发过程中的每一步。作为即将进入这一行业的学生,应该掌握许多概念,包括方法、模型、工具和技术。而所有这些概念,一方面需要我们有事先的接触,另一方面也需要通过实践有进一步的体会。,4,5.2 系统开发的生命周期,图5-1给出了系统开发的生命周期(SDLC)。,5,5.2.1 系统开发各阶段的任务描述,1) 项目规划 2) 系统分析 3) 系统设计 4) 系统实施 5) 系统维护,6,5.2.2 系统开发的生命周期方法的实施,图5-2 系统开发的生命周期的瀑布法,7,5.2.2 系统开发的生命周期方法的实施,图5-3给出了迭代的一般思路。 一个项目可以分成许多小项目,其中每个小项目都要进行分析、设计和实施的迭代过程。这样,我们就可以首先定义系统的一些关键功能,并在第一次迭代中实现这些关键功能。,8,5.3 系统开发的两种方法,系统开发可以采用多种不同的方法,对于缺乏经验的开发人员来说,这让他们感到困惑,似乎每个公司甚至每个开发人员都有自己独特的方法。所以,我们必须清楚一点,所有的方法都可被看作是系统开发的生命周期的变体,人们事实上是在用不同的工具来表达自己的想法和思路,而思路本身是相同的。 在这里,我们主要介绍两个看起来区别较大的开发方法,一种是传统的结构化方法,另一种则是较新的面向对象开发方法。,9,5.3.1 结构化开发方法,结构化开发方法由结构化分析、结构化设计和结构化编程三种技术组成。最早出现的是结构化编程思想,那时,人们试图用这种技术来提高计算机编程的质量。 1. 结构化编程 2. 结构化设计 3. 结构化分析,10,5.3.2 面向对象开发方法,面向对象(Object-Oriented,OO)的开发方法是从不同于传统方法的崭新角度来看待系统开发,它认为整个系统由为实现特定目标而相互协作的对象组成。 面向对象分析和设计极大地改变了信息系统构件的内容。 对象建模方法要求使用完全不同于结构化开发方法的图形记号。 现今开发的许多系统大多数是将传统方法和面向对象方法相结合使用。一些集成环境(IDEs)也在同一工具中结合了传统和面向对象技术。,11,5.4 其他系统开发路线,你也可以为实现系统开发的目标选择开发路线和方式。 前面介绍了两种基本的系统开发方法,这两种方法比较严格地遵循了SDLC的开发路线。但现实中,人们的开发方法很灵活,存在许多SDLC的变体路线。必须明确的是,这些开发路线并不是互斥的,任何给定的项目都可以使用基本开发路线的变种或者组合。,12,5.4.1 模型驱动开发路线,模型驱动开发路线强调通过绘制可视化的模型来分析问题、定义业务需求以及设计信息系统。 模型驱动开发路线的以下特点。 (1) 模型驱动方法重视计划,因为项目往往很大,返工开销也很大。 (2) 某些系统建模技术提倡对现有系统详细地建模,以确定问题和改进机会。 (3) 大多数模型驱动技术要求分析员用文档记录下“逻辑”系统模型和业务需求。 (4) 许多模型驱动技术要求分析员用文档记录下多种技术方案及其“物理”系统模型。 (5) 许多系统设计技术通常得到详细的物理模型,例如数据库模式、结构和数据流程图,它们是构造新系统的蓝图。 (6) 在实现阶段将物理系统模型转化成软件。,13,5.4.1 模型驱动开发路线,模型驱动方法具有以下优点。 它最小化了计划的负担,因为所有的阶段都是事先计划好的; 在模型驱动方法中,需求分析往往更加全面而且被更好地文档化; 在模型驱动方法中,多种技术方案往往被更全面地分析; 系统设计更合理、更稳定、更具适应性、更灵活,因为它们是基于模型的,并且在建造前被更全面地分析过; 这个方法对于已经充分理解但太复杂而需要大型项目团队完成的系统有效; 当用户的预期和质量比开发费用和进度更重要时,这个方法很不错。,14,5.4.2 快速应用开发路线,快速应用开发(Rapid Application Development,RAD)技术强调用户深入地参与到一个系统工作原型的快速进化和构造过程中,以加速系统的开发过程。 图5-10给出了RAD的基本思想。,15,5.4.2 快速应用开发路线,RAD的基本思想如下。 让系统用户更主动地参与到分析、设计和构造活动中来。 将系统开发组织成一系列重点突出的研讨会,研讨会要让系统所有者、设计人员和构造人员一同参与。 通过一种迭代的构造方法加速需求分析和设计阶段。 使用户尽快看到一个可工作的原型系统。,16,5.4.2 快速应用开发路线,RAD方法有以下几个优点。 它适用于用户需求不确定或者不明确的项目。 它鼓励用户和管理层主动地参与(相对于不可工作的系统模型的被动式响应),增加了最终用户对项目的热情。 项目具有较高的可视性和支持程度,因为用户深入地参与到了整个开发过程中。 用户和管理层看到可工作的基于软件的方案比模型驱动开发要快得多。 在原型中错误和遗漏往往比在系统模型中更早地被发现。 测试和培训是基本原型方法的一个自然副产品。 迭代方法显得更“自然”,因为开发过程中变化是必然的。 降低了风险,因为你会反复地测试技术方案,而不是对任何方案进行一次性的确认。,17,5.4.3 现成商用软件包开发路线,在下面三种情况下可以优先考虑选择使用软件包开发信息系统的策略。 1) 需要开发的系统功能是多数组织都要用到的一些通用功能 2) 缺少组织内部的开发人员 3) 开发的系统属于微机系统,18,5.4.3 现成商用软件包开发路线,购买现成商用软件开发路线的基本思想如下。 为了实现业务需求,必须仔细地选择封装式软件方案“你得到你想要的,然后付费。” 封装式软件方案不仅需要花钱购买,而且也可能需要花钱实现。实际上,这种路线可能比内部实现的模型驱动开发路线或快速应用开发路线更贵。 软件包通常必须定制并集成到企业中。另外,软件包通常需要重新设计现有业务过程以适应该软件。 软件包很少能实现让用户完全满意的所有业务需求。这样,一定程度的内部系统并发对于满足那些没有实现的需求仍是必需的。,19,5.4.4 混合开发路线,下面将简单地介绍一些常用混合开发路线。 1) 快速架构开发路线 2) 并行实现开发路线 3) 分阶段实现开发路线,20,5.5 支持系统开发的工具,下面列举了一些常被引用的好处。 生产率提高通过任务自动化。 质量改进因为自动化工具检查了完整性、一致性和矛盾冲突。 更好、更一致的文档因为工具使得编写和汇集一致且高质量的文档更加方便。 减少了生命期的维护由于系统质量的提高以及产生了更优质的文档。 真正可用的方法学通过使用强制性规则和内建的专业知识得以实现。 一般来说,有三类自动化工具用于系统开发:计算机辅助系统工程、应用开发环境、项目和过程管理器。,21,5.5.1 CASE工具,有代表性的CASE工具如下。 微软的Visio。 Oracle公司的Designer。 Platinum公司的Erwin。 Rational公司的ROSE。 Popkin公司的System Architect。 Sterling公司的COOL产品系列。 Visible Systems公司的Visible Analyst。,22,5.5.2 应用开发环境,应用开发环境(Application Development Environment,ADE)是集成的软件开发工具,它提供了以最快速度和最高质量开发新的应用程序所需的全部工具。常用的同义词有集成开发环境(IDE)。 应用开发环境中包括一些生产率和质量管理工具,ADE供应商提供了一些这类工具。第三方供应商则提供了其他许多可以集成到ADE中的工具。,23,5.6 小 结,除了最简单、规模最小的项目外,其他所有系统开发项目都是按不同阶段进行的。这一系列阶段即系统开发生命周期(SDLC)。SDLC阶段包括规划、分析、设计、实施及维护。 开发系统有很多方法。而所有这些方法都是基于SDLC来管理项目。 SDLC也有很多变体路线,如快速应用开发路线、现有商用软件包开发路线以及混合路线。 CASE工具表示利用信息技术辅助进行系统开发过程。,24,思 考 题,1. 请阐述SDLC五个阶段的任务分别是什么? 2. 你认为传统结构化开发方法和面向对象方法的共同点及区别是什么? 3. 什么是模型驱动开发? 4. 什么是快速应用开发?它有什么优点? 5. 系统开发方法和系统生命周期是经常被混淆的词汇,你认为两者如何区别? 6. 一个用户要求你的软件公司开发一个订单处理系统。但是对新系统的最基本部分的发布时间要求很紧,并且用户的需求很模糊、不清楚。在此情况下,你认为这个项目使用哪种开发方法比较适合?,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号