管理信息系统开发方法与工具概述1课件

上传人:人*** 文档编号:570119682 上传时间:2024-08-02 格式:PPT 页数:133 大小:1.33MB
返回 下载 相关 举报
管理信息系统开发方法与工具概述1课件_第1页
第1页 / 共133页
管理信息系统开发方法与工具概述1课件_第2页
第2页 / 共133页
管理信息系统开发方法与工具概述1课件_第3页
第3页 / 共133页
管理信息系统开发方法与工具概述1课件_第4页
第4页 / 共133页
管理信息系统开发方法与工具概述1课件_第5页
第5页 / 共133页
点击查看更多>>
资源描述

《管理信息系统开发方法与工具概述1课件》由会员分享,可在线阅读,更多相关《管理信息系统开发方法与工具概述1课件(133页珍藏版)》请在金锄头文库上搜索。

1、课程介绍1软件开发方法与工具概述2基于UML的面向对象系统分析与设计3Java程序设计语言与工具及开发过程介绍(重点)重点介绍Eclipse和JBuilder等java开发环境,演示如何使用这些工具进行用户界面Swing/Applet、数据库应用程序、Web应用程序/jsp/servlet/EJB/J2EE/webservice等方面信息系统的开发技术。4信息系统开发实例通过实例演示C/S、B/S模式的管理信息系统分析、设计、开发以及测试全过程。1课程地位.Net&C#SQLServerXMLSPMASP.NET&WebServiceOracleUMLSPR:ComputerBaseHTML&

2、JavaScriptSQLServerBaseOOP&JavaBaseCSTBJSP/ServletEJB&WebServiceWinFormsStruts&JSFTesting&SQALinux2参考书目1.信息系统开发信息系统开发方法、案例与实验(方法、案例与实验(21世纪高等学校规划世纪高等学校规划教材教材信息管理与信息系统)信息管理与信息系统)2系统分析与设计(第5版),KennethE.Kendall等,清华大学出版社3.J2EE编程技术郝玉龙清华大学出版社2008年4.JavaEE基础教程.史胜辉,王春明,沈学华.清华大学出版社,2010年5.Java网络应用编程殷兆麟高等教育出版

3、社2004年6.Java系列教程培训教材3成绩评定课堂提问与交互:10分实验:20分笔试:70分41管理信息系统开发方法与工具概述问题讨论:1、有的同学认为,只要能编写好程序,就能开发管理信息系统(软件),对不对?2、“软件危机”是怎么回事?3、为什么许多管理信息系统开发和应用失败了,原因是什么?5管理信息系统在组织中的作用已被广泛认可,一些企业试图利用现代管理理论和技术手段加强自身的竞争能力,提高管理水平和效率。这种主观愿望是好的,但是,管理信息系统的开发与组织是一个系统工程,涉及到软件公司和用户企业两方.从两个角度来看待管理信息系统的开发是两个不同的过程.从用户企业的角度,开发实施MIS包

4、括这几步:1.明确自身需求,明确实施MIS希望带来的改进2.选择开发方式:自行开发/委托开发/合作开发/从市场上购买合适的软件3.MIS的选型:选择合适的合作软件开发商,考虑预算约束选择合适的模块4.MIS的开发过程5.MIS的运行维护,根据外界环境进行改变拓展.思考:假设你是用友软件公司的CEO,用友公司参与了哪些步骤?7本门课程学习的主要是从软件公司的角度来进行的.本章从软件公司的角度,对开发方法的选择进行了概述.但本章的第三节则涉及到了一些从用户角度来考虑的问题,如系统开发的基本条件,开发方式,开发单位的选择,系统开发的组织.这些知识对软件公司来说同样是非常重要的.(需要从客户的角度考虑

5、问题!)本课程主要内容都是从软件开发者的角度来进行的.作为软件开发者首先要了解常见的系统开发的风险(如预算超支,延迟交付,系统不符合用户需求,系统可扩展性差等),风险产生的原因(领导不重视,项目管理混乱等)作业:请上网搜索1个企业实施MIS失败的例子,交代背景,说明失败在哪些地方,(如预算超支等),并分析其原因.81.1概述一、研究开发方法的原因和目的1、研究开发方法的原因随着管理信息系统应用程度的深入和应用规模的扩大,出现的问题:手工处理信息过程和方法原封不动地“翻译”成软件程序后,常常失败。大型的应用系统应如何合理地组织人力、物力、财力来协调开发。对一个实体组织应如何着手调查分析。一个大型

6、系统应该如何进行系统化的划分。如何才能合理地协调数据和利用信息资源。如何充分发挥现有计算机和通讯设备的处理能力,更好的解决实际管理问题等。91.1概述2、开发方法的基本目标使管理信息系统正确反映管理需要,满足用户需求,使所开发的管理信息系统为管理决策提供信息支持;有效地管理系统开发过程,加快软件开发速度,提高软件生产效率,降低费用;增强管理信息系统软件产品的功能,提高软件产品的质量;充分利用软件技术,尽快跟上硬件发展速度,从而最大限度地发挥和挖掘硬件的功能;合理组织和充分利用人力、物力和财力等资源。10软件质量:与软件产品满足明确或隐含需求的能力有关的特征和特征的总和。1.从用户最感兴趣的的角

7、度来说,软件质量可以从三个不同的角度来看待:如何使用软件、使用效果如何、软件性能如何;2.从软件开发的团队的角度来说,不仅要生产出满足质量要求的软件,也对中间产品的质量感兴趣,也对如何运用最少的的资源、最快的进度生产出质量最优的产品感兴趣;3.从软件维护者的角度看,对软件维护方面的特性感兴趣,关注文档的规范性完整性;4.对企业的管理层来说,注重的是总体效益和长远利益,就是说质量好的软件一般可以帮助企业扩大市场;反之,质量差的软件一般会造成企业市场萎缩。11软件质量特性:根据GBT16260-1996(idtISOIEC9126:1991)信息技术软件产品评价质量特性及其使用指南软件的质量特性包

8、括功能性、可靠性、易用性、效率、可维护性、可移植性等六个方面,每个方面都包含若干个子特性:功能性(functionality):适合性、准确性、互操作性、依从性、安全性;可靠性(reliability):成熟性、容错性、易恢复性;易用性(usability):易理解性、易学性、易操作性;效率(efficiency):时间特性、资源特性;可维护性(maintainability):易分析性、易改变性、稳定性、易测试性;可移植性(portability):适应性、易安装性、遵循性、易替换性;121.1概述二、开发方法的结构体系主流的系统开发方法,其侧重点各有所不同:强调开发过程的组织、管理和控制,

9、属于系统开发生命周期的范畴;强调开发方法的驱动对象,属于方法论的范畴;支持某种方法论的技术,属于技术范畴;系统开发需要在一定的开发环境下运用开发工具来完成,属于系统开发环境/工具研究的范畴。这些方法在一定层面上,从不同的角度提出,但彼此相互联系、相互支持、相互制约,之间的关系从上图四个层次中体现。开发环境/工具位于最底层,说明其他三个层面均离不开开发环境/工具的支持;技术是组成方法学的基本成分。131.1概述系统开发生命周期方法学技术开发环境/工具中央资源库141.1概述中央资源库计算机开发方法结构化SDLC原型法面向过程方法(结构化方法)面向数据方法(信息工程方法)面向对象方法(OO方法)可

10、视化技术计算机辅助软件工程软件复用技术其它技术计算机辅助软件工程软件开发环境集成化的项目/程序支持环境计算机信息系统开发环境/工具 技 术系统开发生命周期(SDLC)方法学:驱动对象的观点151.2常用开发方法一、结构化系统开发方法1、基本思想结构化系统开发方法(StructuredSystemDevelopmentMethodologies,SSDM)又称结构化生命周期法,是系统分析员、软件工程师、程序员以及最终用户按照用户至上的原则,自顶向下分析与设计和自底向上逐步实施的建立计算机信息系统的一个过程,是组织、管理和控制信息系统开发过程的一种基本框架。16传统的开发方法传统的开发方法传统的开

11、发方法传统的开发方法新系统运行新系统运行小量修改、维护、评价活动小量修改、维护、评价活动原系统(现行系统)运行原系统(现行系统)运行系统开发的各个阶段系统开发的各个阶段小量修改、维护、小量修改、维护、评价活动评价活动新系统生命周期新系统生命周期原系统生命周期原系统生命周期系统开系统开发准备发准备调查调查研究研究系统分析系统分析(逻辑设计逻辑设计)系统设计系统设计(物理设计物理设计)系统系统实施实施维护维护评价评价17什么是任务分解结构WBS?什么是WBS优先级结构?18WBS(WorkBreakdownStructure)主要是将一个项目分解成易于管理的几个部分或几个细目,以便确保找出完成项目

12、工作范围所需的所有工作要素。它是一种在项目全范围内分解和定义各层次工作包的方法。1000-110011101111111211131120112111221123-120019WBS分解类型基于工作过程的划分上层按照工作的流程分解下层按照工作的内容划分20WBS分解类型基于可交付成果的划分上层一般为可交付成果为导向下层一般为可交付成果的工作内容生日宴会生日宴会WBSWBS1.0晚宴1.1生日蛋糕1.2饮料1.3清洗1.3.1食品1.3.2餐具1.4菜1.4.1凉菜1.4.2熟菜1.4.2.11.4.2.1蔬菜类蔬菜类1.4.2.21.4.2.2海鲜类海鲜类1.4.2.31.4.2.3其它类其它

13、类2.0娱乐2.1音响2.2灯光布置2.3室内布置2.4CD/VCD光碟返回21WBS优先级结构即系统开发所遵循的基本模式瀑布模型迭代模型22WBS优先级结构螺旋模型返回231.2常用开发方法2、开发过程系统规划阶段:目的是从整个业务的角度出发确定系统的优先级。系统分析阶段:主要活动包括可行性分析和需求分析。其范围是列入开发计划的单个信息系统开发项目。目的是分析业务上存在的问题,定义业务需求。系统设计阶段:系统设计的目的是设计一个以计算机为基础的技术解决方案以满足用户的业务需求。总体设计的主要任务是构造软件的总体结构;详细设计包括人机界面设计、数据库设计、程序设计。系统实施阶段:系统实施的目的

14、是组装信息系统技术部件,并最终使信息系统投人运行。如用户手册等。包括的活动有编程、测试、用户培训、新旧系统之间的切换等。系统运行与维护阶段:进行系统的日常运行与维护管理、评价、监理审计等工作。241.2常用开发方法3、开发原理(1)用户的积极参与:用户积极参与信息系统的开发的全过程,是信息系统开发能否成功的一个关键的、绝对必要的因素。(2)严格按划分的阶段和活动进行系统开发:将整个系统的开发过程分为一系列“阶段(Phases)”,然后再将阶段分为一系列的“活动(Activities)”,将活动划分为更小的、更易于管理和控制的“作业(Task)”。(3)设立检查点(Checkpoint):在系统

15、开发的每一个阶段均设立检查点,来评估所开发系统的可行性,避免由于系统开发的失败造成更大的损失。(4)文档的标准化:文档标准化是进行良好通信的基础,是提高软件可重用性的有效的手段。251.2常用开发方法4、优缺点优点:阶段的顺序性和依赖性。前一个阶段的完成是后一个阶段工作的前提和依据,而后一阶段的完成往往又使前一阶段的成果在实现过程中具体了一个层次。从抽象到具体,逐步求精。从时间的进程来看,整个系统的开发过程是一个从抽象到具体的逐层实现的过程,每一阶段的工作,都体现出自顶向下、逐步求精的结构化技术特点。逻辑设计与物理设计分开。即首先进行系统分析,然后进行系统设计,从而大大提高了系统的正确性、可靠

16、性和可维护性。质量保证措施完备。每一个阶段的工作任务完成情况进行审查,对于出现的错误或问题,及时加以解决,不允许转入下一工作阶段,也就是对本阶段工作成果进行评定,使错误较难传递到下一阶段。错误纠正得越早,所造成的损失就越少。261.2常用开发方法缺点:它是一种预先定义需求的方法,基本前提是必须能够在早期就冻结用户的需求,只适应于可以在早期阶段就完全确定用户需求的项目。然而在实际中要做到这一点往往是不现实的,用户很难准确地陈述其需求。未能很好地解决系统分析到系统设计之间的过渡,即如何使物理模型如实反映出逻辑模型的要求,通俗地说,就是如何从纸上谈兵到真枪实弹地作战的转变过程。该方法文档的编写工作量

17、极大,随着开发工作的进行,这些文档需要及时更新。5、适用范围该方法适用于一些组织相对稳定、业务处理过程规范、需求明确且在一定时期内不会发生大的变化的大型复杂系统的开发。27查阅有关原型法的内容,用自己的语言概述1/原型法产生的原因是什么?为什么原型法能够克服结构化开发方法的缺点?2/原型法成功的关键因素?281.2常用开发方法二、原型法信息系统原型,就是一个可以实际运行、可以反复修改、可以不断完善的信息系统。1、原型法产生的原因运用结构化系统开发生命周期法的前提条件是要求用户在项目开始初期就非常明确地陈述其需求,需求陈述出现错误,对信息系统开发的影响尤为严重,因此,这种方法不允许失败。事实上这

18、种要求又难以做到。人们设想,有一种方法,能够迅速发现需求错误。当图形用户界面(GraphicUserInterface,GUI)出现后,自80年代中期以来,原型法逐步被接受,并成为一种流行的信息系统开发方法。291.2常用开发方法2、基本思想原型法(PrototypingMethod)是在系统开发初期,凭借系统开发人员对用户需求的了解和系统主要功能的要求,在强有力的软件环境支持下,迅速构造出系统的初始原型,然后与用户一起不断对原型进行修改、完善,直到满足用户需求。3、开发过程可行性研究。确定系统的基本要求。建造系统初始原型。用户和开发人员评审。修改系统原型反复地进行修改、评审,直到用户满意结束

19、301.2常用开发方法研究表明原型法成功的关键因素有:合适的硬件设备及网络设施功能很强的系统开发工具(5.支撑环境)有可以控制的数据系统开发人员有足够丰富的计算机知识用户的管理知识丰富,同时对开发感兴趣31快速原型法成功的原因快速原型法在实际应用中得到了巨大成功,分析其原因,大致原因如下:开发人员可通过原型系统与用户更好地交流,获取用户的真正需求。虽然管理人员每天都在自己相应的岗位上工作,但我们却很难指望他们能系统、完备且一次性地描述他们的业务流程。原型法正是顺应了人们认识事物的自然规律,通过开发人员与用户共同对系统原型的不断修改而实现最后的系统。在这个过程中用户往往通过对系统原型批评指责的方

20、式对系统原型提出改进意见,这要比空洞的描述自己的设想容易得多,改进工作要比创造工作容易做得多。在快速原型法中,系统原型是对真实系统或目标系统的一种摸拟,这种方式能使系统开发人员和使用人员较早地发现系统实现后潜在的问题,并且对这些问题的解决方案是双方共同讨论确认的。用快速原型法开发企业管理信息系统,加强了用户的参与程度。这使系统实施后系统的切换与运行维护较为容易和自然。321.2常用开发方法4、优缺点优点:对系统需求的认识取得突破,确保用户的要求得到较好的满足。改进了用户和系统开发人员的交流方式。开发的系统更加贴近实际,提高了用户的满意程度。降低了系统开发风险,一定程度上减少了开发费用。缺点:开

21、发工具要求高。解决复杂系统和大型系统很困难。对用户的管理水平要求高。331.2常用开发方法5、支撑环境方便灵活的关系数据库系统(RDBS)。与RDBS相对应的、方便灵活的数据字典,它具有存储所有实体的功能。与RDBS相对应的快速查询系统,能支持任意非过程化的(即交互定义方式)组合条件的查询,高级的软件工具(如4GLS或信息系统开发生成环境等等),用以支持结构化程序,并且允许采用交互的方式迅速地进行书写和维护,产生任意程序语言的模块(即原型),非过程比的报告或屏幕生成器,允许设计人员详细定义报告或屏幕输出样本。341.2常用开发方法6、适用范围原型法的适用范围是比较有限的,对于小型、简单、处理过

22、程比较明确、没有大量运算和逻辑处理过程的系统。其他原型法:丢弃式原型法(Throw-It-AwayPrototypingMethod演化式原型法(EvolutionaryPrototypingMethod)递增式原型法(IncrementalPrototypingMethod)在实际的开发过程中,原型法在实际的开发过程中,原型法可以与传统的生可以与传统的生命周期方法相结合使用,这样会扩大用户参与需命周期方法相结合使用,这样会扩大用户参与需求分析、初步设计及详细设计等阶段的活动,加求分析、初步设计及详细设计等阶段的活动,加深对系统的理解。深对系统的理解。351.瀑布模型(WaterfallMod

23、el)瀑布模型是一种线性模型。瀑布模型将软件生存周期划分为6个阶段:需求分析设计实现测试运行维护瀑布模型最为突出的缺点是缺乏灵活性。1.瀑布模型(WaterfallModel)2.螺旋模型螺旋模型使用原型作为降低风险的机制。螺旋模型使开发者在产品演化的任意阶段均可使用原型方法。螺旋模型体现了RUP中迭代的思想。一个螺旋的周期一般包括四个阶段:确定目标,选择方案,选定完成目标的策略。风险分析。启动开发阶段。评审前一阶段的工作,计划下一阶段工作。2.螺旋模型16.3RUP的二维开发模型传统的瀑布开发模型是一个一维的模型,开发过程被划分为多个连续的阶段。在RUP中,软件开发生命周期根据时间和RUP的

24、核心工作流划分为二维空间。横轴表示项目的时间维,纵轴以内容来组织为自然的逻辑活动。16.3RUP的二维开发模型16.3RUP的二维开发模型16.3.1RUP的核心工作流16.3.2RUP的四个阶段16.3.3RUP的迭代开发模型16.3.1RUP的核心工作流RUP中有9个核心工作流,分为6个核心过程工作流(CoreProcessWorkflows)和3个核心支持工作流(CoreSupportingWorkflows)。9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。16.3.1RUP的核心工作流1.商业建模(BusinessModeling)2.需求分析(Require

25、ments)3.分析与设计(AnalysisandDesign)4.实现(Implementation)5.测试(Test)6.配置(Deployment)7.设置和变更管理(ConfigurationandChangeManagement)8.项目管理(ProjectManagement)9.环境(Environment)1.商业建模(BusinessModeling)理解系统的组织结构及其商业运作,确保所有参与人员对开发系统有共同的认识。2.需求分析(Requirements)定义系统功能及用户界面,明确客户需要的系统的功能,开发人员理解系统的需求,为项目预算及计划提供基础。3.分析与设计

26、(AnalysisandDesign)把需求分析的结果转化为实现规格。4.实现(Implementation)定义代码的组织结构、实现代码、单元测试、系统集成。5.测试(Test)验证各自子系统的交互与集成。6.配置(Deployment)打包、分发、安装软件,升级旧系统;培训用户及销售人员,并提供技术支持。制定并实施beta测试。7.设置和变更管理(ConfigurationandChangeManagement)跟踪并维护系统所有产品的完整性和一致性。8.项目管理(ProjectManagement)为计划、执行和监控软件开发项目提供可行性的指导;为风险管理提供框架。9.环境(Enviro

27、nment)为组织提供过程管理和工具的支持。16.3.2RUP的四个阶段RUP包括以下几个阶段:起始阶段细化阶段构建阶段交付阶段每个阶段结束于一个主要的里程碑(MajorMilestones),每个阶段本质上是两个里程碑之间的时间跨度。16.3.2RUP的四个阶段1.初始阶段2.细化阶段3.构建阶段4.交付阶段1.初始阶段初始阶段所要进行如下的活动:明确说明项目规模,了解环境以及最重要的需求和约束,以便可以得出最终产品的验收标准。计划和准备商业理由。评估风险管理、人员配备、项目计划以及成本/进度/收益折衷的被选方案。综合考虑被选构架,评估构架。准备项目的环境,评估项目和组织,选择工具,决定流程

28、中要改进的部分。1.初始阶段初始阶段的评估标准如下:出资人同意系统范围定义以及费用和进度评估。主要用例是否符合需求。费用和进度评估、优先级、风险以及开发过程的可信性。任何已开发的原型的深度和广度。实际开销与计划开销。初始阶段的焦点是需求和分析工作流。2.细化阶段细化阶段的评估标准如下:标明用例模型中的用户和参与者,并且建立用例的描述文档。用例模型需完成80。创建软件系统开发过程中的软件结构的描述文档。创建可执行的系统原型。细化商业案例和风险列表。创建整个项目的开发计划。细化阶段的焦点是需求、分析和设计工作流。3.构造阶段构建阶段的主要目标如下:优化资源、避免不必要的报废和返工,使开发成本降到最

29、低。尽快达到质量的要求。快速完成有用的版本,例如Alpha版、Beta版和其他测试发布版。完成所有功能的分析、开发和测试。迭代式、递增地开发随时可以发布的产品。确定准备好软件系统的外部环境。构建阶段的焦点是实现工作流。4.交付阶段交付阶段的主要目标如下:进行Beta版测试,按用户的要求验证新系统。替换旧的系统。对用户和维护人员进行培训。开始调整活动,例如调试、性能或可用性的增强。与用户达成共识,配置基线与评估标准一致。交付阶段的焦点是实现和测试工作流。16.3.3RUP的迭代开发模型RUP中的每个阶段可以进一步分解为迭代。16.3.3RUP的迭代开发模型与传统的瀑布模型相比较,迭代过程的优点:

30、降低了在一个增量上的开支风险。降低了产品无法按照既定进度进入市场的风险。加快了整个开发工作的进度。16.4核心工作流介绍16.4.1需求捕获工作流16.4.2分析工作流16.4.3设计工作流16.4.4实现工作流16.4.5测试工作流16.4.1需求捕获工作流需求捕获通过对应问题的理解和分析,确立问题涉及的信息、功能和系统行为,将用户需求精确化、完全化。需求的焦点主要在初始和精化阶段,在精化阶段后期,需求捕获的工作量大幅下降。16.4.1需求捕获工作流16.4.1需求捕获工作流1.制品2.工作人员3.工作流1.制品在需求捕获工作流,主要的UML制品:用例模型(UseCaseModel)参与者(

31、Actor)用例(UseCase)构架描述术语表(Glossary)用户界面原型2.工作人员参与需求捕获阶段的工作人员:系统分析人员(SystemAnalyst)用例描述人员(UseCaseSpecifier)用户界面设计人员(UserInterfaceDesigner)构架设计师(Architect)3.工作流需求捕获的工作流主要包括五个活动:确定参与者和用例区分用例的优先级详细描述一个用例构造用户界面原型构造用例模型16.4.2分析工作流分析的主要工作开始于初始阶段的结尾,和需求一样是精化阶段的主要焦点。精化阶段的大部分活动是捕获需求,分析工作与需求捕获在很大程度上重叠。16.4.2分析工

32、作流16.4.2分析工作流1.制品2.工作人员3.工作流1.制品在分析工作流期间,主要的UML制品:分析模型分析类用例实现(分析)分析包构架模型2.工作人员在分析工作流期间,所参与的工作人员:构架设计师用例工程师构件工程师3.工作流分析工作流主要包括四个活动:构架分析分析用例分析类分析包16.4.3设计工作流设计工作流的主要工作是位于精化阶段的最后部分和构造阶段的开始部分的主要建模活动。系统建模最初的焦点是需求和分析,在分析活动逐步完善后,建模的焦点开始转向设计。16.4.3设计工作流16.4.3设计工作流1.制品2.工作人员3.工作流1.制品在分析工作流期间,主要的UML制品:设计模型设计类

33、用例实现-设计设计子系统接口配置图2.工作人员参与设计工作流的工作人员包括:构架设计师用例工程师构件工程师3.工作流设计工作流中,主要包括四种活动:构架设计设计一个用例设计一个类设计一个子系统16.4.4实现工作流实现(实施)是关于把设计模型转换成可执行代码的过程。从系统分析师或系统设计师的角度看,实现工作流的重点就是完成软件系统的可执行代码。实现工作流是构建阶段的焦点。16.4.4实现工作流1.2常用开发方法三、面向对象方法1、面向对象方法(ObjectOriented)产生的原因以前的开发方法,只是单纯地反映管理功能的结构状况,或者只是侧重反映事物的信息特征和信息流程,只能被动应和实际问题

34、需要的做法。面向对象的方法把数据和过程包装成为对象,以对象为基础对系统进行分析与设计,为认识事物提供了一种全新的思路和办法,是一种综合性的开发方法。2、基本思想客观世界是由各种各样的对象组成的,每种对象都有各自的内部状态和运动规律,不同对象之间的相互作用和联系就构成了各种不同的系统。对象(Object)是客观世界中的任何事物或人们头脑中的各种概念在计算机程序世界里的抽象表示。是面向对象程序设计的基本元素。841.2常用开发方法3、基本概念客观世界由各种“对象”(Object)组成,任何客观事物都是对象,对象是在原事物基础上抽象的结果。任何复杂的事物都可以通过对象的某种组合结构构成。对象可由相对

35、比较简单的对象以某种方式组成;对象由属性和方法组成。属性(Attribute)反映了对象的信息特征,如特点、值、状态等等.而方法(Method)则是用来定义改变属性状态的各种操作;对象之间的联系主要是通过传递消息(Message)来实现的,而传递的方式是通过消息模式(Messagepattern)和方法所定义的操作过程来完成的;对象可按其属性进行归类(Class)。类有一定的结构,类上可以由超类(Superclass),类下可以有子类(Subclass)。对象或类之间的层次结构是靠继承关系(Inheritance)维系的;对象是一个被严格模块化了的实体,称之为封装(Encapsulation)

36、。这种封装了的对象满足软件工程的一切要求,而且可以直接被面向对象的程序设计语言所接受。851.2常用开发方法4、开发过程系统调查和需求分析:对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研究,即先弄清要干什么的问题。分析问题的性质和求解问题:在繁杂的问题域中抽象地识别出对象以及其行为、结构、属性、方法等。一般称之为面向对象的分析,即OOA。整理问题:对分析的结果作进一步的抽象、归类、整理,并最终以范式的形式将他们确定下来。一般称之为面向对象的设计,即OOD。程序实现:用面向对象的程序设计语言将上一步整理的范式直接映射(即直接用程序设计语言来取代)为应用软件。一般称之为面向对象的程

37、序,即OOP。861.2常用开发方法5、评价OO方法直接反映了人们对客观世界的认知模式。人类认识客观世界有两个基本过程:一个是从特殊到一般的归纳过程,另一个是从一般到特殊的演绎过程。从应用设计到解决问题的方案更加抽象化而且具有极强的对应性。在设计中容易与用户沟通。把数据和操作封装到对象之中。设计中产生各式各样的部件,然后由部件组成框架,以至于整个程序。应用程序具有较好的重用性、易改进、易维护和易扩充。6、适用范围流行的开发方法,适用面很广。 在实际开发过程中,在实际开发过程中, OO 方法也可以与结构化开方法也可以与结构化开发方法,或者原型法结合使用发方法,或者原型法结合使用87面向对象的分析

38、与设计语言面向对象的分析与设计语言UML现在,我们有了.软件建模标准:UML软件工程工具,如:ROSE88什么是UML?UML:统一建模语言(UnifiedModelingLanguage)UML是用于描绘软件蓝图蓝图的标准语言语言.(蓝图蓝图?这就是一张蓝图这就是一张蓝图-)它可用于对软件密集型系统进行视化(visualize)说明(specify)建造(construct)和建档(document)这也是对软件系统进行建模的四个目的89什么是UML?解释:UML是语言语言:语言意味着有标准的表达规则UML是蓝图蓝图UMLUML是由图形符号表达的建模语言是由图形符号表达的建模语言例如例如,

39、,这是这是UMLUML的一个模型图(图的一个模型图(图.)其上的图形符号是遵循给定的标准的其上的图形符号是遵循给定的标准的例如例如: :类:类: (图(图.)90UML中其他一些常用的标准模型元素:用例、接口、组件用例、接口、组件用例用例 接口接口 组件组件什么是UML?91使用UML进行软件建模的原则准确的原则:模型必须准确地反映软件系统的真实情况。分层的原则:在建模的过程中,必须有不同的模型,以不同的抽象程度,反映系统的不同侧面。分治的原则:不可能单独用一个模型来反映整个系统的任何侧面。标准的原则:建模方法必须在某种程度上是通用的。什么是UML?92使用UML进行软件建模的原则准确的原则:

40、模型必须准确地反映软件系统的真实情况。在前面所述的软件开发方法中,实际上已经进行了一定程在前面所述的软件开发方法中,实际上已经进行了一定程度的建模工作(系统分析报告和软件设计报告),但由于度的建模工作(系统分析报告和软件设计报告),但由于缺乏规范而有效的建模手段,最初的设计和最终的产品产缺乏规范而有效的建模手段,最初的设计和最终的产品产生了分离生了分离. .这使得模型没能真实的反映系统的真实情况,从而使得模这使得模型没能真实的反映系统的真实情况,从而使得模型失去了应有的价值型失去了应有的价值模型必须准确,意味着在软件开发的整个周期内,模型模型必须准确,意味着在软件开发的整个周期内,模型( (图

41、图.).)必必须和产品须和产品( (图图.).)始终保持一致始终保持一致。什么是UML?class Window public: void open (); void close (); void display (); void set_position (point pos); private: point origin; point size;93使用使用UMLUML进行软件建模的原则进行软件建模的原则 分层的原则:在建模的过程中,必须有不同的模型,以不同的抽象抽分层的原则:在建模的过程中,必须有不同的模型,以不同的抽象抽分层的原则:在建模的过程中,必须有不同的模型,以不同的抽象抽分层的

42、原则:在建模的过程中,必须有不同的模型,以不同的抽象抽象程度,反映系统的不同侧面。象程度,反映系统的不同侧面。象程度,反映系统的不同侧面。象程度,反映系统的不同侧面。E.g.E.g.在设计机械产品时,用立体图了解产品外形,用投影图规定产在设计机械产品时,用立体图了解产品外形,用投影图规定产品结构和尺寸品结构和尺寸( (见图见图.).)。软件也是一样:在软件构筑的不同阶段,不同的开发相关人员看待软件也是一样:在软件构筑的不同阶段,不同的开发相关人员看待软件的侧重面有所不同。软件的侧重面有所不同。 软件系统的建模需要不同的模型以反映系统的不同侧面。软件系统的建模需要不同的模型以反映系统的不同侧面。

43、例如:例如:可以用一类模型描绘系统的外部边界和行为可以用一类模型描绘系统的外部边界和行为( (见图见图) )。用另一类模型描绘系统的内部逻辑关系用另一类模型描绘系统的内部逻辑关系( (见图见图.).)。什么是UML?94使用UML进行软件建模的原则分治的原则:不可能单独用一个模型来反映整个系统的任何侧面。软件系统是复杂的,对于软件模型的任意一个侧面,不可能用一个模型来反映所有内容,需要把问题分解为不同的子模型,分别处理这些模型相对独立,但又互相联系,综合起来构成了此侧面的一个完整的模型。例如:这是一个完整的模型的结构(上图)什么是UML?95使用UML进行软件建模的原则标准的原则:建模方法必须

44、在某种程度上是通用的。建模的基本目的:交流一个开发队伍内部的开发人员之间需要交流同一软件的不同时期的版本的开发队伍,需要参考以前版本的开发队伍的设计原理和实现方案。不同软件的开发队伍之间也需要交流以实现最大程度的软件复用。什么是UML?l 如果各开发队伍和开发人员在建模的时候采用同样的方法和符号(图.) ,交流才会高效地进行l 如果各开发队伍和开发人员在建模的时候采用同样的方法和符号(图.) ,交流才会高效地进行96面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言UMLUMLUML包括以下若干图:1.用例图 用例实际上就是从用户的角度去定义具有交

45、互过程的系统功能。每个功能与一个或多个参与者(actor)相连接。参与者是指处于系统之外,需要使用用例的人或事物。对系统开发人员来说,用例是很有实用价值的,可以帮助其从用户的观察角度收集可靠的系统需求,这对建立人机交互式系统极为重要.我们需求分析阶段的用例模型就是开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成共识.97面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言UMLUML2.类图类图描述类和类之间的静态关系.与数据模型不同,类图不仅显示了信息的结构,同时还描述了系统的行为.类图为开发人员提供了模仿现实世界的表达方式,它允许分析

46、员使用客户采用的术语与其交流,促使客户提出所要解决问题的相关细节.98面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言UMLUML3.对象图对象图可以看作是类图的一个实例,对象之间的链接是类之间的关联的实例.99面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言UMLUML4.状态图在任何一个时刻,一个对象总处于某一特定的状态.一个状态图就包括一系列的状态以及状态间的转移.100面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言UMLUML5.时序图在一个

47、运行的系统中,对象之间要发生交互,且这些交互要经历一定的时间阶段.时序图所表达的则是这种对象之间的基于时间的动态交互关系,着重体现对象间消息传递的时间顺序.101面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言UMLUML6.活动图活动图用于反映一个连续的活动流,相对于描述活动流来说,活动图常用于描述某个操作执行时的活动状况.102面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言面向对象的分析与设计语言UMLUML7.协作图协作图表达为完成系统的工作目标,系统中相互合作的对象间的交互关系和链接关系.协作图着重体现交互对象间

48、的静态链接关系.表示一段时间后,计时器对象先向进水管发出停止进水消息,然后再向洗涤缸对象发送旋转洗涤的消息1031.2常用开发方法四、CASE介绍(自学)计算机辅助软件工程方法是一种自动化或自动化的系统开发环境,它能够全面支持出系统调查外的给一个开发步骤,使得原来由手工完成的开发过程转变为一自动化工具和支撑环境支持的自动化开发过程。采用CASE工具进行系统开发,还必须结合某种具体的开发方法,如结构化系统开发方法等。计算机辅助软件工程方法的特点:解决了从客观对象到软件系统的映射问题,支持系统开发的全过程。提高了软件质量和软件重用性。加快了软件开发速度。简化了系统开发过程的管理和维护。自动生成开发

49、过程中的各种文档资料。1041.3软件开发工具与环境概述软件工具概述软件工具的范围软件工具提高了工作效率软件工具的特点软件工具的评价105软件开发工具的功能认识与描述客观系统存储及管理开发过程中的信息代码的编写与生成文档的编制或生成软件项目的管理106软件开发工具的特性功能是指软件能做什么事,而性能则是指事情做到什么样的程度。前者是定性地说明能不能做的问题,告诉我们它能在软件开发工程中提供哪些帮助;后者则尽可能定量的说明软件开发工具能做到什么样的程度,说明这些支持或帮助的程度如何。当然,作为一般的软件来说,效率、响应速度等都是必须考虑的。但是,对于软件开发的工具来说,以下五项应当是特别重要的。

50、 107软件开发工具的特性表达能力或描述能力保持信息一致性的能力使用的方便程度工具的可靠性对硬件和软件环境的要求108软件开发工具的分类 1、基于工作阶段的工具 基于各个阶段对信息的需求不同,软件开基于各个阶段对信息的需求不同,软件开发工具可分为三类:设计工具、分析工具、计发工具可分为三类:设计工具、分析工具、计划工具。划工具。 109 设计工具是最具体的,它是指在实现阶段对人们提供帮助的工具。例如各种代码生成器、一般所说的第四代语言和帮助人们进行测试的工具(包括提供测试环境或测试数据)等,都属于设计工具之列。它是最直接的帮助人们编写与调试软件的工具。 分析工具主要是指用于支持需求分析的工具,

51、例如,帮助人们编写数据字典的、专用的数据字典管理系统帮助人们绘制数据流程图的专用工具,帮助画系统结构图或ER图的工具等。它们不是直接帮助开发人员110编写程序,而是帮助人们认识与表述信息需求与信息流程,从逻辑上明确软件的功能与要求。 计划工具则是从更宏观的角度去看待软件开发。它不仅从项目管理的角度帮助人们组织与实施项目,把有关进度、资源、质量、验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新、实现了跨生命周期的信息管理与共享,为信息以及软件的复用创造了条件。1112、基于集成程度划分的工具 集成化程度是用户接口一致性和信息共享的程度,是一个新的发展阶段。集成化的软件开发工

52、具要求人们对于软件开发过程有更深入的认识和了解。开发与应用集成化的软件开发工具是应当努力研究与探索的课题,集成化的软件开发工具也常称为软件工作环境。 1123、基于硬件、软件的关系划分的工具 按与硬件和软件的关系,软件开发工具可以分为两类:依赖于特定计算机或特定软件(如某种数据库管理系统)和独立于硬件与其它软件的软件开发工具。一般来说,设计工具多是依赖于特定软件的,因为它生成的代码或测试数据不是抽象的,而是具体的某一种语言的代码或该语言所要求的格式的数据。而分析工具与计划工具则往往是独立于机器与软件的,集成化的软件开发工具常常是依赖于机器与软件的。 1134、基于应用领域划分的工具按照应用领域

53、的不同,应用软件可以分为事务处理、实时应用、嵌入式应用等。随着个人计算机与人工智能的发展,与这两个方面相联系的应用软件,也取得较大的进展。 114软件开发环境 软件开发环境是一组相关的软件工具的集软件开发环境是一组相关的软件工具的集合,将他们组织在一起合,将他们组织在一起, ,支持某种软件开发方支持某种软件开发方法,软件开发环境又称之为集成式项目支持法,软件开发环境又称之为集成式项目支持环境。环境。1151、软件开发环境的特性可用性 自动化程度 公共性 集成化程度 适应性 价值1162、软件开发环境的结构软件开发环境可分为四层:软件开发环境可分为四层: 宿主层:它包括基本宿主硬件和基本宿主软件

54、。核心层:一般包括工具组、环境数据库和会话系统基本层:一般包括最少限度的一组工具,如编译工具、编辑程序、调试程序、连接程序和装配程序等。这些工具都是由核心层来支援的。应用层:一特定的基本层为基础,但可包括一些补充工具,借以更好地支援各种应用软件的研制。117软件开发环境的分类软件开发环境的类型包括:(1)按研制目标分类针对各个不同应用领域的程序设计环境,如开发环境、项目管理环境、质量保证环境和维护环境等。(2)按环境结构来分类基于语言的环境,基于操作系统的环境和基于方法论的环境。118(3)按工作模式分类交互式软件环境、批处理软件开发环境和个人分布式的环境等。119常用开发环境 目前,较流行的

55、操作系统平台环境有Windows、UNIX和Linux等,(1) Windows98开发环境(2) Windows NT开发环境(3) Linux开发环境(4) Unix程序开发环境软件开发环境与工具的发展方向 (1)智能化(2)网络化(3)一体化(4)标准化1201.4开发策略与开发方式一、系统开发的基本条件1、系统开发成功的要素合理地确定系统目标。组织系统性队伍。从总体上对系统开发进行规划。2、基本条件有科学的管理基础。领导的重视和员工的积极参与。有一支高水平的专业技术队伍。有较雄厚的物资基础。1211.4开发策略与开发方式二、开发策略根据系统的特点和开发工作的难易程度或者风险的大小,一般

56、采取下列开发策略:接收式。直接式。迭代式。实验式。实际开发过程中,开发的过程策略可分为:自上而下:从整体上协调和规划,由全局到局部,由长远到近期,从探索合理的信息流出发来设计系统。自下而上:从现行系统的业务状况出发,先实现各项业务的具体功能,逐步由底层到高层,直至最后形成整个系统。1221.4开发策略与开发方式三、开发方式三、开发方式用户自行开发。用户自行开发。咨询开发。咨询开发。合作开发。合作开发。委托开发。委托开发。从市场上购买是合组织需要的软件。从市场上购买是合组织需要的软件。四、开发单位的选择四、开发单位的选择开发单位应具有计算机专门知识,熟悉开发工具;开发单位应具有计算机专门知识,熟

57、悉开发工具;具有相关项目开发成功的实际开发经验;具有相关项目开发成功的实际开发经验;熟悉用户的业务情况和开发过类似的信息系统项目;熟悉用户的业务情况和开发过类似的信息系统项目;与用户单位具有较近的地理位置,便于及时对系统进行与用户单位具有较近的地理位置,便于及时对系统进行维护维护。123作业上网搜索软件公司投标管理信息系统的投标书,并总结出,软件公司应当如何获得用户的信任?124著名数据研究机构著名数据研究机构 Standish group 的研究报的研究报告说,目前告说,目前 84% 的软件企业不能按期、按成的软件企业不能按期、按成本完成,其中成本超过本完成,其中成本超过 189% ,时间上

58、超过,时间上超过 222% 。主要的原因在于软件过程的成熟度。主要的原因在于软件过程的成熟度不够。不够。 多年以来,人们认识到要想高效率、高质多年以来,人们认识到要想高效率、高质量和低成本地开发软件,必须以改善软件生量和低成本地开发软件,必须以改善软件生产过程为中心,全面应用软件和质量管理手产过程为中心,全面应用软件和质量管理手段。这是世界和中国软件产业迟早都要走的段。这是世界和中国软件产业迟早都要走的道路。目前,道路。目前, CMM 是国际上普遍采用的一是国际上普遍采用的一种方法,同时也是一种比较好的软件生产过种方法,同时也是一种比较好的软件生产过程标准,因为它是结合质量管理和软件工程程标准

59、,因为它是结合质量管理和软件工程的双重经验,专门针对软件生产过程制订的的双重经验,专门针对软件生产过程制订的一套规范。一套规范。 125设计设计 CMM, 就是为了指导软件企业通过判断就是为了指导软件企业通过判断当前自身的过程成熟度,提出几个对软件质当前自身的过程成熟度,提出几个对软件质量和过程提高最为关键的问题,以此来选择量和过程提高最为关键的问题,以此来选择过程的提高策略。这样就可以将注意力放在过程的提高策略。这样就可以将注意力放在几个有限的任务上,并努力实现这些任务,几个有限的任务上,并努力实现这些任务,企业就能平衡地提高自身的企业级软件开发企业就能平衡地提高自身的企业级软件开发管理过程

60、,保证持续地、长久地提高软件过管理过程,保证持续地、长久地提高软件过程能力。程能力。根据根据SEI 的统计,以目前业界的通行标准:每的统计,以目前业界的通行标准:每千行源代码所包含的千行源代码所包含的BUG 数,数,CMM1 级为级为 11.95 个,个, CMM2为为 5.52个,个,CMM3 为为 2.39 个,个,CMM4为为 0.92 个,而个,而CMM5则只有则只有 0.32 个。在可靠性提高的同时,个。在可靠性提高的同时, CMM5 软件开发软件开发周期是周期是 CMM1的的36% ,而生产成本是,而生产成本是CMM1的的19% ,平均每个软件开发人员的生产率会,平均每个软件开发人

61、员的生产率会提高四倍。软件企业在引入提高四倍。软件企业在引入CMM 管理后,劳管理后,劳动生产率平均增长动生产率平均增长 35 ,错误比率平均减少,错误比率平均减少 39 ,平均成本回报率为,平均成本回报率为 5 1 。 126以下是以下是 CMM 的分级结构和其主要特征:的分级结构和其主要特征: 初始级初始级软件过程的特点是无秩序的。软软件过程的特点是无秩序的。软件过程定义几乎处于无章法和可循的状态,件过程定义几乎处于无章法和可循的状态,软件产品所取得的成功往往依赖极个别人的软件产品所取得的成功往往依赖极个别人的努力和机遇。努力和机遇。 可重复级可重复级已建立了基本项目管理流程,已建立了基本

62、项目管理流程,可用于对成本、进度和功能特性进行跟踪。可用于对成本、进度和功能特性进行跟踪。对类似的应用项目,有章可循并能重复以往对类似的应用项目,有章可循并能重复以往所取得的成功。所取得的成功。 已定义级已定义级用于管理的和工程的软件过程用于管理的和工程的软件过程均已文档化、标准化,并形成了整修软件组均已文档化、标准化,并形成了整修软件组织的标准软件过程。全部项目均采用与实际织的标准软件过程。全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程情况相吻合的、适当修改后的标准软件过程来进行操作。来进行操作。 已管理级已管理级软件过程和产品质量有详细的软件过程和产品质量有详细的度量标准。软件

63、过程和产品质量得到了有效度量标准。软件过程和产品质量得到了有效地认识和控制。地认识和控制。 优化级优化级通过对来自过程、新概念和新技通过对来自过程、新概念和新技术等方面的各种有用信息的综合分析,能够术等方面的各种有用信息的综合分析,能够不断地、持续性地对过程进行改进。不断地、持续性地对过程进行改进。1271.4开发策略与开发方式五、系统开发组织和项目管理1、建立系统开发组织系统开发领导小组系统开发领导小组的任务是制定管理信息系统规划;在开发过程中,根据客观发展情况进行决策,协调各方面的关系,控制开发制度。小组成员应包括一名企业领导,系统开发项目负责人,有经验的系统分析师,以及用户各主要部门的业

64、务负责人。系统开发工作小组系统开发工作小组由系统分析员,即系统工程师负责。其任务是根据系统目标和系统开发领导小组的指导展开具体工作。这些工作包括开发方法的选择,各类调查的设计和实施,调查结果的分析,撰写可行性报告,系统的逻辑设计,系统的物理设计,系统的具体编程和实施,制定新旧系统的交接方案,监控系统的运行;如果需要,协助组织进行新的组织机构变革和新的管理规章制度。1281.4开发策略与开发方式2、加强项目管理计划管理制定总计划制定阶段计划检查工程计划执行情况技术管理标准化管理安全管理质量管理贯彻开发过程质量管理原则确定系统质量管理指标体系保证系统的可用性、正确性、适用性、可维护性、文档完整性分

65、阶段确认工程质量指标,实行质量责任制分阶段质量评审,分析影响阶段质量的原因资源管理人员管理软件资源管理硬件资源管理资金管理129计划管理3、制定系统开发计划制定系统开发大致的进度计划。随着系统分析、系统设计的不断深入,再制定系统的详细的开发进度计划,并且指定专人负责。项目负责人要对各项任务进行定期检查,项目进度管理中常用的图形描述方法有几种:关键日期表:这是最简单的一种进度计划表,它只列出一些关键活动和进行的日期甘特图(GanttChart)130关键路线图(CPMCriticalPathMethod)关键线路法是可以确定出项目各工作最早、最迟开始和结束时间,通过最早最迟时间的差额可以分析每一

66、工作相对时间紧迫程度及工作的重要程度,这种最早和最迟时间的差额称为机动时间,机动时间为零的工作通常称为关键工作。关键线路法的主要目的就是确定项目中的关键工作,以保证实施过程中能重点关照,保证项目按期完成。计划评审技术(ProgramEvaluationandReviewTechnique,简称PERT.PERT的形式与CPM网络计划基本相同,只是在工作延续时间方面CPM仅需要一个确定的工作时间,而PERT需要工作的三个时间估计,包括最短时间a、最可能时间m及最长时间b,然后按照分布计算工作的期望时间t。PERT通常使用的计算方法是CPM的方法1311.4开发策略与开发方式4、合理组织队伍和人员分工对于企业高层领导。对于项目主管。对于系统分析员。对于程序设计员。对于组织的管理人员。Project2003管理项目计划132小结一个组织决定是否开发管理信息系统首先需要判断其是否具备基本条件,这是保证管理信息系统成功的基础,对于不同的管理问题,还应选择适当的开发策略,使开发周期、开发费用等尽可能合理。不同的组织所具备的条件不同,在开发方式上有所不同,需要比较不同开发方式的优缺点,权衡利弊。管理信息系统开发是一项系统性工程,需要按照系统工程的方法进行项目管理,才能确保系统开发成功。133

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号