福建农林大学 第4章 信息系统的开发方法B_第1页
福建农林大学 第4章 信息系统的开发方法B_第2页
福建农林大学 第4章 信息系统的开发方法B_第3页
福建农林大学 第4章 信息系统的开发方法B_第4页
福建农林大学 第4章 信息系统的开发方法B_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信息系统分析与设计1主讲主讲: : 黄红星黄红星 邮箱:邮箱:博客:博客:http:/ ( GoogleGoogle:黄红星:黄红星 )信息系统分析与设计2本章主要内容本章主要内容n信息系统建设的特点信息系统建设的特点n信息系统的生命周期信息系统的生命周期n信息系统开发过程方法信息系统开发过程方法n信息系统建模的概念和建模方法信息系统建模的概念和建模方法信息系统分析与设计34.1 信息系统建设是复杂的社会过程信息系统建设是复杂的社会过程n信息系统的复杂性体现在:信息系统的复杂性体现在:n技术手段复杂技术手段复杂n内容复杂,目标多样内容复杂,目标多样n投资密度大,效益难以计算投资密度大,效益难以

2、计算n环境复杂多变环境复杂多变信息系统分析与设计4n据国外据国外19951995年对年对365365家公司的调查:家公司的调查:n3131的信息系统项目在完成之前被取消的信息系统项目在完成之前被取消n5353的项目没有达到预定功能的项目没有达到预定功能n在在36823682个项目中只有个项目中只有1212的项目按时和按预算完的项目按时和按预算完成成n据某顾问公司据某顾问公司20042004年报告年报告( (对对4 4万个信息系统项目的万个信息系统项目的调查调查) )nERPERP失败率达到失败率达到70%70%n成功项目只能达到成功项目只能达到34%34%n有争议的项目达到有争议的项目达到51

3、%51%n失败项目达到失败项目达到15%15% 成功的含义:在规定的时间内,以规定的预成功的含义:在规定的时间内,以规定的预算完成规定的目标。算完成规定的目标。4.1 信息系统建设是复杂的社会过程信息系统建设是复杂的社会过程信息系统分析与设计5n问题描述和方案验证问题描述和方案验证n技术工程问题明确,可以模拟,或制作模技术工程问题明确,可以模拟,或制作模型、样品进行验证,信息系统的问题确定型、样品进行验证,信息系统的问题确定性差,难以提前验证解决方案性差,难以提前验证解决方案n人的影响人的影响n信息系统是人机系统,有来自于人的障碍。信息系统是人机系统,有来自于人的障碍。如了解、沟通、实施困难如

4、了解、沟通、实施困难n社会环境的影响社会环境的影响n如政策、竞争、文化观念等对信息系统影如政策、竞争、文化观念等对信息系统影响力很大,不同于纯技术工程响力很大,不同于纯技术工程4.1 信息系统建设是复杂的社会过程信息系统建设是复杂的社会过程信息系统分析与设计6信息系统分析与设计的基本内容信息系统分析与设计的基本内容信息系统分析与设计7n信息系统生命周期过程模型与开发方法、开发工信息系统生命周期过程模型与开发方法、开发工具之间的关系具之间的关系开发工具开发工具开发方法开发方法过程模型过程模型CASE工具结构化方法信息工程方法面向对象方法瀑布模型原型模型增量模型螺旋模型喷泉模型阶段阶段规划分析设计

5、实施维护信息系统分析与设计的基本内容信息系统分析与设计的基本内容信息系统分析与设计8信息系统分析与设计的基本内容信息系统分析与设计的基本内容n以方法、模型、工具和技术为主体的信息系统分析以方法、模型、工具和技术为主体的信息系统分析与设计理论体系与设计理论体系 方法 结构化方法、信息工程方法、面向对象的方法、结构化方法、信息工程方法、面向对象的方法、模型 系统组件模型:流程图、数据流图(系统组件模型:流程图、数据流图(DFD)、)、实体实体-关联图(关联图(ERD)、)、用例图、类图、用例图、类图、开发过程管理模型:开发过程管理模型:PERTPERT图、甘特图、组织层次图、图、甘特图、组织层次图

6、、工具 CASE工具、项目管理工具、集成开发环境、逆向工程工具、代码生工具、项目管理工具、集成开发环境、逆向工程工具、代码生成工具、成工具、技术 战略规划技术、用户面谈技术、结构化技术、面向对象技术、战略规划技术、用户面谈技术、结构化技术、面向对象技术、构件技构件技术、术、UMLUML技术、技术、可重构技术、软件复用技术可重构技术、软件复用技术信息系统分析与设计9信息系统开发方法信息系统开发方法n 具体的信息系统开发方法有很多,主要研究方向有两类:具体的信息系统开发方法有很多,主要研究方向有两类:n针对开发过程针对开发过程n不同的信息系统开发过程模型。关注整个开发采取哪些步骤,不同的信息系统开

7、发过程模型。关注整个开发采取哪些步骤,每个步骤包含哪些任务,由什么人完成,任务的成果如何体每个步骤包含哪些任务,由什么人完成,任务的成果如何体现等现等n也称为不同的生存周期模型也称为不同的生存周期模型n针对开发方法针对开发方法n不同的建模方法,从不同的观点来反映系统的全貌,并采用不同的建模方法,从不同的观点来反映系统的全貌,并采用不同技术手段予以实现不同技术手段予以实现信息系统分析与设计104.2 信息系统的生命周期信息系统的生命周期n 信息系统开发围绕信息系统生命周期来进行,有时信息系统开发围绕信息系统生命周期来进行,有时也称系统开发生命周期。也称系统开发生命周期。n 生命周期按阶段划分,提

8、出的是组织、管理和控制生命周期按阶段划分,提出的是组织、管理和控制信息系统开发过程的一种基本框架,原则性地指导信息系统开发过程的一种基本框架,原则性地指导两部分工作:两部分工作: 管理:管理:强调进程安排、资源分配、评估、控制、强调进程安排、资源分配、评估、控制、反馈反馈 开发:开发:强调任务和开发文档强调任务和开发文档系统系统规划规划系统系统分析分析系统系统设计设计系统系统实施实施系统系统运行运行维护维护信息系统信息系统的生命周期的生命周期信息系统分析与设计12系统战略规划系统战略规划业务流程规划业务流程规划总体结构规划总体结构规划资源分配规划资源分配规划可行性研究可行性研究系统调查分析系统

9、调查分析业务流程分析业务流程分析数据流程分析数据流程分析建立数据字典建立数据字典确定管理模型确定管理模型总体结构设计总体结构设计系统代码设计系统代码设计物理系统设计物理系统设计数据存储设计数据存储设计输入输出设计输入输出设计系统程序设计系统程序设计系统整体测试系统整体测试系统安装调试系统安装调试系统客户培训系统客户培训系统运行验收系统运行验收系统运行系统运行系统维护系统维护系统评价系统评价信息系统信息系统的生命周期的生命周期4.2 信息系统的生命周期信息系统的生命周期信息系统分析与设计13信息系统建设的不同阶段信息系统建设的不同阶段系统分析员的工作系统分析员的工作系统规划阶段系统规划阶段进行系

10、统定义和可行性性研究系统分析阶段系统分析阶段将信息系统的功能和性能的总体概念描述为具体的信息系统软件需求规格说明,建立起信息系统开发的基础系统设计阶段系统设计阶段确定“系统概要设计说明书”和“系统详细设计说明书”;配合开发人员的开发、测试、调式等,监督和控制系统的进度和质量。系统实施阶段系统实施阶段保证信息系统开发之后能正确地实施、运行起来,要密切关注系统的运行状况和用户对系统的反应,以便进行修改、完善系统分析员的基本职责系统分析员的基本职责信息系统分析与设计144.3 信息系统开发过程模型信息系统开发过程模型n开发过程的研究和经验的总结:开发过程的研究和经验的总结:n瀑布开发方法瀑布开发方法

11、n原型开发方法原型开发方法n增量开发方法增量开发方法n螺旋开发方法螺旋开发方法n信息系统分析与设计154.3.1 瀑布模型瀑布模型n强调阶段的划分和阶段严格的顺序强调阶段的划分和阶段严格的顺序n各阶段工作任务明确,要求文档完备性各阶段工作任务明确,要求文档完备性n是一种严格线性的按阶段顺序的、逐步细化的开发是一种严格线性的按阶段顺序的、逐步细化的开发模式,消除了软件开发的随意性模式,消除了软件开发的随意性规划规划分析分析设计设计编码编码测试测试维护维护信息系统分析与设计16瀑布模型的特点瀑布模型的特点n简单易用,容易理解简单易用,容易理解n开发的进程一个顺着一个,没有反馈过开发的进程一个顺着一

12、个,没有反馈过程,需要严密控制程,需要严密控制n允许基线和配置早期接收控制允许基线和配置早期接收控制n一个新的项目不适合这种模型一个新的项目不适合这种模型n用户直到项目结束才能看到质量如何用户直到项目结束才能看到质量如何n不允许或者严格限制变更不允许或者严格限制变更信息系统分析与设计17瀑布模型的不足瀑布模型的不足n需求:客户常常难以表达真正的需求,而这种模需求:客户常常难以表达真正的需求,而这种模型却要求严格的阶段性成果,返工困难,变更代型却要求严格的阶段性成果,返工困难,变更代价很大价很大n风险:客户要等到开发周期的晚期才能看到程序风险:客户要等到开发周期的晚期才能看到程序运行的测试版本,

13、这时若发现大的错误,可能引运行的测试版本,这时若发现大的错误,可能引起客户的惊慌,其后果也可能是灾难性的起客户的惊慌,其后果也可能是灾难性的n效率:因为前后任务的依赖关系,成员不能并行效率:因为前后任务的依赖关系,成员不能并行工作,有可能花在等待的时间比开发的时间要长,工作,有可能花在等待的时间比开发的时间要长,即所谓的即所谓的“堵塞状态堵塞状态”适用于一些需求已明确并且变化较少的信息系统适用于一些需求已明确并且变化较少的信息系统信息系统分析与设计184.3.2 原型模型原型模型 原型原型快速建立起来的可以在计算机上运行的程序,通快速建立起来的可以在计算机上运行的程序,通常选取信息系统中某个关

14、键功能作为原型。常选取信息系统中某个关键功能作为原型。编程测试编程测试分析分析定义需求定义需求设计设计原型原型实施完成实施完成再构造再构造信息系统分析与设计194.3.2 原型模型原型模型信息系统分析与设计20原型方法的特点和应用场合原型方法的特点和应用场合n用户积极参与用户积极参与n原型的开发没有严密的阶段性原型的开发没有严密的阶段性n短期获得测试版本,降低风险短期获得测试版本,降低风险n应用于以下场合:应用于以下场合:n需求含糊,用户不能标识出详细的输入、处理需求含糊,用户不能标识出详细的输入、处理和输出需求和输出需求n设计方案不明确,开发人员不能确定算法的有设计方案不明确,开发人员不能确

15、定算法的有效性、操作系统的适应性或人机交互的有效性效性、操作系统的适应性或人机交互的有效性信息系统分析与设计21原型方法的不足原型方法的不足n 降低风险的同时,引入了其他风险:降低风险的同时,引入了其他风险:n用户随意无止境的需求变化,因为用户容易产生用户随意无止境的需求变化,因为用户容易产生误解,认为系统很容易被构造和修改误解,认为系统很容易被构造和修改n如果采用原型基础上继续构造,由于修补过度,如果采用原型基础上继续构造,由于修补过度,软件质量不易于保证软件质量不易于保证n开发人员为了快速构造原型,可能会采用不合适开发人员为了快速构造原型,可能会采用不合适的操作系统、语言、算法等,造成后期

16、风险,如的操作系统、语言、算法等,造成后期风险,如系统适应性差、维护困难等系统适应性差、维护困难等信息系统分析与设计224.3.3 增量模型增量模型n一条直线一次性到达目的总是困难的。一条直线一次性到达目的总是困难的。n紧迫的市场期限使得难以完成一个完善的软件产品,紧迫的市场期限使得难以完成一个完善的软件产品,缓解压力的方式是先提交一个有限的版本,细节部缓解压力的方式是先提交一个有限的版本,细节部分逐步增加。分逐步增加。n增量模型增量模型融合了瀑布模型的基本成分和原型的融合了瀑布模型的基本成分和原型的迭代特征。采用随着日程时间的进展而交错的线性迭代特征。采用随着日程时间的进展而交错的线性序列。

17、序列。n搭积木的方式,如按子系统划分增量搭积木的方式,如按子系统划分增量信息系统分析与设计23增量模型的特点增量模型的特点n以功能递增的方式进行软件开发以功能递增的方式进行软件开发n能较快地产生可操作的系统能较快地产生可操作的系统n在每一步递增中,都可以把用户在每一步递增中,都可以把用户/ /开发者的经验结合到不开发者的经验结合到不断求精的产品中断求精的产品中n可改善测试效果和降低软件开发总成本可改善测试效果和降低软件开发总成本分析分析分析分析分析分析分析分析设计设计设计设计设计设计设计设计编码编码编码编码编码编码编码编码测试测试测试测试测试测试测试测试增量增量1增量增量2 增量增量3增量增量

18、4 功能功能时间时间信息系统分析与设计24增量模型的应用场合增量模型的应用场合n项目开始,明确了需求的大部分,但是需求可能会项目开始,明确了需求的大部分,但是需求可能会发生变化发生变化n对于市场和用户把握不是很准,需要逐步了解对于市场和用户把握不是很准,需要逐步了解n对于有庞大和复杂功能的系统进行功能改进,本身对于有庞大和复杂功能的系统进行功能改进,本身就需要一步一步实施的。就需要一步一步实施的。信息系统分析与设计254.3.4 螺旋模型螺旋模型n螺旋模型螺旋模型把软件开发过程定义成不断上升的螺把软件开发过程定义成不断上升的螺旋周期,每个周期划分为计划、旋周期,每个周期划分为计划、风险分析、实

19、施和风险分析、实施和评价四个方面。沿螺线自内向外每旋转一圈便开发评价四个方面。沿螺线自内向外每旋转一圈便开发出更为完善的一个新的软件版本。出更为完善的一个新的软件版本。信息系统分析与设计26螺旋模型的特点和应用场合螺旋模型的特点和应用场合n风险驱动,可以在生命周期早期强制性的确定项目风险驱动,可以在生命周期早期强制性的确定项目中存在的风险中存在的风险n需要开发人员具有相当丰富的风险评估经验和专门需要开发人员具有相当丰富的风险评估经验和专门知识知识n要求用户参与阶段评价,对用户要求较高要求用户参与阶段评价,对用户要求较高 n适用于:适用于:n单位内部开发的大规模软件项目单位内部开发的大规模软件项

20、目n风险是项目的主要制约因素风险是项目的主要制约因素n可能会发生重大变更可能会发生重大变更n采用新技术采用新技术信息系统分析与设计274.3.5 喷泉模型喷泉模型 n喷泉模型喷泉模型 喷泉模型是典型的面喷泉模型是典型的面向对象生命周期模型。向对象生命周期模型。 “喷泉喷泉”一词体现了一词体现了迭代和无间隙特性。迭代和无间隙特性。图中代表不同阶段的图中代表不同阶段的圆圈相互重叠,这明圆圈相互重叠,这明确表示两个活动之间确表示两个活动之间存在重叠。存在重叠。 信息系统分析与设计28现代开发过程现代开发过程n一些公司或团体纷纷推出规范化的过程:一些公司或团体纷纷推出规范化的过程:nIBM统一过程统一

21、过程RUP(Rational Unified Process,迭代过程的代表),迭代过程的代表)n微软微软MSF(Microsoft Solutions Framework )n敏捷软件开发联盟敏捷软件开发联盟Agile Software Development nSCRUM-橄榄球里的争球橄榄球里的争球nExtreme Programming,极限编程,极限编程XPnFDD(Feature-Driven Development) 特征驱动开发特征驱动开发 nDSDM-动态系统开发方法,也称业务中心框架开发方法动态系统开发方法,也称业务中心框架开发方法nCrystal Methods-水晶方法

22、族水晶方法族 nASD(Adaptive Software Development)-自适应软件开发自适应软件开发 信息系统分析与设计29现代开发过程现代开发过程信息系统分析与设计30现代开发过程现代开发过程信息系统分析与设计31软件作坊软件作坊软件过程控制软件过程控制重型过程重型过程2001今 敏捷正在流行敏捷正在流行 软件规模小,以作坊式开发为主;硬件飞速发展,软件规模和复杂度激增,引发软件危机;引入成熟生产制造管理方法,以“过程为中心”分阶段来控制软件开发(瀑布模型),一定程度上缓解了软件危机;软件失败的经验促使过程被不断增加约束和限制,软件开发过程日益“重型化”,开发效率降低、响应速度

23、变慢;随着信息时代到来,需求变化更快,交付周期成为企业核心竞争力,轻量级的,更能适应变化的敏捷软件开发方法被普遍认可并迅速流行。软件危机软件危机20世纪60年代80年代90年代软件开发顺应时代变化,从重型过程转向轻量型敏捷软件开发顺应时代变化,从重型过程转向轻量型敏捷70年代敏捷诞生的历史背景敏捷诞生的历史背景信息系统分析与设计32业界敏捷浪潮业界敏捷浪潮lISO 9000(09版)标准将在原来八大原则的基础上新增敏捷原则敏捷原则l2000年美国军方软件开发标准(DOD 5000.2)推荐迭代迭代为软件开发优选模式为软件开发优选模式l世界影响最大的美国波多里奇国家质量奖将敏捷敏捷作为核心的十一

24、大原则之一核心的十一大原则之一信息系统分析与设计33敏捷开发是一种思维方式和软件过程方法论敏捷开发是一种思维方式和软件过程方法论 在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷开发敏捷开发l敏捷开发是由一些业界专家针对一些企业现状提出了一些让软件开发团队具有快速工作、响应变化能力的价值观和原则,并于2001初成立了敏捷联盟。他们正在通过亲身实践以及帮助他人实践,揭示更好的软件开发方法。l简单的说,敏捷开发是一种以人为核心、迭代

25、、循序渐进的开发方法l拥抱变化的开发流程信息系统分析与设计34敏捷宣言揭示更好的软件开发方法敏捷宣言揭示更好的软件开发方法 l敏捷宣言(敏捷宣言( 20012001年)是敏捷起源的基础,由上述年)是敏捷起源的基础,由上述4 4个简单的价值观组成,敏捷宣言的签署推个简单的价值观组成,敏捷宣言的签署推动了敏捷运动动了敏捷运动l敏捷宣言本质是揭示一种更好的软件开发方式,启迪人们重新思考软件开发中的价值和如何敏捷宣言本质是揭示一种更好的软件开发方式,启迪人们重新思考软件开发中的价值和如何更好的工作更好的工作敏捷宣言敏捷宣言信息系统分析与设计35n软件更像一个活着的植物,软件开发是自底向上逐步有序的生长

26、过程,类软件更像一个活着的植物,软件开发是自底向上逐步有序的生长过程,类似于植物自然生长似于植物自然生长n敏捷开发遵循软件客观规律,不断的进行迭代增量开发,最终交付符合客敏捷开发遵循软件客观规律,不断的进行迭代增量开发,最终交付符合客户价值的产品户价值的产品传统开发传统开发敏捷开发敏捷开发敏捷更符合软件开发规律敏捷更符合软件开发规律信息系统分析与设计36使用使用SWOT分析法分析法注重概念和架构设计,轻详细设计注重概念和架构设计,轻详细设计市场和需求驱动,而非技术驱动市场和需求驱动,而非技术驱动时刻考虑版本兼容性时刻考虑版本兼容性敏捷开发要点敏捷开发要点强调的是产品的路线规划、市场趋势、客户价

27、值、强调的是产品的路线规划、市场趋势、客户价值、技术趋势等。技术趋势等。在敏捷开发中,更加注重客户需求。进行在敏捷开发中,更加注重客户需求。进行SWOTSWOT分分析,就能选出付出最小工作量,但能获得最大价析,就能选出付出最小工作量,但能获得最大价值的模块。值的模块。拥抱变化,但不盲目变化。产品的改动需要经过拥抱变化,但不盲目变化。产品的改动需要经过概念设计、架构设计以及概念设计、架构设计以及SWOTSWOT分析后,三思而后分析后,三思而后行。行。时刻考虑产品的架构、规划路线图,老版本的兼时刻考虑产品的架构、规划路线图,老版本的兼容性,及迁移平滑性。否则,随着版本的增多,容性,及迁移平滑性。否

28、则,随着版本的增多,必将面对着大量的维护工作。必将面对着大量的维护工作。敏捷开发强调沟通的重要性,而轻冗余文档。但敏捷开发强调沟通的重要性,而轻冗余文档。但敏捷开发并不意味着无文档。在敏捷开发过程中,敏捷开发并不意味着无文档。在敏捷开发过程中,适量的文档还是很有帮助,有助于整理思路,加适量的文档还是很有帮助,有助于整理思路,加快沟通和讨论。快沟通和讨论。轻文档,但非无文档轻文档,但非无文档信息系统分析与设计37敏捷对生产率、质量、满意度、成本有明显改进敏捷对生产率、质量、满意度、成本有明显改进82%的项目生产率有提高的项目生产率有提高77%的项目质量有提高的项目质量有提高78%的项目客户满意度

29、有提高的项目客户满意度有提高37%的项目成本有降低的项目成本有降低* 以上数据来自DDJ 2008由Scott Ambler发起的网上调查结果信息系统分析与设计38敏捷敏捷=理念理念+优秀实践优秀实践+具体应用具体应用理念理念优秀实践优秀实践具体应用具体应用 理念(敏捷核心思想)敏捷包括3 3个层次 优秀实践(敏捷的经验积累) 具体应用(能够结合自身灵活应用才是真正敏捷)信息系统分析与设计39理念:聚焦客户价值理念:聚焦客户价值(Value),消除浪费,消除浪费软件业:软件业:45%的软件特性客户没有使用的软件特性客户没有使用Source:Standish Group 来自5万个软件开发项目的

30、调查产品商业成功为目标,聚焦客户价值、围绕价值流消除浪费产品商业成功为目标,聚焦客户价值、围绕价值流消除浪费“价值价值”在在“敏捷宣言敏捷宣言”中的体现中的体现个体和交互个体和交互胜过胜过过程和工具过程和工具可以工作的可以工作的软件软件胜过胜过面面俱到的面面俱到的文档文档客户合作客户合作胜过胜过合同谈判合同谈判响应变化响应变化胜过胜过遵循计划遵循计划信息系统分析与设计40理念:激发团队理念:激发团队(Team)潜能,加强协作潜能,加强协作n团队是价值的真正创造者,应加强团队协作、激发团队潜能团队是价值的真正创造者,应加强团队协作、激发团队潜能n软件开发是一种团队活动,首先应做到提升沟通效率降低

31、交流成软件开发是一种团队活动,首先应做到提升沟通效率降低交流成本本Source:经济学家经济学家2003& DeMarco 研究报告研究报告“团队团队”在在“敏捷宣言敏捷宣言”中的体现中的体现个体和交互个体和交互胜过胜过过程和工具过程和工具可以工作的可以工作的软件软件胜过胜过面面俱到的面面俱到的文档文档客户合作客户合作胜过胜过合同谈判合同谈判响应变化响应变化胜过胜过遵循计划遵循计划效效率率流行度流行度文档文档录制的视录制的视频频录制录制的音频的音频2人人邮件沟通邮件沟通2人人白板沟通白板沟通2人人电话沟通电话沟通不支持问答形式不支持问答形式支持问答形式支持问答形式研究表明面对面的沟通最有效研究

32、表明面对面的沟通最有效 业界调查:一个业界调查:一个5050人开发团队,每人平均人开发团队,每人平均30%30%时间用于编码,时间用于编码,70%70%的时间用于与其他成员交流。的时间用于与其他成员交流。研究表明研究表明1981年来自不同公司的优秀程序员生年来自不同公司的优秀程序员生产率之比是产率之比是7:1,而,而2007年最新的研究数据,则年最新的研究数据,则是是40:1。人是软件开发的决定因素人是软件开发的决定因素信息系统分析与设计41理念:不断调整以适应理念:不断调整以适应(Adapting)变化变化麦当劳是简单可预测生产过程麦当劳是简单可预测生产过程l人月神话:软件开发是人类最复杂工

33、作之一,软件具有四个属性:复杂性、一致性、可变性和不可见性。l软件开发是不可重复、探索性的、演进的,适应性过程。随软件规模增长,需求变化呈非线性增长随软件规模增长,需求变化呈非线性增长软件开发是复杂不可预测的经验控制过程软件开发是复杂不可预测的经验控制过程“适应变化适应变化”在在“敏捷宣言敏捷宣言”中的体现中的体现不断的根据经验调整,最终交付达到业务目标的产品不断的根据经验调整,最终交付达到业务目标的产品软件开发规律再审视软件开发规律再审视个体和交互个体和交互胜过胜过过程和工具过程和工具可以工作的可以工作的软件软件胜过胜过面面俱到的面面俱到的文档文档客户合作客户合作胜过胜过合同谈判合同谈判响应

34、变化响应变化胜过胜过遵循计划遵循计划信息系统分析与设计42优秀实践优秀实践: 敏捷优秀实践概览敏捷优秀实践概览Scrum偏重项目管理,偏重项目管理,XP偏重编程实践偏重编程实践结对编程结对编程测试驱动开发测试驱动开发客户参与验收客户参与验收计划游戏计划游戏代码集体所有代码集体所有每日站立会议每日站立会议产品产品backlog(按重要性排序的需求清(按重要性排序的需求清单)单)燃烧图燃烧图迭代计划会议迭代计划会议回顾会议回顾会议Scrum MasterProduct Owner重构重构完整团队完整团队稳定开发节奏稳定开发节奏隐喻隐喻ScrumXP持续集成持续集成迭代交付迭代交付信息系统分析与设计

35、43开发团队一具体应用:因地制宜选择适合的敏捷实践具体应用:因地制宜选择适合的敏捷实践团队在透彻理解敏捷理念的基础上,可以灵活选择最适合自己的实践,团队在透彻理解敏捷理念的基础上,可以灵活选择最适合自己的实践,避免教条化避免教条化站立会议排序的工作列表持续集成持续集成重构持续集成结对编程迭代开发+迭代开发+开发团队三敏捷理念敏捷理念开发团队二敏捷理念敏捷理念敏捷理念敏捷理念信息系统分析与设计44现代开发过程现代开发过程信息系统分析与设计454.4 信息系统建模方法信息系统建模方法n信息系统通常十分复杂,很难直接对它进行分析设信息系统通常十分复杂,很难直接对它进行分析设计,借助模型来设计分析系统

36、。计,借助模型来设计分析系统。n模型模型是现实世界中的某些事物的一种抽象表示。是现实世界中的某些事物的一种抽象表示。n模型是理解、分析、开发或改造事物原型的一种常用手模型是理解、分析、开发或改造事物原型的一种常用手段。例如,生产汽车前常先做汽车模型,以便在批量生段。例如,生产汽车前常先做汽车模型,以便在批量生产前就能使人们对未来的车型有一个十分清晰的感性认产前就能使人们对未来的车型有一个十分清晰的感性认识,显然,汽车模型还可以用来改进汽车的设计方案。识,显然,汽车模型还可以用来改进汽车的设计方案。n对事物认识的角度不同,可以有不同的建模方法对事物认识的角度不同,可以有不同的建模方法信息系统分析

37、与设计46信息系统模型信息系统模型n信息系统模型本质是建立信息处理模型,而信息处信息系统模型本质是建立信息处理模型,而信息处理模型来源于管理模型理模型来源于管理模型n管理模型的建立,应考虑以下方面:管理模型的建立,应考虑以下方面:现实世界现实世界静态特征静态特征( (对象、属性、关系对象、属性、关系) )动态特征(行为、事件、行动动态特征(行为、事件、行动)业务流程业务流程商务规则商务规则. .模型模型信息系统分析与设计47信息系统建模方法信息系统建模方法n模型的表示根据认识观的不同而不同模型的表示根据认识观的不同而不同n信息系统建模方法:信息系统建模方法:n面向过程的建模方法,也称结构化方面

38、向过程的建模方法,也称结构化方法法n面向数据的建模方法面向数据的建模方法n面向对象的建模方法面向对象的建模方法信息系统分析与设计484.4.1 结构化方法结构化方法n也称为也称为 面向功能面向功能/ /面向过程面向过程/ /面向数据流面向数据流 的软件开的软件开发方法发方法n结构化分析(结构化分析(SASA)对软件进行需求分析,以数据流图表对软件进行需求分析,以数据流图表示示n结构化设计(结构化设计(SDSD)进行总体设计,以模块结构图表示进行总体设计,以模块结构图表示n结构化程序设计(结构化程序设计(SPSP),以程序流程图表示,以程序流程图表示n结构化方法的基本思想:从系统功能出发,自顶向

39、结构化方法的基本思想:从系统功能出发,自顶向下,按照层次逐步分解求精下,按照层次逐步分解求精信息系统分析与设计49结构化分析结构化分析数据流图数据流图顾客顾客编编 辑辑订货单订货单订货单订货单配件库存配件库存1.11.1确确 定定顾顾 客客订订 货货1.3业务业务员员产产 生生暂暂 存存订货单订货单1.41.4不合格不合格顾客顾客D D2 2D D3 3可发可发订货订货不满足不满足的订货的订货暂存订货单暂存订货单D D4 4销售历史销售历史D D5 5应收款明细账应收款明细账D D1010合格的订货单合格的订货单检检 索索库库 存存1.51.5经理经理查询请求查询请求库库 存

40、存状状 态态开发货单开发货单并并修改库存修改库存顾客顾客发货单发货单模型中的某个功能的分解图:模型中的某个功能的分解图:信息系统分析与设计50结构化设计结构化设计模块结构图模块结构图销售子系统暂存订货单处理登记订货单查询打印发货单作废订货单查询订货单查询库存修改库存暂存处理冲账信息系统分析与设计514.4.2 面向对象方法面向对象方法n面向对象的分析方法以对象的观点来观察世界。面向对象的分析方法以对象的观点来观察世界。n它认为一个系统可以被看成一系列相互作用的对它认为一个系统可以被看成一系列相互作用的对象组成,每个对象拥有自己的数据结构和行为方象组成,每个对象拥有自己的数据结构和行为方式,以及

41、能触发对象的某种操作式,以及能触发对象的某种操作( (行为行为) )而改变其而改变其状态状态( (数据结构数据结构) )的事件。的事件。n比如:比如:n汽车作为一个对象,有排量、颜色、行驶里程等汽车作为一个对象,有排量、颜色、行驶里程等数据,有启动、行驶、停止、熄火等行为,驾驶数据,有启动、行驶、停止、熄火等行为,驾驶员的点火事件可以触发汽车的启动操作,踩下油员的点火事件可以触发汽车的启动操作,踩下油门事件会触发汽车行驶,行驶里程发生改变。门事件会触发汽车行驶,行驶里程发生改变。对对应到在计算机里,可以将汽车设计为一个软件对应到在计算机里,可以将汽车设计为一个软件对象(面向对象的程序设计)。象

42、(面向对象的程序设计)。信息系统分析与设计52面向对象模型图面向对象模型图-用例图用例图n用例图定义了系统的功能需求,它完全是从系统用例图定义了系统的功能需求,它完全是从系统的外部观看系统功能,并不描述系统内部对功能的外部观看系统功能,并不描述系统内部对功能的具体实现。是从外部执行者的角度来描述系统的具体实现。是从外部执行者的角度来描述系统提供的功能。提供的功能。购买货品购买货品归还货品归还货品出租货品出租货品报废货品报废货品店员店员信息系统分析与设计53面向对象模型图面向对象模型图类图类图n面向对象分析(面向对象分析(OOAOOA)、)、设计(设计(OODOOD)和程序设计和程序设计(OOP

43、OOP)最重要的模型图是对象图最重要的模型图是对象图/ /类图类图订货单订货单顾客顾客配件配件配件名称配件代码查询库存修改库存1 拥有1.*记录1 1.*配件库存配件库存仓库地点库存数量增加库存量减少库存量包含10.*暂存订货单暂存订货单作废订货单可发订货单可发订货单打印发货单作废订货单对象名对象名/类名类名对象属性对象属性对象对象操作操作信息系统分析与设计54两种主流方法的比较两种主流方法的比较信息系统分析与设计55两种主流方法的比较两种主流方法的比较n结构化方法结构化方法n容易理解和交流,对于大系统可以从全局逐步展容易理解和交流,对于大系统可以从全局逐步展开到局部,整体性较好。开到局部,整体性较好。n面向对象面向对象n稳定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论