系统分析与设计课件.ppt_第1页
系统分析与设计课件.ppt_第2页
系统分析与设计课件.ppt_第3页
系统分析与设计课件.ppt_第4页
系统分析与设计课件.ppt_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

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

文档简介

软件工程,软件系统分析与设计,刘全明liuqm,询问,前导专业课程的学习情况?内容、掌握程度、目的软件过程软件企业结构和人员构成介绍系统分析和设计课程介绍,软件开发过程,跟踪客户(大客户)获得的项目(或者建议客户做给某个项目)需求分析概要设计详细设计实现测试实施维护,软件企业结构介绍,公司部门组织结构各个部门职位说明个人的一些建议,公司组织结构,?选择一下,哪个部门相对最重要财务部门研发中心市场营销部质量部售后服务部门人事部后勤部,公司组织结构,总经理副总经理、各个总监分管市场、技术、财务等等各个部门市场营销部(市场部、销售部、客户部)研发中心质量部售后服务部门财务部门人事部后勤部,市场营销部,市场部销售部客户部,客户经理,产品经理,研发中心,研发中心经理若干项目部关键件研发部实施部,研发中心,若干项目部项目经理、高级程序员、软件程序员、数据库开发人员关键件研发部软件架构师、系统分析师、高级程序员、数据库专家实施部,研发中心,若干项目部项目经理高级软件开发工程师软件工程师、数据库开发人员关键件研发部系统架构师、系统分析师、高级程序员、数据库专家实施部实施工程师,项目经理,研发中心,若干项目部项目经理高级软件开发工程师软件工程师、数据库开发人员关键件研发部系统架构师、系统分析师、高级程序员、数据库专家实施部实施工程师,资深java工程师,研发中心,若干项目部项目经理高级软件开发工程师软件工程师、数据库开发人员关键件研发部系统架构师、系统分析师、高级程序员、数据库专家实施部实施工程师,多数要求的技能,.NET,Java之一富INTERNET客户端应用(RIAs)Web开发Web服务一种动态的和/或者函数编程语言;敏捷开发方法领域知识手机开发,.NET软件程序员,JAVA软件程序员,数据库开发工程师,研发中心,若干项目部项目经理高级软件开发工程师软件工程师、数据库开发人员关键件研发部系统架构师(两种需求)系统分析师高级程序员数据库专家实施部实施工程师,系统架构师,.Net架构师,研发中心,若干项目部项目经理高级软件开发工程师软件工程师、数据库开发人员关键件研发部系统架构师(两种需求)系统分析师高级程序员数据库专家、系统集成工程师实施部实施工程师,系统分析师,系统分析师,研发中心,若干项目部项目经理高级软件开发工程师软件工程师、数据库开发人员关键件研发部系统架构师(两种需求)系统分析师高级程序员数据库专家、系统集成工程师、UI工程师实施部实施工程师,数据库工程师,DBA,ORACLE数据库工程师,系统集成工程师,界面设计师,研发中心,若干项目部项目经理高级软件开发工程师软件工程师、数据库开发人员关键件研发部系统架构师(两种需求)系统分析师高级程序员数据库专家、系统集成工程师实施部实施工程师(更多的是针对产品、而不是项目)售后维护工程师,项目实施工程师,系统维护工程师,产品质量部,测试工程师质量工程师信息安全管理员技术文档工程师,软件测试工程师,质量主管/质量工程师,信息安全管理专员,高级应用安全工程师,技术文档工程师,其他,网络安全工程师,网络维护工程师,技术、技术、技术,如果你一直走技术路线?技术总监、技术经理技术顾问、技术咨询师技术培训师,技术总监,技术经理,技术经理,建议,知识的储备和技术能力的培养几个要与不要技术新发展和需求,知识储备和技术能力培训,中、英文阅读能力有软件工程的思想(重在运用、规范)会编写程序(语言实现、博而专、开发环境、程序调试、单元测试)、代码重构与重用、从程序设计上升到软件设计工具的掌握和熟练应用(拓展)版本控制、自动化编译(团队必须),非技术能力,语言表达能力与人沟通能力适应变化的能力自我学习的能力时间管理能力,要与不要,有团队合作的态度自信多看、多练、多交流多想多总结(问题的解决经验的积累)勤写文档勤备份、勤归档相关领域知识先做人再做事,单打独斗、不协作、情绪化工作、怀疑别人,沟通不畅自负只看书或埋头苦干抱怨(待遇、环境)急于求成、不求甚解忘了用户,未来技术需求,机器学习把应用软件搬到移动设备上人机交互与界面设计商业智能系统嵌入式安全数字家庭技术的集成,课程内容,系统分析和设计课程内容涉及:原理、方法、技术、工具、应用重点:系统开发生命周期的前期和中期活动,即系统分析和设计活动。,第一部分:介绍系统分析与设计的基本概念和原理,包括系统开发环境、信息系统开发方法。第二部分:介绍系统分析方法,包括需求获取的调查研究技术、系统需求建模技术、需求的传统描述方法、需求的面向对象描述方法、可行性分析和准备系统方案建议。第三部分:介绍系统设计方法,包括系统应用架构设计、数据库设计、传统和面向对象的应用软件设计、输入、输出和用户界面设计。第四部分:介绍系统分析与设计完成后的工作,包括系统开发生命周期的系统实施和系统支持两个阶段的主要活动。,课程内容,1,CHAPTER,系统开发环境,学习要求,记住系统分析员需要面对的7类信息系统理解信息技术对信息系统开发的影响理解业务问题对信息系统开发的影响了解和信息系统相关的不同类型的角色解释系统分析员在信息系统开发中的惟一角色描述成功的系统分析员所具备的技能,信息系统,信息系统(Informationtechnology,IS)是人、数据、过程和信息技术的融合,它们之间相互联系、相互作用,收集、处理、存储和提供支持组织运作的信息。,信息系统类型,事务处理系统(Transactionprocessingsystem,TPS)是一种捕捉和处理有关企业事务数据的信息系统.管理信息系统(Managementinformationsystem,MIS)是一种提供面向管理的企业业务处理和运作报告的信息系统.主管信息系统(Executiveinformationsystem,EIS)是一种支持主管经理的规划和评估需求的信息系统.决策支持系统(Decisionsupportsystem,DSS)是一种辅助进行决策或者提供决策信息的信息系统.,信息系统类型,专家系统(expertsystem)是一种先捕捉专家的专业知识再模拟那些专家知识为非专家服务的信息系统.通信与协作系统(communicationsandcollaborationsystem)是一种促进工作人员、合作伙伴、客户和供应商之间进行有效通信以提高协作能力的信息系统.办公自动化系统(officeautomationsystem)是一种支持广泛的企业办公活动、改进工作人员之间工作流的信息系统.,信息技术的影响,网络和因特网面向对象技术移动和无线技术协作技术企业应用集成技术,网络和因特网,网络包含大型主机、网络服务器、各种台式机、笔记本电脑和掌上电脑的计算机客户端.最普遍的网络技术是基于因特网的技术,包括内联网外联网Web技术xHTML和XML脚本语言Web专用语言,面向对象技术,对象技术ObjectTechnology是一种软件技术,它采用封装了数据和行为的对象来定义系统.可复用的可扩展的面向对象设计语言包括C+,java,Smalltalk,VisualB等面向对象分析和设计方法Object-orientedanalysisanddesign用于系统开发的一组工具和技术的集合,利用对象技术来构造系统及其软件.敏捷开发Agiledevelopment是一种系统开发策略,系统开发人员可以从一套相应的工具和技术中灵活地选择最适合完成手边任务的工具和技术.敏捷开发被认为可以在系统开发的产量和质量之间达到最优化的平衡.,移动和无线技术,移动和无线技术包括PDAs个人数据助理Smartphones智能电话Bluetooth蓝牙Wirelessnetworking无线网络对信息系统的影响需要考虑无线连接需要考虑移动设备和屏幕尺寸的限制,协作技术,协作技术Collaboratetechnologies指那些提高人际交互和团队工作能力的技术.E-mailInstantmessaging即时消息Groupware群件,企业应用,企业应用,企业资源规划ERP,企业资源规划EnterpriseResourcePlanning(ERP)是一种应用软件,它将信息系统完全集成在一起,提供大部分或者所有核心基本业务功能.ERP产品围绕一个由基本业务功能共享的公共数据库建造.有代表性的ERP供应商:BaanJ.D.EdwardsOraclePeoplesoftSAPAG(市场领导者),2019/12/13,71,可编辑,供应链管理SCM,供应链管理SupplyChainManagement(SCM)是一种应用软件,它通过直接将企业的信息系统与企业的供应商和分销上的信息系统集成,优化从原材料采购到最终产品分销的业务过程.有代表性的SCM供应商:i2TechnologiesManugisticsSAPSCT,客户关系管理CRM,客户关系管理CustomerRelationshipManagement(CRM)是一种应用软件,为客户提供对企业过程的访问,从初始的咨询直到售后服务和支持.有代表性的CRM供应商:BroadVisionE.piphanyKanaNortel/ClarityPeoplesoft/VanitiveSiebel(themarketleader),企业应用集成EAI,企业应用集成EnterpriseApplicationIntegration(EAI)是指用来链接应用软件以支持应用软件之间的数据和信息流的过程和技术,其解决方案通常基于中间件.中间件Middleware是用来在不同应用软件之间转换和路由数据的软件.有代表性的EAI供应商:BEASystemsIBM(MQSeries)MercatorSoftwareTIBCOSoftware,业务问题的影响,经济全球化电子商务和电子业务安全和隐私持续改进和全面质量管理业务过程重构,经济全球化,经济全球化带来新的、更大的国际市场新的国际竞争者对信息系统的影响必须支持多种语言、货币汇率、国际贸易规则、不同的商业文化和业务方式等需要实现信息融合以实现性能分析和决策支持参与者需要使用不同语言和用户交流,电子商务和电子业务,电子商务E-Commerce指通过使用因特网购买和销售商品及服务.电子业务E-Business指使用因特网进行日常的商务活动.电子商务和电子业务类型公司形象、产品和服务的营销宣传企业对客户Business-to-consumer(B2C)企业对企业Business-to-business(B2B)对信息系统的影响大多数新的信息系统都要面向因特网体系结构设计越来越多的应用软件设计成在浏览器中运行,对于操作系统的选择变得不那么重要,安全和隐私,安全Security当遭到破坏或者灾难时业务如何继续进行?企业如何保护它的数字财产不受外部侵害?隐私Privacy顾客对隐私的要求越来越高政府对隐私问题正在立法对信息系统的影响要求更严格的安全和隐私控制,持续改进和全面质量管理,业务过程BusinessProcesses是影响业务事件的任务,业务过程是完成任务所需要的工作、程序和规则,它独立于自动化或支持它们的信息技术.持续过程改进Continuousprocessimprovement(CPI)是连续地监控业务过程对降低成本和增加效益方面虽微小但可度量的改善之影响.全面质量管理Totalqualitymanagement(TQM)是一种在企业内部促进质量改善和管理的综合方法.,业务过程重构,业务过程重构Businessprocessredesign(BPR)是研究、分析和重新设计企业的基本业务过程,为企业降低成本和/或提高效益.寻求实现比CPI更根本性的改变和改进通常通过CPI来实现,系统关联角色,系统所有者系统用户系统设计人员系统构造人员系统分析员项目经理,系统所有者,系统所有者Systemowners信息系统的发起人和主要倡导者,通常负责投资项目以进行开发、运行和维护信息系统.,系统用户,系统用户Systemusers那些在通常意义上使用信息系统或者受到信息系统影响的客户,如收集、验证、录入、响应、存储、交换数据和信息.内部系统用户Internalusers办事操作人员专业技术人员决策人员外部系统用户Externalusers顾客供应商合作伙伴不在组织内部工作的雇员,系统设计人员和系统构造人员,系统设计人员Systemdesigner将系统用户的业务需求和约束条件转换成技术方案的技术专家,设计满足系统用户需求的计算机数据库、输入输出、屏幕界面、网络和程序。包括数据库管理员、网络架构师、Web架构师、图形艺术师、安全专家和技术专家等.系统构造人员Systembuilders根据系统设计人员的设计说明构造信息系统及其构件的技术专家。包括应用程序员、系统程序员、数据库程序员、网络管理员、安全管理员、Web站点管理员和软件集成员等.,系统分析员,系统分析员Systemsanalyst研究组织存在的问题和需求,确定人员、数据、过程和信息技术如何最大化地为企业做出贡献.,系统分析员的角色:作为解决问题的人,真正的问题(实际的或者预期的),对这些问题需要采取正确的行动尽管还没有人抱怨,但可以改进现状的机会无论是否有人抱怨,都要改变现状的指示,系统分析员所需的技能,人的知识和技能人格与道德规范良好的与人沟通的能力良好的处理人际关系的能力灵活性和适应能力技术知识和技能系统分析与设计技能有效的信息技术知识业务知识和技能一般商业知识通用的解决问题的技能,1.不应使用计算机危害他人.2.不应干涉他人的计算机工作.3.不应偷窃他人的计算机文件.4.不应使用计算机进行偷窃活动.5.不应使用计算机做伪证.6.不应拷贝或使用没有付费的收费软件.7.不应未经授权或再没有恰当补偿的情况下使用他人的计算机资源.8.不应挪用他人的智力成果.9.应该注意你编写的程序或设计的系统所造成的社会后果.10.使用计算机时应该总是考虑到他人并尊敬他们.,计算机道德的十条戒律,Source:ComputerEthicsInstitute,项目经理,项目经理ProjectManager经验丰富的从业人员,负责根据进度安排、预算、发布的产品、客户满意度、技术标准和系统质量,计划、监视和控制项目.,2,CHAPTER,系统开发方法,学习要求,理解用于质量管理的能力成熟度模型(CMM)描述系统开发过程的目的阐述系统开发生命周期(SDLC)的不同阶段描述系统开发生命周期(SDLC)的一些变体描述贯穿信息系统开发基本阶段的几种常用开发方法阐述系统开发的当前趋势描述用于系统开发的各种自动化工具,系统开发过程,系统开发过程Systemdevelopmentprocess是一组活动、方法、最佳实践、交付成果和自动化工具,系统开发的关联人员(第1章)用它们来开发和维护信息系统及软件.复杂产品使用标准开发过程来开发信息系统:使用一致的系统开发过程能够提高效率,管理层可以在项目之间调动资源一致的方法产生一致的文档,减少了维护系统的生命周期费用总之,提高质量,全面质量管理,能力成熟度模型的质量框架,系统开发过程对质量的影响,能力成熟度模型(1),能力成熟度模型CapabilityMaturityModel(CMM)是用来评估组织的信息系统开发过程及管理过程和产品的成熟度等级的框架,由5个开发成熟度等级构成:Level1初始级Initial:系统开发项目没有规定的过程可以遵循.Level2可重复级Repeatable:组织已经建立了项目管理过程和实践来跟踪项目费用、进度和功能,重点在项目管理.Level3已定义级Defined:组织已经购买或开发了一个标准的系统开发过程(或称为方法学),所有项目都是用这个软件开发过程来开发和维护信息系统和软件.Level4已管理级Managed:组织建立了可度量的质量和生产率目标.Level5优化级Optimizing:根据第4级建立的度量和数据分析,标准化的系统开发过程被连续地监督和改进.,能力成熟度模型(2),系统生命周期和系统开发方法,系统生命周期Systemlifecycle将一个信息系统的生命分为两个阶段,(1)系统开发阶段;(2)系统运行和维护阶段.首先建造系统,然后使用系统,运行系统并维护系统,最后从运行和维护阶段再回到开发阶段.系统开发方法Systemdevelopmentmethodology是一个十分正式且精确的系统开发过程,它为系统开发人员和项目经理定义了(在CMM第3级)一组活动、方法、最佳实践、交付成果和自动化工具,用来开发和维护大部分或所有的信息系统和软件.,系统开发的各个阶段,系统规划Systemplanning是项目的初始规划,定义初始业务范围、目标、进度和预算.系统分析Systemanalysis是研究业务问题领域,以推荐改进措施并说明方案的业务需求和优先权.系统设计Systemdesign为系统分析阶段确定的业务需求设计一个技术性的基于计算机的方案.系统实现Systemimplementation是构造、安装、测试和发布一个系统投入生产.系统支持和持续改进(维护和提升项目),系统规划之项目确定,问题Problem是不期望发生的情况,它妨碍组织完整地实现其任务、愿景、目标和/或指示.机会Opportunity是即使在没有出现具体问题的情况下也能改善组织的可能性.指示Directive是一个由管理层、政府或者其他外部影响强加的新需求.,问题分类框架PIECES,P提高性能performance的需要I改进信息information(和数据)的需要E改进经济economics,控制成本或增加效益的需要C改进控制control或安全security的需要E改进人与过程的效率efficiency的需要S改进对客户、供应商、合作伙伴、雇员等的服务service的需要.,系统规划阶段,系统规划是项目的初始规划,用来定义项目范围、进度、预算以及所需的开发小组成员。最重要的活动就是准确地定义解决问题所需的项目范围,它定义了系统涉及的业务领域,而项目的进度和预算最终也受到项目范围的影响。参与者系统所有者、系统分析员和项目经理,一般不包括系统用户。回答问题这个项目是否值得?典型任务列出触发项目的问题协商项目的初步范围评估项目价值计划项目进度表、预算和开发成员汇报项目计划关键发布物项目计划,列出触发项目的问题,具体活动确定触发项目的每个问题,并且按照紧急程度、可见性、收益、优先权进行评估以及给出合适的建议方案。参与者项目经理或高级系统分析员领导该任务、系统所有者。完成任务使用的技术调查研究、同系统所有者开会关键发布物初始问题陈述,协商项目的初步范围,具体活动定义了系统的边界,确定系统包括的业务以及不包括的业务。参与者项目经理或高级系统分析员领导该任务、系统所有者。完成任务使用的技术调查研究、同系统所有者开会关键发布物项目范围陈述,评估项目价值,具体活动在上述两个任务完成的基础上,通过可行性分析回答问题:“这个项目是否值得?”参与者项目经理或高级系统分析员领导该任务,但系统所有者做出决策。完成任务使用的技术可行性分析关键发布物没有书面发布物,仅仅是做出“继续或不继续”的决定,计划项目进度表、预算和开发成员,具体活动深入地计划项目,一个项目计划至少包括一个基线计划和下一个阶段的一个详细计划和进度表。参与者项目经理、尽可能地让项目团队成员参与。完成任务使用的技术PERT图、甘特图、联合项目计划、工作分解结构、关键路径分析关键发布物基线计划和进度表,汇报项目计划,具体活动向一个由非信息系统专家或管理人员构成的指导部门汇报项目计划以获得批准。参与者主要负责人应该同项目经理一起推动该任务,其它参与者包括整个项目团队、所有感兴趣的雇员。完成任务使用的技术有效的人际沟通能力是关键,包括说服、推销变化、商务写作和演讲关键发布物项目计划,包括初始问题陈述、项目范围陈述、项目参与者、所采用的方法学、项目进度表和预算、交付成果等。,系统分析阶段,系统分析研究业务问题领域,从而给出改进措施并说明系统的业务需求和优先权。系统分析阶段的重点是业务问题和需求,这些需求独立于实现方案中可能使用的任何技术,系统分析阶段强调业务问题方面,而不是技术或实现方面。参与者系统用户、系统分析员和项目经理。系统分析是系统开发生命周期的一个重要阶段,可以划分为四个子阶段问题分析子阶段需求分析子阶段逻辑设计子阶段决策分析子阶段,问题分析子阶段,问题分析子阶段研究现有系统,分析发现的问题,促使项目团队更深入地理解引发该项目的问题。参与者系统所有者、项目经理、系统分析员、系统用户(主动包括)。回答问题真的值得开发一个新系统用来解决这些问题吗?典型任务研究业务领域分析问题可选的分析并重构业务过程制定系统改进目标修改项目计划汇报调查结果和系统建议,研究业务领域,具体活动了解当前系统,不同的角色对系统具有不同层次的理解,有着不同的详细程度、不同的表达方式以及不同的观点。参与者由项目经理领导,资深系统分析员主持,也包括参与面谈、作记录的其它系统分析员,系统所有者和足够的系统用户代表。完成任务使用的技术调查研究、尤其是联合需求计划(JRP)关键发布物以文档形式记录的对问题领域和业务术语的理解,分析问题,具体活动了解当前系统的基础上,项目团队同系统所有者和系统用户一起分析问题。参与者由系统分析员推动该任务,系统所有者和系统用户应该主动地参与到因果分析中。完成任务使用的技术调查研究技术、JRP技术以及因果分析法关键发布物修改的问题陈述以及对每个问题的因果分析,分析并重构业务过程,具体活动有些项目需要重构业务过程,这就要求项目团队十分详细地检查组织的业务过程,度量每个过程相对于整个组织增加或减少的价值。参与者由在业务过程重构方面有经验的系统分析员主持该任务,系统所有者和系统用户要参与讨论分析。完成任务使用的技术调查研究技术、JRP技术以及过程建模技术关键发布物当前系统的过程模型和过程分析,制定系统改进目标,具体活动在分析问题的基础上,可以制定系统改进目标,建立新系统成功的准则,对当前系统的任何改进将按照这个准则进行度量,当然也需要确定任何可能限制系统改进的约束条件。参与者由系统分析员推动该任务,系统所有者和系统用户要参与讨论。关键发布物精确的、可度量的定义新系统预期的业务性能陈述的系统改进目标,修改项目计划,具体活动在对问题分析的基础上,需要重新评估项目范围,并相应地修改项目计划。参与者整个项目团队一起推动该任务,系统分析员和系统所有者起关键作用。关键发布物修改后的项目计划,汇报调查结果和系统建议,具体活动向所有和项目相关的人员汇报调查结果和系统建议。参与者主要负责人应该同项目经理一起推动该任务,其它参与者包括整个项目团队、所有感兴趣的雇员。关键发布物系统建议的报告,需求分析子阶段,需求分析子阶段定义业务需求,并为它们排序。参与者项目经理、系统分析员、系统用户。回答问题用户需要什么?希望从新系统中获得什么?典型任务定义业务需求确定业务需求的优先级修改项目计划,定义业务需求,具体活动根据问题分析子阶段确定的系统改进目标来定义业务需求,包括描述新系统必须提供的服务和活动的功能需求,以及描述新系统的性能、易学易用性、预算等的非功能需求。参与者系统分析员,而系统设计人员和构造人员一般不参与该任务。完成任务使用的技术JRP是快速整理业务需求的首选技术,其它需求获取的各种调查研究技术如面谈也是常用手段,在表述业务需求时还可以选择用例建模技术。关键发布物各种形式的功能需求和非功能需求陈述,确定业务需求的优先级,具体活动根据系统改进目标的重要性,相应的业务需求也具有不同的优先级别。参与者系统所有者和用户制定实际的优先级,系统分析员推动该任务,完成任务使用的技术调查研究技术、时间盒关键发布物含优先级的业务需求,修改项目计划,具体活动系统的业务需求确定之后,往往发现新系统的规模会变大,这时需要重新定义项目范围,并修改项目计划来调整项目进度、预算等约束条件。参与者整个项目团队一起推动该任务,系统分析员和系统所有者起关键作用。关键发布物修改后的项目计划,该计划包括后期逻辑设计子阶段的详细计划。,逻辑设计子阶段,逻辑设计子阶段将用户的业务需求转换成逻辑系统模型图,以验证系统的功能需求,这些模型图仅仅描述了业务需求,并不涉及任何技术设计或实现。参与者系统分析员主持该任务,需要同系统用户交流来获取模型图的细节信息。回答问题新系统必须实现什么?完成任务使用的技术系统建模技术、构造原型技术关键发布物逻辑设计模型和规格说明,决策设计子阶段,逻辑设计子阶段系统分析向系统设计的过渡阶段,从对业务需求的关心转移到对技术实现的关心上来。确定候选方案、分析这些候选方案的可行性并推荐一个候选方案作为目标方案进行设计和实现。参与者项目经理、系统分析员、系统设计员、系统用户回答问题实现新系统的最佳方案是什么?典型任务确定候选方案分析和比较候选方案修改项目计划汇报推荐的系统方案完成任务使用的技术调查研究、JRP、可行性分析等关键发布物系统方案建议,系统设计阶段,系统设计在前期分析阶段获取、分析业务需求以及决策制定的基础上,具体设计系统的解决方案,从而为系统构造人员提供清晰完整的物理设计说明。详细的计算机系统方案的规格说明,关注的是系统的技术方面。参与者项目经理、系统分析员、系统设计人员、系统用户(部分)。回答问题系统方案如何实现?典型任务设计系统架构设计系统数据库设计输出、输入和用户界面整理物理设计说明修改项目计划关键发布物物理设计模型和规格说明、设计原型,系统实施阶段,系统实施构造、测试、安装和发布一个新系统投入运行。参与者项目经理、系统分析员、系统用户、系统设计员(有时)、系统构造员典型任务建造和测试网络建造和测试数据库安装和测试新软件包(若采用外部购买软件的开发方式)编写和测试新程序(若采用内部编制软件的开发方式)进行系统测试准备转换计划安装数据库培训用户转化到新系统关键发布物功能系统、运行系统,系统支持阶段,系统支持是处理可能出现的错误或新的需求所需的维护工作。包括程序维护、系统恢复、技术支持和系统改进4类活动。系统支持需要花费大量的时间和金钱,而本课程所介绍的系统分析与设计方法均是为了减少系统支持的费用。随着时间的推移,所有的系统都会老化,当支持不再合算时,系统就要退役了,这时也会启动新的系统开发项目来替换这个系统。,至此,一个完整的系统开发生命周期就展现在你的面前了!,瀑布模型,迭代开发,系统开发生命周期的变体,各阶段名称的变体对基本瀑布模型改进的变体,系统开发基本原理,尽可能地让系统用户参与到开发中来使用一种可以度量且被证实的系统开发生命周期在开发过程中适当地记录文档采用渐进的方式逐步投入保持持续的过程管理和项目管理,方法、模型,方法提供完成系统开发生命周期各阶段的详细指导,包括具体的活动、使用的模型、采用的技术以及辅助的工具。有代表性的系统开发方法包括结构化开发、面向对象开发、快速应用开发、结构化快速应用开发、信息工程、联合应用开发、Rational统一过程开发、极限编程等。模型现实世界的抽象,在系统开发过程中,通过系统模型表示系统的现实情况或者希望的情况。描述系统的有代表性的模型包括上下文图、用例图、数据流图、实体关系图、类图、交互图、程序流程图等,技术、工具,技术帮助开发人员完成系统开发的任务和活动,如为创建模型提供指导,或者为从系统用户那里获取业务需求提供建议。常用的系统开发技术包括结构化分析技术、结构化设计技术、调查研究技术、数据建模技术、过程建模技术、面向对象建模技术、数据库设计技术、人机交互技术、编程技术、软件测试技术等。工具用于辅助开发人员更方便地完成系统开发的任务和活动,如创建模型图的简单绘制程序,或者集成开发环境(IDE),工具是为了帮助系统开发人员而专门设计的。常用的系统开发工具包括计算机辅助工程设计系统工程(CASE)工具、IDE、文本编辑器、绘图应用程序、数据库管理应用程序、代码生成工具、项目管理应用程序等。,有代表性的系统开发方法,传统开发方法结构化系统开发方法信息工程面向对象开发方法原型化和快速应用开发(ArchitectedRAD)商用应用软件包开发方法,结构化系统开发方法的特点,自顶向下整体性的分析与设计和自底向上逐步实施的系统开发过程,在系统分析与设计时要从整体全局考虑,自顶向下地分解,而在系统实现时,则要根据设计的要求先编制一个个具体的功能模块,然后自底向上逐步实现整个系统。面向用户,用户对系统开发的成败是至关重要的,故在系统开发过程中要充分考虑用户的需求和愿望,尽可能地让用户参与进来,以提高系统的开发效率和质量。严格区分工作阶段,把整个系统开发过程划分为若干个阶段,每个阶段都有其明确的任务和目标,强调一步一步地严格地进行系统分析和设计,每一步工作都及时地总结,发现问题及时地反馈和纠正。从而避免了开发过程的混乱状态。开发过程工程化,要求开发过程的每一步都按工程标准规范化,文档资料标准化。,面向对象开发方法,认为信息系统是由一组为完成某个任务而相互作用的对象组成,对象是某种存在的或者能被感知到的事物,是客观世界中的实体抽象。UML主要的优点是自然性和可复用性。和传统开发方法的不同:传统方法认为系统是处理过程的集合,处理与数据实体的交互,处理过程的输入和输出数据,而面向对象方法认为系统是对象的集合,对象通过消息与其它对象相互作用完成某个任务。,原型化方法,强调构造原型然后观察用户对原型的反应,使用原型的开发方法。原型化方法是快速收集有关用户需求的特定信息的重要技术通常使用两类原型系统一是在需求分析阶段,为了获取或明确用户的系统需求的发现型原型系统。二是在整个开发期间,被反复开发直到成为最终系统的发展型原型系统。原型化方法的适用范围,快速应用开发,是一种面向对象的系统开发方法,强调用户深入地参与到一系列工作原型的快速进化和构造过程中,以加速系统的开发过程,工作原型进化成最终的信息系统,可看作原型化方法的一个特例。几个基本思想:更强调用户主动参与到分析、设计和构造阶段的活动中重视系统开发过

温馨提示

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

评论

0/150

提交评论