第1章系统分析与设计概述本章介绍:讲述信息系统基本概念、特性,从信息系统的设计模型、应用环境讲起,依据基本概念、原理和发展趋势的思路,分别介绍了系统分析与系统设计的定义、过程与流行的技术方法,从战略的观点研讨了信息系统持续发展的阶段理论,概要地描述了信息系统开发的全过程。学习要求:掌握系统、系统模型、系统分析、系统开发以及开发工具等相关概念,了解信息系统发展理论;本章导读本章目录1.1系统的概念和特性1.2系统模型的概念和类型1.3系统关联人员1.4系统发展的阶段理论1.5系统分析与问题领域1.6系统开发与项目管理1.7系统分析与设计工具本章小结和习题1.1.1系统概念及特性系统是一组为实现某些结果相互联系、相互作用的部件的集合体。信息系统是:一组以收集、处理、存储信息为基础,并以输出完成业务任务所需信息为提交的相互联系、相互作用的部件集合体。信息系统一般具有两个特性:可分解性、边界性§1.1系统的概念和特性1.信息系统的分类从应用范围来看,信息系统分为下列类型:事务处理系统管理信息系统智能决策支持系统办公自动化系统§1.1.2系统分类与环境2.信息系统的环境一般认为,信息系统的发展经历了数据处理、管理信息系统、决策支持系统三个阶段,信息系统的开发与应用有了很大的发展。高速的计算机网络环境面向对象与协作技术企业应用软件§1.1.2系统分类与环境§1.2.1系统模型的概念模型是对所研究的系统、过程、事物或概念的一种表达形式。模型是现实世界中某些重要方面的表示§1.2.2系统模型的类型上下文模型数据模型对象建模§1.2系统模型的概念和类型系统所有者:系统所有者一般来自管理阶层。用户:内部系统用户主要是指系统实际操作人员。外部系统用户主要指系统的直接或间接使用人员。分析设计人员:系统的技术专家角色。外部服务者:如业务顾问、系统顾问等。项目经理:具体定义和执行项目管理任务。§1.3系统关联人员信息系统战略规划是实施信息系统的关键步骤。目前使用比较多的信息系统规划模型有:诺兰的阶段模型西诺特模型米切尔模型。§1.4系统发展的阶段理论诺兰强调,任何组织在实现以计算机为基础的信息系统时都必须从一个阶段发展到下一个阶段,不能实现跳跃式发展。§1.4.1诺兰的阶段模型“西诺特模型”不仅强调了信息处理程度的差别在组织经营与管理中具有不同的意义,而且还突出了信息资源管理者本身在组织信息管理模式选择中所处的特殊地位和作用。“西诺特模型”强调,随着计算机处理的信息武器作用的变化,作为信息资源管理者的CIO的重要性应当受到重视。当前,发达国家都接受了西诺特对诺兰模型的改善,将信息资源管理作为企业的头等大事来抓。综观国内企业,已有海尔、春兰、长虹、TCL等先进企业引入CIO机制的典型案例。§1.4.2西诺特模型“米切模型”将综合信息技术应用的连续发展划分为四个阶段:起步阶段、增长阶段、成熟阶段和更新阶段。“米切模型”可以帮助企业和开发机构把握自身当前的发展水平,了解自己的IT综合应用在现代信息系统的发展阶段中所处的位置,是企业研究信息体系结构或制定变革途径的认识基础,也是企业建设现代信息网络发展目标的前提。§1.4.3米切模型§1.5系统分析与问题领域§1.5.1系统分析过程在系统开发项目中,系统分析过程一般需经历:范围定义、问题分析、需求分析、决策分析四个阶段。其中前三个阶段合在一起称为系统分析,最后一个阶段涉及系统分析与系统设计之间的转换。系统分析是对系统项目开发的各个早期阶段的表述,传统的概念认为,信息系统分析主要涉及业务问题方面,而非技术或实现方面。目前,信息系统的开发与应用在各个行业越来越普遍,在应用系统分析方法对信息系统进行分析时,遇到的下面几个问题会显得的比较突出。(1)问题域与系统责任(2)交流问题(3)需求的不断变化(4)复用的要求§1.5.2信息领域模型是对所研究的系统、过程、事物或概念的一种表达形式,是对被研究对象的一种抽象。系统分析的基础是问题解决技术。由于解决问题的方法很多,所以系统分析方法也就有很多。从建模的角度来看:模型驱动分析法、模拟分析法。§1.5.3建模和模拟§1.6.1系统开发生命周期信息系统的开发需经历:系统项目启动、业务需求分析、详细技术设计、系统实现与维护四个过程分别称作系统开发生命周期的:启动阶段、分析阶段、设计阶段、实现与维护阶段。§1.6系统开发与项目管理系统开发方法为完成系统开发生命周期中的每一步提供详细的指导,它包括具体的模型、工具和技术。系统开发方法有很多种,如:结构化方法、原型法、面向对象方法、敏捷开发方法等。所有这些开发方法都依据系统开发生命周期来管理项目,这些方法加上模型、技术和工具就构成了系统开发方法学。§1.6.2系统开发方法论结构化系统开发结构化系统开发法诞生于20世纪70年代,由结构化分析、结构化设计和结构化编程三种技术组成,有时也把这三种技术称为结构化系统分析设计方法。结构化系统开发的基本思想是在分析与设计阶段自顶向下,逐层分解。把分析与设计看作是按一定的逻辑联系逐层分解的求解过程,从而能有效地将一个复杂的、难以描述和处理的抽象系统逐步分解成若干层次的子系统,直到能被有效定义和处理的具体模块,由此,形成了开发系统的概念模型。§1.6.2系统开发方法论原型法原型法产生于20世纪80年代。原型法的基本思想是:采用最经济的方法,尽快设计出一个可以实际运行的系统原型。所谓原型,是指一个用于实验的、结构简单但已具备系统的基本功能的应用系统。系统设计人员不是在间接地完善概念性的信息系统,而是与用户合作,直接在运行中不断修改一个尚不够成熟的系统原型,通过反复试验、评价与修改,最终开发出符合用户要求的管理信息系统。§1.6.2系统开发方法论原型法§1.6.2系统开发方法论面向对象方法:(1)面向对象的开发对象分析(OOA)阶段:对象设计(OOD)阶段:编程实现(OOP)阶段:系统测试(OOT)阶段:系统维护(OOM)阶段:§1.6.2系统开发方法论面向对象方法:(2)面向对象的分类OMT(ObjectModelingTechnique)方法OOD(ObjectOrientedDesign)方法RDD(Responsibility-DrivenDesign)方法OOAD(Object-OrientedAnalysisandDesign)方法OOSE(Object-OrientedSoftwareEngineering)方法VMT(VisualModelingTechnique)方法§1.6.2系统开发方法论敏捷开发方法20世纪90年代提出了新的敏捷开发方法。敏捷方法允许开发团队将主要精力集中在软件本身,而不是在设计和编制文档上。敏捷方法普遍地依赖于迭代方法来完成系统软件描述、开发和移交,主要用于支持业务应用的开发。§1.6.2系统开发方法论(2)敏捷建模原则①客户参与:②增量式移交:③团队工作:④接受变更:⑤保持简单性:§1.6.2系统开发方法论(3)极限编程极限编程(XP)是流行最广的一种敏捷方法,由Beck(Beck,2000)在20世纪90年代中期提出的。该方法因推行公认的最好的经验(例如迭代式开发)、以及客户参与到一个“极限”水平而得名。§1.6.2系统开发方法论(3)极限编程的核心价值是:①通过频繁发布系统的版本来支持增量式开发。②客户被全天雇佣到开发团队来参与系统项目。③开发人员结对编程,集体对系统开发具有所有权。④测试优先的开发思想。⑤通过持续的再分解来改善代码质量,使用简单设计,支持简洁性的维护。§1.6.2系统开发方法论1.项目管理生命周期项目管理是一个跨生命周期的活动,系统项目的生命周期包括启动、规划、实施和收尾四个阶段。在项目规划阶段,项目管理者对于项目的资源、成本和进度进行合理估算,制定软件开发计划;项目实施是指按照计划执行和控制项目,即项目管理者执行项目计划,及时发现和纠正实际情况与计划的偏差;在项目收尾阶段,项目团队完成项目产品的交付,并进行经验教训等项目总结。§1.6.3团队合作与管理2.项目管理基本要素按照项目管理协会(PMI)给出的定义,项目管理是在项目活动中应用一系列知识、技能、工具和技术,以满足或超过项目相关人员对项目的要求和期望。其中,项目管理涉及到九个不同的知识领域,它们是:项目规划管理、项目时间管理、项目成本管理项目质量管理、人力资源管理、项目通信管理项目风险管理、项目获取管理、项目集成管理§1.6.3团队合作与管理(1)规划与方法项目规划阶段由需要进行项目组织的各种活动组成,包括确定项目活动、制订项目的进度表、确认项目的可行性、项目成本预算、为项目安排人员等。项目进度表的制订可以分为下列两个主要步骤:第一步是制订工作分解结构;第二步是建立PERT/甘特图。§1.6.3团队合作与管理(2)活动与职能项目管理中最主要的管理任务即执行相关的活动,从整个项目管理生命周期来看,项目管理主要涉及以下八项活动:协商范围、确定任务、人员安排、组织、调度、指导、控制和项目总结。§1.6.3团队合作与管理3.项目团队的管理项目管理的实质是通过计划项目、然后检测项目、并控制项目执行的过程。一般来说,一个成功的项目一定包含一些不可或缺的因素:清晰的需求定义、大量的参与用户、上层管理的支持、完整的计划准备、务实的进度表以及确定的里程碑,这些都是项目经理的工作职责。§1.6.3团队合作与管理CASE工具的发展:第一阶段是依赖于系统开发生命周期各阶段的分散工具。这时的CASE工具只能支持系统开发某个阶段的工作,而不能支持整个软件生命周期。第二阶段称为软件开发环境(SDE)或软件工程环境,CASE工具的发展逐渐形成了能够支持系统生命周期所有阶段的工具,是包括方法、工具和管理等多种技术在内的综合系统。§1.7.1CASE工具的发展§1.7系统分析与设计工具CASE工具的主要功能包括:画图工具、报告生成工具、数据词典、数据库管理系统和规格说明检查工具,代码生成工具和文档资料生成工具等。目前CASE的标准是UML,最常见的CASE工具是RationalRose、SybasePowerDesigner、MicrosoftVisio、MicrosoftProject、EnterpriseArchitect、MetaCase、ModelMaker、VisualParadigm等。§1.7.2支持系统开发的CASE工具§1.7系统分析与设计工具UML是软件系统开发行业的第一个统一的建模语言,目前已成为国际软件界广泛承认的标准,应用领域非常广泛,可用于多种类型软件系统开发建模的各个阶段。UML是一种通用建模语言,具有创建系统的静态结构和动态行为等多种结构模型的能力,具有可扩展性和通用性,适合于多种结构系统的建模。§1.7.3统一建模语言UML§1.7系统分析与设计工具1.UML的发展历程面向对象的方法论自1986年由Booch率先提出后,面向对象的建模语言迅速增加到50多种,于是爆发了一场语言大战。其中3个最流行的面向对象方法是OMT方法、Booch方法和OOSE方法,且每个方法都有自己的价值重点。1996年,GradyBooch、JamesRumbaugh和IvarJacobson三人提出了统一建模语言。§1.7.3统一建模语言UML2.UML的内容UML的定义包括UML语义和UML表示法两个部分。(1)UML语义:描述基于UML的精确元模型定义。(2)UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法提供标准。构建和定义下列五类模型图:用例图、静态图(包括类图、对象图、包图)、行为图(包括状态图、活动图)、交互图(包括顺序图、通信图)和实现图(包括构件图、配置图)§1.7.3统一建模语言UML本章介绍了信息系统的概念、性质、分类及应用环境。信息系统的分析与设计是一个持