信息系统开发基础课件.ppt

上传人(卖家):三亚风情 文档编号:2921573 上传时间:2022-06-11 格式:PPT 页数:93 大小:1.90MB
下载 相关 举报
信息系统开发基础课件.ppt_第1页
第1页 / 共93页
信息系统开发基础课件.ppt_第2页
第2页 / 共93页
信息系统开发基础课件.ppt_第3页
第3页 / 共93页
信息系统开发基础课件.ppt_第4页
第4页 / 共93页
信息系统开发基础课件.ppt_第5页
第5页 / 共93页
点击查看更多>>
资源描述

1、北京航空航天大北京航空航天大学软学软件件学学院院 thbin thbin系统分析与设计系统分析与设计第二章第二章 信息系统开发基础信息系统开发基础谭火彬谭火彬Fundamentals of Information Systems Development北京航空航天大学软件学院北京航空航天大学软件学院 thbin2课程资源课程资源联系老师联系老师u办公地点:办公地点:6#323u联系电话:联系电话:82338867uEmail: 课件下载课件下载u学院学院ftp服务器服务器地址:地址:ftp:/202.112.128.79u/p:bse2002/3221uWeb下载下载http:/ thbin3

2、复习:系统分析设计基础复习:系统分析设计基础北京航空航天大学软件学院北京航空航天大学软件学院 thbin4选择题选择题u信息系统开发过程涉及到的项目干系人,信息系统开发过程涉及到的项目干系人,(1)提供软件需求;提供软件需求;(2)定义项目范围;定义项目范围;(3)设计软件总体结构设计软件总体结构A. 系统拥有者系统拥有者B. 系统用户系统用户C. 系统分析师系统分析师D. 系统设计人员系统设计人员E. 系统构造人员系统构造人员F. IT厂商和顾问厂商和顾问北京航空航天大学软件学院北京航空航天大学软件学院 thbin5信息系统开发的核心技术信息系统开发的核心技术系统开发系统开发u过程是为到达目

3、的采用的一系列步骤过程是为到达目的采用的一系列步骤u用于信息系统和软件的开发和维护的一用于信息系统和软件的开发和维护的一组活动、方法、实践、发布、及自动化组活动、方法、实践、发布、及自动化工具工具系统开发系统开发u为系统开发提供了为系统开发提供了 “如何做如何做” 的技术的技术系统开发系统开发u为系统开发提供了自动的或半自动的支为系统开发提供了自动的或半自动的支撑环境撑环境北京航空航天大学软件学院北京航空航天大学软件学院 thbin6内容安排内容安排系统开发生命周期系统开发生命周期系统开发过程系统开发过程过程评价准则过程评价准则系统开发方法系统开发方法自动化工具和技术自动化工具和技术北京航空航

4、天大学软件学院北京航空航天大学软件学院 thbin7内容安排内容安排系统开发过程系统开发过程过程评价准则过程评价准则系统开发方法系统开发方法自动化工具和技术自动化工具和技术北京航空航天大学软件学院北京航空航天大学软件学院 thbin8系统开发项目系统开发项目系统开发项目系统开发项目u一个有始有终的任务一个有始有终的任务u产生预先确定的结果或产品产生预先确定的结果或产品u可以是一个大工程,需要许多人进行数千小可以是一个大工程,需要许多人进行数千小时的工作;也可以是一个很小的项目时的工作;也可以是一个很小的项目成功的项目成功的项目u详细的计划详细的计划u有组织的讲究方法的一系列活动和任务有组织的讲

5、究方法的一系列活动和任务u可靠、强大而高效的信息系统可靠、强大而高效的信息系统北京航空航天大学软件学院北京航空航天大学软件学院 thbin9系统开发生命周期系统开发生命周期系统开发生命周期系统开发生命周期(SDLC, System Development Lifecycle)u把一个项目较简单地组成各个阶段把一个项目较简单地组成各个阶段u提供了确保成功开发所需要的结构、方提供了确保成功开发所需要的结构、方法、控制和核对表法、控制和核对表u包含管理原则、计划、组织、问题解决包含管理原则、计划、组织、问题解决协调、控制、分工、进度安排等问题协调、控制、分工、进度安排等问题北京航空航天大学软件学院北

6、京航空航天大学软件学院 thbin10生命周期中的各个阶段生命周期中的各个阶段北京航空航天大学软件学院北京航空航天大学软件学院 thbin11计划阶段计划阶段(Planning Phase)目标:规划项目范围并做出项目计划目标:规划项目范围并做出项目计划活动活动u定义问题定义问题u确定项目可行性确定项目可行性u制定项目的进度表制定项目的进度表u为项目安排人员为项目安排人员u启动项目启动项目北京航空航天大学软件学院北京航空航天大学软件学院 thbin12分析阶段分析阶段(Analysis Phase)目标:了解并详述用户需求目标:了解并详述用户需求活动活动u收集信息收集信息u确定系统需求确定系统

7、需求u建立需求发现的原型建立需求发现的原型u划分需求的优先级划分需求的优先级u产生并评估可替换方案产生并评估可替换方案u与管理人员一起审查需求与管理人员一起审查需求北京航空航天大学软件学院北京航空航天大学软件学院 thbin13设计阶段设计阶段(Design Phase)目标:设计系统解决方案目标:设计系统解决方案活动活动u设计应用程序结构设计应用程序结构u设计用户界面设计用户界面u设计并集成数据库设计并集成数据库u设计系统的实现细节设计系统的实现细节u设计并集成网络设计并集成网络u设计并集成系统控制逻辑设计并集成系统控制逻辑北京航空航天大学软件学院北京航空航天大学软件学院 thbin14实现

8、阶段实现阶段(Implementation Phase)目标:建立、测试和安装最后的系统目标:建立、测试和安装最后的系统活动活动u构造软件构件构造软件构件u验证与测试验证与测试u移植数据移植数据u准备用户文档准备用户文档u培训用户培训用户u安装系统安装系统北京航空航天大学软件学院北京航空航天大学软件学院 thbin15支持阶段支持阶段(Support Phase)目标:在系统初始安装后保持系统有目标:在系统初始安装后保持系统有效地运行效地运行活动活动u提供对最终用户的支持提供对最终用户的支持u维护和升级系统维护和升级系统北京航空航天大学软件学院北京航空航天大学软件学院 thbin16各阶段人员

9、配置情况各阶段人员配置情况北京航空航天大学软件学院北京航空航天大学软件学院 thbin17内容安排内容安排系统开发生命周期系统开发生命周期过程评价准则过程评价准则系统开发方法系统开发方法自动化工具和技术自动化工具和技术北京航空航天大学软件学院北京航空航天大学软件学院 thbin18从从SDLC到开发过程到开发过程SDLC定义了系统开发的五个阶段定义了系统开发的五个阶段u阶段并不一定是线性的阶段并不一定是线性的u可以按照合适的方式组织实际的过程可以按照合适的方式组织实际的过程系统开发过程系统开发过程u针对项目的实际情况,结合针对项目的实际情况,结合SDLC定义合适的定义合适的过程完成项目开发过程

10、完成项目开发u系统开发过程由关于系统的阶段、状态、方系统开发过程由关于系统的阶段、状态、方法、技术和开发、维护软件的人员以及相关法、技术和开发、维护软件的人员以及相关对象(计划、文档、模型、编码、测试、手对象(计划、文档、模型、编码、测试、手册等)组成册等)组成北京航空航天大学软件学院北京航空航天大学软件学院 thbin19以过程为核心组织软件工程以过程为核心组织软件工程技术技术人员人员产品产品客户客户需求需求业务业务条件条件开发环境开发环境北京航空航天大学软件学院北京航空航天大学软件学院 thbin20过程中的事件、阶段、活动和任务过程中的事件、阶段、活动和任务北京航空航天大学软件学院北京航

11、空航天大学软件学院 thbin21典型的软件系统开发过程典型的软件系统开发过程传统系统开发过程传统系统开发过程u1. 编码修正模型编码修正模型u2. 瀑布模型瀑布模型u3. 螺旋模型螺旋模型u4. 原型模型原型模型现代软件工程过程现代软件工程过程u5. Rational统一过程统一过程(RUP)u6. 敏捷过程敏捷过程(AP)u7. 微软解决方案微软解决方案(MSF)北京航空航天大学软件学院北京航空航天大学软件学院 thbin221. 编码修正模型编码修正模型编码修正模型编码修正模型 (Code and Fix)u从一个大致的想法开始工作,然后经过非正从一个大致的想法开始工作,然后经过非正规的

12、设计、编码、调试和测试方法,最后完规的设计、编码、调试和测试方法,最后完成工作成工作可能有可能没有的规范可能有可能没有的规范发布(可能)发布(可能)北京航空航天大学软件学院北京航空航天大学软件学院 thbin23细说编码修正模型细说编码修正模型优点优点u成本可能很低成本可能很低u只需要很少的专业知识,任何写过程序只需要很少的专业知识,任何写过程序的人都可以的人都可以u对于一些非常小的、开发完后就会很快对于一些非常小的、开发完后就会很快丢弃的软件可以采用丢弃的软件可以采用对于规模稍大的项目,采用这种模型对于规模稍大的项目,采用这种模型是很危险的是很危险的北京航空航天大学软件学院北京航空航天大学软

13、件学院 thbin242. 瀑布模型瀑布模型北京航空航天大学软件学院北京航空航天大学软件学院 thbin25细说瀑布模型细说瀑布模型瀑布模型瀑布模型u最早提出,所有过程模型的祖宗最早提出,所有过程模型的祖宗u项目从开始到结束按照一定的顺序执行项目从开始到结束按照一定的顺序执行u使用里程碑来界定一个阶段到另一阶段的转使用里程碑来界定一个阶段到另一阶段的转变变u文档驱动的,各个阶段不连续也不交叉文档驱动的,各个阶段不连续也不交叉主要问题主要问题u线性的、缺乏灵活性;每个阶段互相独立而线性的、缺乏灵活性;每个阶段互相独立而且不能回退且不能回退如:必须在项目开始前说明全部需求如:必须在项目开始前说明全

14、部需求北京航空航天大学软件学院北京航空航天大学软件学院 thbin263. 螺旋模型螺旋模型北京航空航天大学软件学院北京航空航天大学软件学院 thbin27细说螺旋模型细说螺旋模型特点特点u以风险为导向的生命期模型以风险为导向的生命期模型u从一个小范围的关键中心地带开始寻找风险从一个小范围的关键中心地带开始寻找风险因素,制定风险控制计划,并交付给下一步因素,制定风险控制计划,并交付给下一步骤,如此迭代,每次迭代将项目扩展到一个骤,如此迭代,每次迭代将项目扩展到一个更大的规模更大的规模优势优势u随着迭代的增加(成本的增加),风险程度随着迭代的增加(成本的增加),风险程度随之降低随之降低缺陷缺陷u

15、比较复杂,需要责任心,专注和管理方面的比较复杂,需要责任心,专注和管理方面的知识知识北京航空航天大学软件学院北京航空航天大学软件学院 thbin284. 原型模型原型模型北京航空航天大学软件学院北京航空航天大学软件学院 thbin29细说原型模型细说原型模型原型模型是一种解决需求的不确定性原型模型是一种解决需求的不确定性和可变性的好办法和可变性的好办法原型是项目系统中的一个方面或者多原型是项目系统中的一个方面或者多个方面的工作模型个方面的工作模型u抛弃型原型:用于试验某些概念,试验抛弃型原型:用于试验某些概念,试验完系统将无用处完系统将无用处u演进型原型:原型系统不断被开发和被演进型原型:原型

16、系统不断被开发和被修正,最终它变为一个真正的系统修正,最终它变为一个真正的系统北京航空航天大学软件学院北京航空航天大学软件学院 thbin30从另外的角度看待原型从另外的角度看待原型从中学到什么?从中学到什么?u学生经常会做一些软件作业,这些作业被称为原型学生经常会做一些软件作业,这些作业被称为原型u问题:这些原型和软件系统原型是否相同?问题:这些原型和软件系统原型是否相同?u作为一个原型必须:描述他们希望从中学到的东西,作为一个原型必须:描述他们希望从中学到的东西,规划原型评价的方法,报告从原型中真正学到的内容规划原型评价的方法,报告从原型中真正学到的内容u在不同的阶段,原型具有不同的作用在

17、不同的阶段,原型具有不同的作用原型起作用的程度原型起作用的程度u实物模型实物模型(Mock-ups)u仿真交互仿真交互u部分模型:水平,垂直(某些特性构造详细的原型)部分模型:水平,垂直(某些特性构造详细的原型)北京航空航天大学软件学院北京航空航天大学软件学院 thbin31练习:何时引入原型系统练习:何时引入原型系统公司的经理需要通过个人计算机上的一个系统来公司的经理需要通过个人计算机上的一个系统来访问管理信息。系统价格必须合适。很多人怀疑访问管理信息。系统价格必须合适。很多人怀疑是否经理真需要使用该系统是否经理真需要使用该系统u可行性研究阶段,采用实物模型的方法可行性研究阶段,采用实物模型

18、的方法支持客户销售人员通过电话回答有关客户询问汽支持客户销售人员通过电话回答有关客户询问汽车保险价格的系统车保险价格的系统u设计用户对话界面时设计用户对话界面时保险公司考虑实施一个基于保险公司考虑实施一个基于MS Access的电话销的电话销售系统,他们不知道售系统,他们不知道Access是否能够开发出相应是否能够开发出相应界面的系统并具备足够快的相应时间界面的系统并具备足够快的相应时间u方案设计阶段方案设计阶段北京航空航天大学软件学院北京航空航天大学软件学院 thbin325. Rational统一过程统一过程北京航空航天大学软件学院北京航空航天大学软件学院 thbin33Rational统

19、一过程统一过程Rational统一过程统一过程(Rational Unified Process, RUP)u是一种软件工程过程,它提供了如何在开发是一种软件工程过程,它提供了如何在开发组织中严格分配任务和职责的方法组织中严格分配任务和职责的方法u是一个过程产品是一个过程产品u有自己的过程框架有自己的过程框架u捕获了现代软件开发中的最佳实践捕获了现代软件开发中的最佳实践目标目标u按照预先制定的时间计划和经费预算,开发按照预先制定的时间计划和经费预算,开发出高质量的软件产品以满足最终用户的需求出高质量的软件产品以满足最终用户的需求北京航空航天大学软件学院北京航空航天大学软件学院 thbin34R

20、UP4个阶段个阶段9大工作流大工作流阶段阶段u初始初始Inception生命周期目标生命周期目标u精化精化Elaboration生命周期构架生命周期构架u构造构造Construction最初运作能力最初运作能力u移交移交(Transition)产品发布产品发布工作流工作流u业务建模业务建模u需求需求u分析与设计分析与设计u实现实现u测试测试u部署部署u配置和变更管理配置和变更管理u项目管理项目管理u环境环境北京航空航天大学软件学院北京航空航天大学软件学院 thbin35RUP中的中的6项最佳实践项最佳实践 北京航空航天大学软件学院北京航空航天大学软件学院 thbin36RUP三大特点三大特点R

21、UP三大特点三大特点u用例驱动用例驱动 (Use case driven)u以架构为中心以架构为中心 (Architecture-centric)u迭代和增量开发迭代和增量开发 (Iterative and incremental development)北京航空航天大学软件学院北京航空航天大学软件学院 thbin376. 敏捷过程敏捷过程(Agile Process)敏捷代表着有效和灵活敏捷代表着有效和灵活u那些轻型的、有效的方法即为敏捷方法那些轻型的、有效的方法即为敏捷方法u在重型方法(如在重型方法(如RUP)中,经常在一些不必)中,经常在一些不必要、重复的中间环节上浪费了太多的精力,要、

22、重复的中间环节上浪费了太多的精力,而敏捷则避免了这种浪费而敏捷则避免了这种浪费敏捷联盟宣言敏捷联盟宣言uIndividuals and interactions over processes and toolsuWorking software over comprehensive documentationuCustomer collaboration over contract negotiationuResponding to change over following a plan北京航空航天大学软件学院北京航空航天大学软件学院 thbin38极限编程极限编程u客户作为团队成员客户作为

23、团队成员u短交互周期短交互周期u验收测试验收测试u集体所有权集体所有权u可持续的开发速度可持续的开发速度u开放的工作空间开放的工作空间u计划游戏计划游戏u隐喻隐喻极限编程极限编程(eXtreme Programming, XP)是敏是敏捷方法中最著名的一个,它由一系列简单捷方法中最著名的一个,它由一系列简单却互相依赖的实践组成却互相依赖的实践组成北京航空航天大学软件学院北京航空航天大学软件学院 thbin39过程裁剪过程裁剪裁剪裁剪(Tailoring):每个项目自身特点:每个项目自身特点u这些过程标准只是一个通用的过程框架,这些过程标准只是一个通用的过程框架,需要根据实际情况裁剪需要根据实际

24、情况裁剪裁剪分类裁剪分类u过程裁剪、阶段裁剪、文档过程裁剪、阶段裁剪、文档/产品产品/工作工作产品裁剪产品裁剪标准点标准点u项目规模、开发过程(生命周期)、项项目规模、开发过程(生命周期)、项目类型目类型北京航空航天大学软件学院北京航空航天大学软件学院 thbin40案例:选择合适的过程模型案例:选择合适的过程模型Giga-Safe公司的区域代理商们吵吵嚷嚷地想要公司的区域代理商们吵吵嚷嚷地想要升级升级Giga-Quote 1.0,改正错误并且修改一些令人厌,改正错误并且修改一些令人厌烦的用户界面上的小问题。在部门经理烦的用户界面上的小问题。在部门经理Randy的建议的建议下,下,Giga-Q

25、uote 1.0项目后期被调离的项目后期被调离的Bill又重新当上又重新当上了了Giga-Quote 1.1项目的项目经理。项目的项目经理。“这些就是你的任务。这些就是你的任务。”Randy说。说。“上次的进上次的进度安排出现了很多问题,所以这次你必须按全力以赴度安排出现了很多问题,所以这次你必须按全力以赴的速度来组织项目。的速度来组织项目。原型法原型法是速度最快的方法,让你是速度最快的方法,让你的团队采用这种方法。的团队采用这种方法。”Bill想想觉得挺不错,过几天想想觉得挺不错,过几天开会时,他告诉大家要采用原型法。开会时,他告诉大家要采用原型法。北京航空航天大学软件学院北京航空航天大学软

26、件学院 thbin41案例案例 (续续1)Mike是项目的技术负责人,他觉得很惊讶。是项目的技术负责人,他觉得很惊讶。“Bill,我不同意你的想法,我不同意你的想法”,他说道,他说道,“我们有我们有6个个星期来修改一系列的错误,而且只星期来修改一系列的错误,而且只是用户界面作一些是用户界面作一些小的改变。你用原型干什么呢?小的改变。你用原型干什么呢?”“我们需要采用一个原型来提高项目开发速度我们需要采用一个原型来提高项目开发速度,” Bill暴躁地说。暴躁地说。“原型法是最新、最快的方法,这就足原型法是最新、最快的方法,这就足为什么我要求你采用的原因为什么我要求你采用的原因。还有什么问题吗。还

27、有什么问题吗?”“好吧,好吧,”Mike说道,说道,“如果那就是你想要的,如果那就是你想要的,我们会去开发一个原型我们会去开发一个原型。”北京航空航天大学软件学院北京航空航天大学软件学院 thbin42案例案例(续续2)Mike和另外一个开发人员,和另外一个开发人员,Sue,开始做原型。,开始做原型。因为和他们做的现有系统几乎一样,没几天就做出了因为和他们做的现有系统几乎一样,没几天就做出了整个系统的仿制品整个系统的仿制品。在第在第2周一上班,他们给代理商经理周一上班,他们给代理商经理Jack演示了演示了原型。原型。“该死!我怎么能告诉我的区域代理们要用这该死!我怎么能告诉我的区域代理们要用这

28、个东西!个东西!”Jack大声叫道。大声叫道。“和现在的程序相比几乎和现在的程序相比几乎没有什么改进!我的区域代理们只不过想要更好用,没有什么改进!我的区域代理们只不过想要更好用,我对一些新的报表有点想法而已。就在这儿,我给你我对一些新的报表有点想法而已。就在这儿,我给你们看看。们看看。”Mike和和Sue耐心地听着,开完会,耐心地听着,开完会,Mike 找找到了到了Bill。北京航空航天大学软件学院北京航空航天大学软件学院 thbin43案例案例(续续3)“我们给我们给Jack演示了原型。他想增加一些新的演示了原型。他想增加一些新的报表,而且很坚决。可是我们的工作计划都安排满报表,而且很坚决

29、。可是我们的工作计划都安排满了了。”“我看不成问题。我看不成问题。”Bill说。说。“他是经理。如果他是经理。如果他说要这些报表,他们就肯定是需要的。你们这些家他说要这些报表,他们就肯定是需要的。你们这些家伙该做的就是想想办法怎么给他们按时做出来伙该做的就是想想办法怎么给他们按时做出来。”“我试试看吧,我试试看吧,”Mike说,说,“但是我得告诉你但是我得告诉你的是,如果增加这些报表,我们按时完成任务的机会的是,如果增加这些报表,我们按时完成任务的机会只有只有1。”“好吧,你们反正得做,好吧,你们反正得做,”Bill说,说,“也许现在也许现在采用了原型,工作进展会比你预期的要快采用了原型,工作

30、进展会比你预期的要快。”北京航空航天大学软件学院北京航空航天大学软件学院 thbin44案例案例(续续4)两天后,两天后,Jack去了去了Mike的办公室。的办公室。“我看了那我看了那个原型,我想我们还得增加一些数据录入窗口。我昨个原型,我想我们还得增加一些数据录入窗口。我昨天在每月的地区代理例会上给我们的一些代理看了你天在每月的地区代理例会上给我们的一些代理看了你们做的原型。他们说有些想法得和你谈谈。我给了他们做的原型。他们说有些想法得和你谈谈。我给了他们你的电话号码,希望你别介意。们你的电话号码,希望你别介意。”后来,后来,Mike问问Bill是否该和是否该和Jack谈谈变更的问题,谈谈变

31、更的问题,但是但是Bill说:说:“不用。不用。”第二天,第二天,Mike接到了两个参加了地区代理例会接到了两个参加了地区代理例会的代理的电话。他们都想再调整一下系统。接下来的的代理的电话。他们都想再调整一下系统。接下来的2星期里,他每天接到电话,需要修改的内容累积了一星期里,他每天接到电话,需要修改的内容累积了一大堆。大堆。北京航空航天大学软件学院北京航空航天大学软件学院 thbin45案例案例(续续5)他们的项目只有他们的项目只有6星期的时间,在第星期的时间,在第4个星期末,个星期末,Mike和和Sue估计他们还有估计他们还有6星期的活,但却要在星期的活,但却要在2星期星期内完成。内完成。

32、Mike又去找了又去找了Bill。“我对你很失望,我对你很失望,”Bill说,说,“我答应过我答应过Jack和那些代理会按他们的要求进行和那些代理会按他们的要求进行修改。看来你修改。看来你没有很好地利用原型模型没有很好地利用原型模型,这下麻烦就,这下麻烦就大了。大了。”“麻烦早就有了麻烦早就有了”,Mike 这么想,这么想,“只是没想到只是没想到竟会落到我的头上。竟会落到我的头上。”但是但是Bill还是固执己见。还是固执己见。北京航空航天大学软件学院北京航空航天大学软件学院 thbin46案例案例(续续6)在第在第8个星期末,个星期末,Bill开始抱怨开始抱怨Mike和和Sue工作工作不够努力

33、。到了第不够努力。到了第10个星期末,个星期末,Bill开始每天两次去他开始每天两次去他们的办公室检查进展情况。快到第们的办公室检查进展情况。快到第12个星期末的时候,个星期末的时候,代理们开始抱怨。于是,代理们开始抱怨。于是,Bill说,说,“我们得拿点什么东我们得拿点什么东西出来了,就把你们现在已经完成的部分交付给用户西出来了,就把你们现在已经完成的部分交付给用户吧。吧。”因为新的报表和新的数据录入窗口都没有完成,因为新的报表和新的数据录入窗口都没有完成,Mike和和Sue中断了开发编码工作,简单地修改了一些中断了开发编码工作,简单地修改了一些原来计划中要修改的主要错误和用户界面上一些粗糙

34、原来计划中要修改的主要错误和用户界面上一些粗糙的地方,就交付了成果。但是他们的地方,就交付了成果。但是他们原计划原计划6个星期的时个星期的时间变成了间变成了12个星期个星期。北京航空航天大学软件学院北京航空航天大学软件学院 thbin47内容安排内容安排系统开发生命周期系统开发生命周期系统开发过程系统开发过程系统开发方法系统开发方法自动化工具和技术自动化工具和技术北京航空航天大学软件学院北京航空航天大学软件学院 thbin48软件过程能力评价软件过程能力评价-CMMICMM集成集成u2005年年12月月31日起,美国软件工程研究院日起,美国软件工程研究院(SEI)宣布不再维护)宣布不再维护SW

35、-CMM(软件(软件CMM2.0 版草案),转为维护版草案),转为维护CMMI(CMM集成集成)CMMI与与CMM的主要区别:的主要区别:uCMMI模型中出现了连续模型模型中出现了连续模型uCMMI模型中比模型中比SW-CMM进一步强化了对需进一步强化了对需求的重视求的重视uCMMI模型对工程活动进行了一定的强化模型对工程活动进行了一定的强化uCMMI中还强调了风险管理中还强调了风险管理北京航空航天大学软件学院北京航空航天大学软件学院 thbin49CMMI过程域级别过程域级别对于连续模型,每一个过程区域都具对于连续模型,每一个过程区域都具有有6个级别个级别u0-未完成级未完成级(原始态原始态

36、)u1-已执行级已执行级(可完成由输入到输出的生产可完成由输入到输出的生产)u2-已管理级已管理级(过程管理制度化过程管理制度化)u3-已定义级已定义级(过程定义制度化过程定义制度化)u4-量化管理级量化管理级(量化管理制度化量化管理制度化)u5-优化级优化级(过程优化过程优化)北京航空航天大学软件学院北京航空航天大学软件学院 thbin50CMMI成熟度级别成熟度级别CMMI的阶段模型中,划分了的阶段模型中,划分了5个成个成熟度级别熟度级别(与与CMM相同相同)u1-初始级初始级u2-已管理级已管理级u3-已定义级已定义级u4-量化管理级量化管理级u5-优化级优化级北京航空航天大学软件学院北

37、京航空航天大学软件学院 thbin51系统开发质量系统开发质量北京航空航天大学软件学院北京航空航天大学软件学院 thbin52内容安排内容安排系统开发生命周期系统开发生命周期系统开发过程系统开发过程过程评价准则过程评价准则自动化工具和技术自动化工具和技术北京航空航天大学软件学院北京航空航天大学软件学院 thbin53系统开发方法系统开发方法系统开发方法为系统开发提供了系统开发方法为系统开发提供了 “如何做如何做” 的技术的技术三类典型的开发方法三类典型的开发方法u结构化开发方法结构化开发方法u面向对象开发方法面向对象开发方法u形式化开发方法形式化开发方法北京航空航天大学软件学院北京航空航天大学

38、软件学院 thbin54过程与方法过程与方法过程与方法过程与方法u过程是一种过程是一种“战术战术”,而方法则是基本,而方法则是基本的的“作战技能作战技能”u是一种多对多的关系,没有严格的对应,是一种多对多的关系,没有严格的对应,但有些最佳实践但有些最佳实践u过程只是一个模板,每个团队都有自己过程只是一个模板,每个团队都有自己的特点,结合不同的方法定义自己的过的特点,结合不同的方法定义自己的过程程北京航空航天大学软件学院北京航空航天大学软件学院 thbin55结构化开发方法结构化开发方法一种传统的开发方法一种传统的开发方法使用结构化编程、结构化设计和结构使用结构化编程、结构化设计和结构化分析技术

39、的系统开发方法化分析技术的系统开发方法u20世纪世纪60年代:年代:结构化编程结构化编程(首次通过(首次通过工程化方法来提高计算机编程的质量)工程化方法来提高计算机编程的质量)u20世纪世纪70年代:年代:结构化设计结构化设计(把分散的(把分散的程序组合为更加复杂的信息系统)程序组合为更加复杂的信息系统)u20世纪世纪80年代:年代:结构化分析结构化分析(开发人员(开发人员在设计程序之前定义明确的需求)在设计程序之前定义明确的需求)北京航空航天大学软件学院北京航空航天大学软件学院 thbin56结构化编程结构化编程结构化编程结构化编程(Structured Programming, SP)u提

40、高程序质量提高程序质量u允许其他程序员可以非常容易地阅读和允许其他程序员可以非常容易地阅读和修改程序修改程序u每个程序模块都有一个开始和一个结束每个程序模块都有一个开始和一个结束u程序执行过程中的每一步都由三种程序程序执行过程中的每一步都由三种程序结构之一组成:结构之一组成:u自顶向下自顶向下(模块化模块化)程序设计:把更复杂程序设计:把更复杂的程序分解为程序模块的层次图的程序分解为程序模块的层次图北京航空航天大学软件学院北京航空航天大学软件学院 thbin57结构化设计结构化设计结构化设计结构化设计(Structured Design, SD)是一项是一项技术,它为确定下列事物提供指导:技术

41、,它为确定下列事物提供指导:u程序集的组成程序集的组成u每一个程序应该实现哪些功能每一个程序应该实现哪些功能u如何把这些程序组织成不同层次如何把这些程序组织成不同层次利用结构图利用结构图(Structure chart, SC)描述程序描述程序的模块层次关系的模块层次关系结构化设计基本原则结构化设计基本原则u低耦合:模块间尽可能保持相对独立低耦合:模块间尽可能保持相对独立u高内聚:每一个模块实现一件清晰的任务高内聚:每一个模块实现一件清晰的任务北京航空航天大学软件学院北京航空航天大学软件学院 thbin58SC图示图示北京航空航天大学软件学院北京航空航天大学软件学院 thbin59流程图的基本

42、要素流程图的基本要素北京航空航天大学软件学院北京航空航天大学软件学院 thbin60结构化设计中的结构图结构化设计中的结构图北京航空航天大学软件学院北京航空航天大学软件学院 thbin61结构化分析结构化分析结构化分析结构化分析(Structured Analysis)是一项技术,它是一项技术,它帮助开发人员定义:帮助开发人员定义:u系统需要完成的功能系统需要完成的功能(功能需求功能需求)u系统需要存储和使用的数据系统需要存储和使用的数据(数据需求数据需求)u系统需要的输入和输出系统需要的输入和输出u如何这些功能结合在一起完成任务如何这些功能结合在一起完成任务结构化分析过程结构化分析过程u数据

43、建模:实体关系图数据建模:实体关系图ERD(定义数据对象、属性和(定义数据对象、属性和关系)关系)u功能建模:数据流图功能建模:数据流图DFD 、数据字典、数据字典DD(指明数据(指明数据如何在系统内被变换)如何在系统内被变换)u行为建模:状态行为建模:状态-迁移图迁移图STD、控制流图、控制流图CFD(描述事(描述事件的影响)件的影响)北京航空航天大学软件学院北京航空航天大学软件学院 thbin62ER图中的元素图中的元素描述数据实体(描述数据实体(Entity)及实体之间的关及实体之间的关系(系(Relationship)X方框:实体对象方框:实体对象 连线:关系连线:关系Relation

44、ship短竖线:基数短竖线:基数 1多线:基数多线:基数 N圆圈:参与度可为圆圈:参与度可为R菱形:关系对象菱形:关系对象关系之间的关系之间的“或或”关系之间的关系之间的“与与”北京航空航天大学软件学院北京航空航天大学软件学院 thbin63结构化分析中的实体关系图结构化分析中的实体关系图北京航空航天大学软件学院北京航空航天大学软件学院 thbin64数据流图数据流图从数据流动和变换的角度,以图形的方式从数据流动和变换的角度,以图形的方式刻画数据从输入到输出的流动变换过程刻画数据从输入到输出的流动变换过程北京航空航天大学软件学院北京航空航天大学软件学院 thbin65结构化分析中的数据流图结构

45、化分析中的数据流图北京航空航天大学软件学院北京航空航天大学软件学院 thbin66案例案例2-2:结构化分析设计:结构化分析设计北京航空航天大学软件学院北京航空航天大学软件学院 thbin67由由DFD开始分析开始分析北京航空航天大学软件学院北京航空航天大学软件学院 thbin68分层细化分层细化DFD北京航空航天大学软件学院北京航空航天大学软件学院 thbin69分层细化分层细化DFD:查询和录入:查询和录入北京航空航天大学软件学院北京航空航天大学软件学院 thbin70分层细化分层细化DFD:统计和计算:统计和计算北京航空航天大学软件学院北京航空航天大学软件学院 thbin71定义数据字典

46、定义数据字典-数据流数据流1)旅客基本信息旅客基本信息售票员售票员数据变换数据变换“录入旅客基本信息录入旅客基本信息”姓名姓名+身份证号码身份证号码+航班号航班号+票价票价+到达港到达港+保保险金额险金额2)各航班售票信息各航班售票信息数据变换数据变换“统计各航班售票信息统计各航班售票信息 ”数据变换数据变换“2.2格式化格式化”航班号航班号+座位数座位数+售出机票数售出机票数北京航空航天大学软件学院北京航空航天大学软件学院 thbin72定义数据字典定义数据字典-数据存储数据存储1) 旅客基本信息旅客基本信息姓名姓名+身份证号码身份证号码+航班号航班号+票价票价+到达港到达港+保险金额保险金

47、额按售票先后顺序按售票先后顺序2) 机票销售信息机票销售信息航班号航班号+座位数座位数+售出机票数售出机票数按航班号、离港时间的先后顺序排序按航班号、离港时间的先后顺序排序北京航空航天大学软件学院北京航空航天大学软件学院 thbin73定义数据字典定义数据字典-数据项数据项1) :姓名姓名类型:类型:字符串字符串长度:长度:202) 身份证身份证类型:类型:字符串字符串长度:长度:18取值:取值:1-17位为数字,位为数字,18位为校验位,取值为位为校验位,取值为0-9、X3) 航班号航班号类型:类型:字符串字符串长度:长度:6取值:取值:前两位汉语拼音字母后四位数字前两位汉语拼音字母后四位数

48、字北京航空航天大学软件学院北京航空航天大学软件学院 thbin74定义数据字典定义数据字典-数据变换数据变换1) 录入保险金额录入保险金额1.4激活条件:激活条件:接到服务员输入的旅客信息和保险级别接到服务员输入的旅客信息和保险级别保险级别保险级别保险金额保险金额保险服务员根据每位旅客的要求,输入保险服务员根据每位旅客的要求,输入保险级别,系统按照保险金额规定的标准,录入旅保险级别,系统按照保险金额规定的标准,录入旅客保险金额客保险金额北京航空航天大学软件学院北京航空航天大学软件学院 thbin75评审评审DFD,找出变换中心,找出变换中心北京航空航天大学软件学院北京航空航天大学软件学院 th

49、bin76根据变换中心设计顶层、一层根据变换中心设计顶层、一层SC北京航空航天大学软件学院北京航空航天大学软件学院 thbin77设计下层设计下层SC北京航空航天大学软件学院北京航空航天大学软件学院 thbin78详细设计详细设计(以录入保险信息为例以录入保险信息为例)北京航空航天大学软件学院北京航空航天大学软件学院 thbin79接口设计接口设计-定义模块间的接口定义模块间的接口/获取保险信息获取保险信息/获取保险级别获取保险级别/获取保险标准获取保险标准/录入保险信息录入保险信息北京航空航天大学软件学院北京航空航天大学软件学院 thbin80数据设计数据设计-定义程序级数据结构定义程序级数

50、据结构/个人保险信息个人保险信息/个人基本保险信息个人基本保险信息北京航空航天大学软件学院北京航空航天大学软件学院 thbin81过程设计过程设计-获取保险信息算法获取保险信息算法/获取保险信息获取保险信息北京航空航天大学软件学院北京航空航天大学软件学院 thbin82算法表述算法表述北京航空航天大学软件学院北京航空航天大学软件学院 thbin83面向对象的开发方法面向对象的开发方法面向对象方法是一种把面向对象的思面向对象方法是一种把面向对象的思想运用于软件开发过程,指导开发活想运用于软件开发过程,指导开发活动的系统方法,包括分析、设计和实动的系统方法,包括分析、设计和实现等活动现等活动面向对

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(信息系统开发基础课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|