OOSAD_Chapter01_第1页
OOSAD_Chapter01_第2页
OOSAD_Chapter01_第3页
OOSAD_Chapter01_第4页
OOSAD_Chapter01_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、1Chapter 1:The Object-Oriented Systems Development EnvironmentObject-Oriented Systems Analysis and DesignJoey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. HofferChapter 1河北农业大学信息学院河北农业大学信息学院2 2教学用书教学用书n【原原 书书 名名】 Object-Oriented System Analysis and Design -2En【原出版社原出版社】 Prentice Hall/Pear

2、son n【作作 者者】(美)(美)Joey F.George,Dinesh Batra,Joseph S.Valacich,Jeffrey A.Hoffer n【出出 版版 社社】 清华大学出版社清华大学出版社 n【出版日期出版日期】 2008 年年1月月n【ISDB】 978-7-302-16371-8n【页页 码码】 505 【版版 次次】1-1 Chapter 1河北农业大学信息学院河北农业大学信息学院3 3Chapter ObjectivesnAfter studying this chapter you should be able to:n定义信息系统分析与设计;定义信息系统分析

3、与设计;n解释系统的基本特性;解释系统的基本特性;n描述描述 the information systems development cycle (SDC).n描述信息系统的三种类型描述信息系统的三种类型n事务处理系统事务处理系统 TPS,管理信息系统管理信息系统 MIS, 决策支持系统决策支持系统DSS.n描述信息系统开发中系统分析员的组织角色描述信息系统开发中系统分析员的组织角色.n叙述系统开发方法理论的发展历程叙述系统开发方法理论的发展历程.Chapter 1河北农业大学信息学院河北农业大学信息学院4 4SDLCChapter 1河北农业大学信息学院河北农业大学信息学院5 51.1 Wh

4、at Is Systems Analysis and Design?nThe process of implementing and operating an information system(开发和维护系统的过程);开发和维护系统的过程);n目的目的n改善组织的系统,典型的方法是应用能够帮助员工更轻改善组织的系统,典型的方法是应用能够帮助员工更轻松更有效的完成关键业务的软件;松更有效的完成关键业务的软件;n系统分析员系统分析员n主要负责分析和设计信息系统的组织角色;开发软件中主要负责分析和设计信息系统的组织角色;开发软件中处于核心地位;处于核心地位;Chapter 1河北农业大学信息学院

5、河北农业大学信息学院6 61.2 系统分析与设计:核心概念系统分析与设计:核心概念n应用软件应用软件n即在组织中为处理数据和支持用户而设计的软件。包括即在组织中为处理数据和支持用户而设计的软件。包括电子表格、文字处理、工资系统和库存管理系统等。电子表格、文字处理、工资系统和库存管理系统等。n目标:数据转换为信息;目标:数据转换为信息;n可以购买现成软件或自行开发;可以购买现成软件或自行开发;Chapter 1河北农业大学信息学院河北农业大学信息学院7 7核心概念核心概念n信息系统还包括:信息系统还包括:n操作应用软件所需的硬件和系统软件;操作应用软件所需的硬件和系统软件;n由系统分析员制定的文

6、档和培训材料;由系统分析员制定的文档和培训材料;n与系统有关的特定岗位;与系统有关的特定岗位;n控制与安全机制;控制与安全机制;n用户;用户;Chapter 1河北农业大学信息学院河北农业大学信息学院8 8核心概念核心概念n方法学方法学n帮助开发最终产品(信息系统)的一系列逐步的方法。帮助开发最终产品(信息系统)的一系列逐步的方法。如调研、会见、组织等;如调研、会见、组织等;n技术技术n通过使用合适的技术,分析人员可以确保他们的工作或通过使用合适的技术,分析人员可以确保他们的工作或任务的顺利完成;任务的顺利完成;-UML, OOSAD, ORM, POJO, etc.n工具工具n是各种能让特定

7、技术更容易实现的计算机程序,如是各种能让特定技术更容易实现的计算机程序,如CASE工具;工具;n对于复杂的、大型的项目,如果开发组没有合适的工具,对于复杂的、大型的项目,如果开发组没有合适的工具,就跟使用手工工具建设一座摩天大楼一样;就跟使用手工工具建设一座摩天大楼一样;Chapter 1河北农业大学信息学院河北农业大学信息学院9 9核心概念核心概念n上述三种元素协同工作,形成了系统分析和设计的上述三种元素协同工作,形成了系统分析和设计的组织方法。也是本课所要学习的核心。组织方法。也是本课所要学习的核心。Chapter 1河北农业大学信息学院河北农业大学信息学院10101.3 系统系统n用来实

8、现业务功能、有确定边界、为某项用途工作用来实现业务功能、有确定边界、为某项用途工作的相关程序形成的组的相关程序形成的组 。n系统包含于一个环境中,边界将系统与环境分隔。系统包含于一个环境中,边界将系统与环境分隔。系统从环境获得输入,然后处理输入再将结果输出系统从环境获得输入,然后处理输入再将结果输出回环境中去。回环境中去。Chapter 1河北农业大学信息学院河北农业大学信息学院1111系统特征系统特征Chapter 1河北农业大学信息学院河北农业大学信息学院1212系统特征系统特征n系统构件:组成系统的一个或多个部分的组合,也称为子系统构件:组成系统的一个或多个部分的组合,也称为子系统。系统

9、。n相互关系相互关系 :系统的一个部分与一个或多个其他系统部分的:系统的一个部分与一个或多个其他系统部分的依赖关系。依赖关系。n边界边界 :划分系统的内部和外部的界线。:划分系统的内部和外部的界线。n输入:输入: data from environment to system.n输出:输出: data from system to environment.n环境:系统的边界之外所有影响该系统的事物。环境:系统的边界之外所有影响该系统的事物。n界面:系统与其环境相接的点。系统对外所表现的行为接界面:系统与其环境相接的点。系统对外所表现的行为接口口n目的:系统存在的理由,即系统的功能或整体目标。目

10、的:系统存在的理由,即系统的功能或整体目标。n约束:系统功能的限制(业务规则)。约束:系统功能的限制(业务规则)。Chapter 1河北农业大学信息学院河北农业大学信息学院1313作为系统的大学作为系统的大学Chapter 1河北农业大学信息学院河北农业大学信息学院1414重要的系统概念重要的系统概念nDecomposition分解分解 n将系统分解为更小要素的过程,这些要素可能是子系统,将系统分解为更小要素的过程,这些要素可能是子系统,也可能是最终单元;也可能是最终单元;n分解对理解系统有何帮助:分解对理解系统有何帮助:n将系统分解为小的、可管理的和可理解的子系统;将系统分解为小的、可管理的

11、和可理解的子系统;n在一段时间将精力集中于一个区域(子系统);在一段时间将精力集中于一个区域(子系统);n专注于特定用户(群)的系统部分,而不让不必要的细节专注于特定用户(群)的系统部分,而不让不必要的细节干扰用户;干扰用户;n在独立的时间建立不同的系统部分,并获取不同分析员的在独立的时间建立不同的系统部分,并获取不同分析员的帮助;帮助;n分解的途径不同:功能、职责、数据等(举例下图);分解的途径不同:功能、职责、数据等(举例下图);Chapter 1河北农业大学信息学院河北农业大学信息学院1515分解分解音响系统音响系统Chapter 1河北农业大学信息学院河北农业大学信息学院1616重要的

12、系统概念重要的系统概念nModularity (模块)模块)n分解的直接后果,是指将一个系统划分为更小的快或模块;分解的直接后果,是指将一个系统划分为更小的快或模块;n模块可以更简单的表示系统的某一部分;模块可以更简单的表示系统的某一部分;n模块使系统更容易被理解并能轻松的重新设计和构建;模块使系统更容易被理解并能轻松的重新设计和构建;n将逻辑上相关的类和对象放到一个模块中,模块充当一个描述将逻辑上相关的类和对象放到一个模块中,模块充当一个描述逻辑设计的类和对象的物理容器。逻辑设计的类和对象的物理容器。n如在如在JAVA中,为了控制系统模型的复杂性,引入了包中,为了控制系统模型的复杂性,引入了

13、包(Package)的概念。使用包,使模型具有不同的抽象层次,的概念。使用包,使模型具有不同的抽象层次,具有不同粗粒度。具有不同粗粒度。Chapter 1河北农业大学信息学院河北农业大学信息学院1717重要的系统概念重要的系统概念nCoupling(耦合)耦合)n 子系统间的相互依赖;子系统间的相互依赖;n低耦合,降低彼此的依赖性,减少变化带来的低耦合,降低彼此的依赖性,减少变化带来的 影响,提影响,提高重用性;高重用性;n高耦合的缺点:高耦合的缺点:n由于相关部分的变化而导致本体的被迫变化;由于相关部分的变化而导致本体的被迫变化;n难以单独的理解;难以单独的理解;n由于高耦合的部分需要它所依

14、赖的其他部分,因此很由于高耦合的部分需要它所依赖的其他部分,因此很难被重用;难被重用;Chapter 1河北农业大学信息学院河北农业大学信息学院1818重要的系统概念重要的系统概念nCohesion(内聚)内聚)n子系统仅实现单一功能;子系统仅实现单一功能;n内聚(功能内聚)是对元素职责的相关性和集中度的度内聚(功能内聚)是对元素职责的相关性和集中度的度量;量;n如果元素具有高度的职责,而且没有做过多的工作,那如果元素具有高度的职责,而且没有做过多的工作,那么元素具有高内聚性;么元素具有高内聚性;n内聚和耦合:软件工程中的阴和阳。高内聚和低耦合其内聚和耦合:软件工程中的阴和阳。高内聚和低耦合其

15、实是一对矛盾的关系,通常应该在层次性上作出折衷。实是一对矛盾的关系,通常应该在层次性上作出折衷。n如:模块内子程序(下一个层次上)应共享数据(有一如:模块内子程序(下一个层次上)应共享数据(有一定的耦合度),而减少全局变量能降低子程序见的耦合定的耦合度),而减少全局变量能降低子程序见的耦合度。度。Chapter 1河北农业大学信息学院河北农业大学信息学院1919课堂讨论课堂讨论n以河北农大为例讨论作为一个系统的特征。以河北农大为例讨论作为一个系统的特征。n以自己熟系的家电(以自己熟系的家电(MP3、音响、音响、computer、car)等事务等事务为例,讨论上述系统概念的具体体现。为例,讨论上

16、述系统概念的具体体现。Chapter 1河北农业大学信息学院河北农业大学信息学院20201.4 系统分析与设计系统分析与设计n信息系统开发分为信息系统开发分为4个步骤:个步骤:n项目管理与计划项目管理与计划n系统分析系统分析n系统设计系统设计n系统实现与运转系统实现与运转Chapter 1河北农业大学信息学院河北农业大学信息学院2121项目管理与计划项目管理与计划n系统开发的第一步,有两个主要活动:系统开发的第一步,有两个主要活动:n首先,为新的或增强的系统定义需求;系统分析员按优首先,为新的或增强的系统定义需求;系统分析员按优先级组织需求并将其转化为给先级组织需求并将其转化为给IS部门的一个

17、书面计划;部门的一个书面计划;审批部门(委员会)进行可行性研究来测定系统在的经审批部门(委员会)进行可行性研究来测定系统在的经济和组织方面的影响;济和组织方面的影响;n其次,调查系统并研究系统的作用域;编制项目计划其次,调查系统并研究系统的作用域;编制项目计划(执行该基准项目计划所需的时间和资源);再次提交(执行该基准项目计划所需的时间和资源);再次提交给组织的管理层。给组织的管理层。Chapter 1河北农业大学信息学院河北农业大学信息学院2222系统分析系统分析n关注关注“做什么做什么”,主要内容如下:,主要内容如下:n首先,确定系统的需求(确定用户想从计划的系统中得到首先,确定系统的需求

18、(确定用户想从计划的系统中得到些什么);些什么);n其次,研究需求,根据它们之间的相互关系将它们组织起其次,研究需求,根据它们之间的相互关系将它们组织起来,删除冗余,并将需求结构化(用来,删除冗余,并将需求结构化(用UML分析模型来表分析模型来表示需求)示需求);n最后,生成候选初始设计方案以满足需求,并提交审查。最后,生成候选初始设计方案以满足需求,并提交审查。n补充补充n可以使用更小的可管理和分析单元,称为用例。用例可以可以使用更小的可管理和分析单元,称为用例。用例可以描述各种条件下的系统行为或功能;描述各种条件下的系统行为或功能;Chapter 1河北农业大学信息学院河北农业大学信息学院

19、2323系统设计系统设计n关注关注“怎么做怎么做”,将分析阶段产生的建议解决方案转,将分析阶段产生的建议解决方案转化为详细的逻辑系统说明书,再转化为物理的系统说化为详细的逻辑系统说明书,再转化为物理的系统说明书。主要内容:明书。主要内容:n逻辑设计逻辑设计n 不受任何特定硬件和系统软件平台的束缚;不受任何特定硬件和系统软件平台的束缚;n与分析类似,逻辑设计关注系统的业务方面,但是在细节与分析类似,逻辑设计关注系统的业务方面,但是在细节程度上与分析不同。程度上与分析不同。n物理设计物理设计n确定编程语言、数据库系统、硬件平台、操作系统和网络确定编程语言、数据库系统、硬件平台、操作系统和网络环境;

20、环境;n确定在组织内外容易利用的组件,重构或外包等;确定在组织内外容易利用的组件,重构或外包等;n最终,以图示或书面报告的形式生成物理系统规格报告,最终,以图示或书面报告的形式生成物理系统规格报告,程序员根据该规格进行编程。程序员根据该规格进行编程。Chapter 1河北农业大学信息学院河北农业大学信息学院2424n将系统说明书变成一个运行的系统,经过测试后投将系统说明书变成一个运行的系统,经过测试后投入使用。主要内容:入使用。主要内容:n编码编码n程序员编写组成系统的程序,尽量重用原有组件;程序员编写组成系统的程序,尽量重用原有组件;n测试测试n程序员和分析员独立的测试程序和整个系统以寻找和

21、程序员和分析员独立的测试程序和整个系统以寻找和修正错误;修正错误;n安装安装n系统被安装(或加载)到已经存在的或新的硬件上;系统被安装(或加载)到已经存在的或新的硬件上;n最初的用户支持最初的用户支持n确定文档资料确定文档资料n培训计划培训计划n对系统当前用户的帮助对系统当前用户的帮助系统实现与运转系统实现与运转Chapter 1河北农业大学信息学院河北农业大学信息学院2525系统实现与运转系统实现与运转n运转运转n根据用户要求进行修改,并更改系统以反映变更业务根据用户要求进行修改,并更改系统以反映变更业务的情况;的情况;n这些升级和改良工作被认为是系统维护的一部分这些升级和改良工作被认为是系

22、统维护的一部分。n当出现下述情况将开发新的系统当出现下述情况将开发新的系统n系统不再像期待的那样执行任务系统不再像期待的那样执行任务n维护系统的费用昂贵维护系统的费用昂贵n组织需求发生重大变化组织需求发生重大变化Chapter 1河北农业大学信息学院河北农业大学信息学院26261.5 信息系统类型信息系统类型n信息系统类型信息系统类型n事务处理系统事务处理系统 Transaction Processing System (TPS)n管理信息系统管理信息系统 Management Information System (MIS)n决策支持系统决策支持系统 Decision Support Sys

23、tem (DSS)n任务任务n系统分析员要在给定的情况下确定哪种系统能最好的解系统分析员要在给定的情况下确定哪种系统能最好的解决组织的问题或带来的机会;决组织的问题或带来的机会;n不同类型的系统的开发可能需要不同的方法、技术和工不同类型的系统的开发可能需要不同的方法、技术和工具;具;Chapter 1河北农业大学信息学院河北农业大学信息学院2727信息系统类型信息系统类型Chapter 1河北农业大学信息学院河北农业大学信息学院2828TPSn定义定义n将处理业务活动或事务数据的工作自动化。将处理业务活动或事务数据的工作自动化。n例子:银行例子:银行TPS捕获客户账户的存款和取款数据;捕获客户

24、账户的存款和取款数据;nTPS开发的目标开发的目标n改善事务处理过程,通过提高系统的速度、提高工人生改善事务处理过程,通过提高系统的速度、提高工人生产率、提高效率和精度,将其与其他的组织信息系统集产率、提高效率和精度,将其与其他的组织信息系统集成、改善客户服务或提供以前不能获取的信息。成、改善客户服务或提供以前不能获取的信息。Chapter 1河北农业大学信息学院河北农业大学信息学院2929MISn定义定义n从从TPS获得可用的原始数据并将之转换为有意义的、综合的形式。获得可用的原始数据并将之转换为有意义的、综合的形式。n开发开发MIS需要深入的了解管理者需要什么类型的信息,以及他们在需要深入

25、的了解管理者需要什么类型的信息,以及他们在工作中如何使用这些信息。同时,要对工作中如何使用这些信息。同时,要对MIS系统所用到的数据系统所用到的数据(TPS)有全面深入的了解。有全面深入的了解。n由于需要从各个子系统中获得数据,因此在构建由于需要从各个子系统中获得数据,因此在构建MIS过程中建立全过程中建立全面而精确的数据模型是开发面而精确的数据模型是开发MIS的根本要求。的根本要求。n如:商品销售中畅销、滞销商品的确定;如:商品销售中畅销、滞销商品的确定;n目标目标n provide the information that helps managers in their jobsChapt

26、er 1河北农业大学信息学院河北农业大学信息学院3030DSSn定义定义n帮助决策者进行决策。帮助决策者进行决策。MIS生成报表,而生成报表,而DSS提供交互式环境,在该环境提供交互式环境,在该环境中,决策者可以快速的对业务数据和模型进行操作。中,决策者可以快速的对业务数据和模型进行操作。nDSS有三部分组成:有三部分组成:n数据库(数据从数据库(数据从TPS和和MIS中获得);中获得);n由业务过程的数学或图形化的模型构成;由业务过程的数学或图形化的模型构成;n由为决策者和由为决策者和DSS交流的用户界面组成;交流的用户界面组成;n目标目标n provide comparisons of a

27、lternatives and recommendation of preferred optionn其他其他DSS:数据仓库、企业信息门户(:数据仓库、企业信息门户(EIP););Chapter 1河北农业大学信息学院河北农业大学信息学院31311.6 系统开发中的角色系统开发中的角色n系统开发方式系统开发方式n由公司内部员工开发(由公司内部员工开发(IS部门为主),如宝洁、沃尔玛部门为主),如宝洁、沃尔玛等大中公司,有自己独立的等大中公司,有自己独立的IS部门,其组织形式(如下部门,其组织形式(如下图);图);n购买现成的系统,如购买现成的系统,如ERP,从从SAP、微软等公司购买;微软等

28、公司购买;n聘请软件开发公司开发系统(自己的环境);聘请软件开发公司开发系统(自己的环境);n或从或从Accenture或或EDS这样的咨询公司来为公司组织、指这样的咨询公司来为公司组织、指导开发。导开发。Chapter 1河北农业大学信息学院河北农业大学信息学院3232公司中的信息部门公司中的信息部门Chapter 1河北农业大学信息学院河北农业大学信息学院3333系统开发团队系统开发团队nIS经理、系统分析员、程序员、最终用户和业务经经理、系统分析员、程序员、最终用户和业务经理、技术安全分析员等;理、技术安全分析员等;n成功团队的特征成功团队的特征n背景、技能和目标的多样性;背景、技能和目

29、标的多样性;n对多样性、不确定性和不明确的宽容;对多样性、不确定性和不明确的宽容;n清晰而充分的交流;清晰而充分的交流;n信任信任n相互尊重和顾全大局;相互尊重和顾全大局;n发扬共享责任和义务的奖励机制;发扬共享责任和义务的奖励机制;Chapter 1河北农业大学信息学院河北农业大学信息学院3434系统开发团队系统开发团队n有效的项目管理是成功团队的关键因素,包括:有效的项目管理是成功团队的关键因素,包括:n制定可行而现实的工作计划和时间表;制定可行而现实的工作计划和时间表;n根据时间表监视进度;根据时间表监视进度;n与发起系统的执行官协调项目;与发起系统的执行官协调项目;n为项目分配资源;为

30、项目分配资源;n有时要决定在项目完成之前终止项目。有时要决定在项目完成之前终止项目。Chapter 1河北农业大学信息学院河北农业大学信息学院3535开发组的角色介绍开发组的角色介绍n项目架构师:项目架构师:n构想家,负责演化和维护系统的体系结构丰富的经验、深刻的洞察构想家,负责演化和维护系统的体系结构丰富的经验、深刻的洞察力;力;n子系统设计领导:子系统设计领导:n具体的类或子系统的类结构的设计、维护、测试、发布和其接口的确具体的类或子系统的类结构的设计、维护、测试、发布和其接口的确定;定;n应用工程师:应用工程师:n具体的编程人员,只是负责一项或两项具体的职责、功能;通过应用具体的编程人员

31、,只是负责一项或两项具体的职责、功能;通过应用架构师和系统设计领导所确定的类,来实现具体的功能点的应用;架构师和系统设计领导所确定的类,来实现具体的功能点的应用;n项目经理:项目经理:n负责项目的交付、任务、资源和日程安排的动态管理;负责项目的交付、任务、资源和日程安排的动态管理;n分析员:分析员:n负责演化和解释最终用户的需求;必须是或成为某个问题域的专家;负责演化和解释最终用户的需求;必须是或成为某个问题域的专家;Chapter 1河北农业大学信息学院河北农业大学信息学院3636开发组的角色介绍开发组的角色介绍n复用工程师:复用工程师:n负责管理项目的构件和设计的存储库;负责管理项目的构件

32、和设计的存储库;n质量保证员:质量保证员:n负责衡量开发过程的产品;通常指导对所有原型和产品版本的系统负责衡量开发过程的产品;通常指导对所有原型和产品版本的系统级测试;级测试;n集成经理:集成经理:n负责组装可发布的类和子系统的兼容版本,组成一个可交付的版本负责组装可发布的类和子系统的兼容版本,组成一个可交付的版本(版本控制人员),同时,负责维护发布产品的配置,版本的控制;(版本控制人员),同时,负责维护发布产品的配置,版本的控制;n文档编写员:文档编写员:n负责为最终用户编写产品及其体系结构的文档;负责为最终用户编写产品及其体系结构的文档;n工具编制工程师:工具编制工程师:n负责创建和改编适

33、于项目开发的软件工具;负责创建和改编适于项目开发的软件工具;n系统管理员:系统管理员:n负责管理项目使用的物理资源,网络;负责管理项目使用的物理资源,网络;n数据库管理员:数据库管理员:n负责数据库;负责数据库;Chapter 1河北农业大学信息学院河北农业大学信息学院3737架构师、分析员、架构师、分析员、PMChapter 1河北农业大学信息学院河北农业大学信息学院3838系统分析员的角色系统分析员的角色n系统分析员在系统开发中担当了主要责任系统分析员在系统开发中担当了主要责任n系统分析员个人对系统的开发有明显的影响;系统分析员个人对系统的开发有明显的影响;n需要研究系统的问题和需求;需要

34、研究系统的问题和需求;n确定如何将人、方法和信息技术进行最佳组合,以便为确定如何将人、方法和信息技术进行最佳组合,以便为组织带来改善;组织带来改善;n帮助系统用户和其他业务经理为新的或增强的信息服务帮助系统用户和其他业务经理为新的或增强的信息服务定义他们的需求;定义他们的需求;SSR(System Service Request)Chapter 1河北农业大学信息学院河北农业大学信息学院39391.7 系统开发中的系统分析员系统开发中的系统分析员Chapter 1河北农业大学信息学院河北农业大学信息学院4040系统分析员所需要的技能系统分析员所需要的技能n四种能力四种能力n分析分析n理解公司及

35、其功能,以确定机会和问题,进而分析和解决问题;理解公司及其功能,以确定机会和问题,进而分析和解决问题;n技术技术n有助于理解信息技术的潜力和局限性;有助于理解信息技术的潜力和局限性;n需要需要DB设计能力(设计能力(DBMS)、)、掌握主流数据库掌握主流数据库Oracle、DB2和和SQL Server等;等;n使用使用UML和和Rational Rose等工具的系统建模能力;等工具的系统建模能力;n有有SAP R/3等等ERP系统经验;系统经验;n有使用有使用Java,C+等编程语言的能力;等编程语言的能力;n了解了解Windows,Unix和和Linux等不同操作系统;等不同操作系统;n熟

36、系熟系WEB Server,如如BEA、Webspere、Tomcat等;等;n熟系熟系XML、J2EE、.Net等企业服务构架;等企业服务构架;n了解计算机网络、软件安全等新技术;了解计算机网络、软件安全等新技术;Chapter 1河北农业大学信息学院河北农业大学信息学院4141系统分析员所需要的技能系统分析员所需要的技能n管理管理n帮助分析员管理项目、资源、风险和变化;帮助分析员管理项目、资源、风险和变化;n成功的系统一是满足用户要求,二是要在制定的时间和预算之成功的系统一是满足用户要求,二是要在制定的时间和预算之内完成;内完成;n虽然分析员不是虽然分析员不是PM,但是了解管理也很重要;但

37、是了解管理也很重要;n人际关系人际关系n由于系统分析员在用户、程序员和其他系统专业人员之间充当由于系统分析员在用户、程序员和其他系统专业人员之间充当了联系人的角色,因此,有效的书面和口头交流能力对分析员了联系人的角色,因此,有效的书面和口头交流能力对分析员来说非常必要;来说非常必要;n包括主持会议、会见最终用户和倾听的能力;包括主持会议、会见最终用户和倾听的能力;n典型的系统分析员招聘广告(如下图);典型的系统分析员招聘广告(如下图);Chapter 1河北农业大学信息学院河北农业大学信息学院4242招聘系统分析员招聘系统分析员Chapter 1河北农业大学信息学院河北农业大学信息学院4343

38、 1.8 系统开发方法的演变系统开发方法的演变n系统开发的演变历史系统开发的演变历史n20世纪世纪50年代和年代和60年代的大部分期间,开发和编程是同年代的大部分期间,开发和编程是同义词。硬件是制约。义词。硬件是制约。n随着系统规模增长,系统开发不只是编程,项目必须被随着系统规模增长,系统开发不只是编程,项目必须被管理,需要一种方法来指导项目从概念到试运转。管理,需要一种方法来指导项目从概念到试运转。n20世纪世纪60年代后期,出现基于输出输入的方法。通过检年代后期,出现基于输出输入的方法。通过检查报表这种输出中出现的区域,可以从输出追溯到输入。查报表这种输出中出现的区域,可以从输出追溯到输入

39、。n注意集中在输出和输入上,而不是数据和处理上;注意集中在输出和输入上,而不是数据和处理上;n没有以数据库方法为基础,系统中存在冗余。没有以数据库方法为基础,系统中存在冗余。n维护费用高,解决系统变更需要时间长。维护费用高,解决系统变更需要时间长。Chapter 1河北农业大学信息学院河北农业大学信息学院4444SDLC- System Development Life Cycle n定义定义n使用相对固定的一系列步骤或阶段来开发系统;使用相对固定的一系列步骤或阶段来开发系统;n20世纪世纪80年代逐渐流行(瀑布式的开发);年代逐渐流行(瀑布式的开发);n开发分为以下四个阶段:开发分为以下四个

40、阶段:n计划与选择;分析;设计;实现与操作;计划与选择;分析;设计;实现与操作;n优点优点n强调分析与设计,可以进行错误回溯,强制彻底分析,在强调分析与设计,可以进行错误回溯,强制彻底分析,在引入设计和实现风险之前要将用户需求确定并文档化;引入设计和实现风险之前要将用户需求确定并文档化;n缺点缺点n用户的需求不能精确表达,需求随时间的变化而变化,风用户的需求不能精确表达,需求随时间的变化而变化,风险不能控制。险不能控制。Chapter 1河北农业大学信息学院河北农业大学信息学院4545结构化分析与设计结构化分析与设计n定义定义n基于过程分解和使用基于过程分解和使用SDLC方法的数据流图的方法理

41、论;(面向过程的方法的数据流图的方法理论;(面向过程的分析与设计);分析与设计);n数据流图(数据流图(DFD)n表示数据在外部实体与系统内的过程和数据存储之间运动的图表示数据在外部实体与系统内的过程和数据存储之间运动的图n举例:餐馆管理数据流图(举例:餐馆管理数据流图(P20);n优点优点nDFD是研究过程的出色表示工具;是研究过程的出色表示工具;n缺点缺点n系统的业务过程很容易发生变化,过程的改变将导致大量的维护工作;系统的业务过程很容易发生变化,过程的改变将导致大量的维护工作;n由于对数据建模的忽略,无法与基于由于对数据建模的忽略,无法与基于DBMS的系统轻松结合;的系统轻松结合;Cha

42、pter 1河北农业大学信息学院河北农业大学信息学院4646面向数据的方法面向数据的方法n定义定义n以数据为中心但过程敏感的方法理论,试图将组织内的以数据为中心但过程敏感的方法理论,试图将组织内的数据冗余降到最低;数据冗余降到最低;n20世纪世纪70年代末,年代末,DBMS开始流行,基于关系模型的数开始流行,基于关系模型的数据库管理系统迅速占领市场;据库管理系统迅速占领市场;n1976年,实体关系(年,实体关系(ER)模型被提出,该模型提供了数模型被提出,该模型提供了数据的图形视角并能被轻松的翻译为关系模型;据的图形视角并能被轻松的翻译为关系模型;n分析员可以用分析员可以用ER模型为大规模应用

43、程序表示数据;模型为大规模应用程序表示数据;n数据建模先于过程,其前提是数据比过程更具备稳定性;数据建模先于过程,其前提是数据比过程更具备稳定性;n举例:一卡通系统等;举例:一卡通系统等;Chapter 1河北农业大学信息学院河北农业大学信息学院4747面向对象的方法面向对象的方法n定义定义n基于对象概念的分析和设计方法,对象在单一构建中获得数据并处基于对象概念的分析和设计方法,对象在单一构建中获得数据并处理;理;n面向对象开发方法是从面向对象开发方法是从8080年代面向对象的程序设计方法逐步发展而年代面向对象的程序设计方法逐步发展而来的。来的。n该方法是从现实世界中的客观对象入手,尽量运用人

44、类的自然思维该方法是从现实世界中的客观对象入手,尽量运用人类的自然思维方式从多方面来构造软件系统。方式从多方面来构造软件系统。n在这种方法中,系统的基本构成要素是对象。在这种方法中,系统的基本构成要素是对象。n从软件开发人员的角度来看,对象是一种将数据和处理这些数从软件开发人员的角度来看,对象是一种将数据和处理这些数据的操作合并在一起的程序单元;据的操作合并在一起的程序单元;n从用户的角度来看,对象是一种具有某些属性和行为的事物。从用户的角度来看,对象是一种具有某些属性和行为的事物。n对象可以是具体的,如自行车、订单;也可以是概念性的,如对象可以是具体的,如自行车、订单;也可以是概念性的,如车

45、辆通行方案、折扣规则等。车辆通行方案、折扣规则等。Chapter 1河北农业大学信息学院河北农业大学信息学院4848OOMn从认识论的角度可以看出,从认识论的角度可以看出,OOM改变了人们认识世界的方改变了人们认识世界的方式;式;nOOM从对象出发认识问题域,对象对应问题域中的事物,对象的从对象出发认识问题域,对象对应问题域中的事物,对象的属性和操作刻画了事物的静态特征和动态特征,而对象之间的关系属性和操作刻画了事物的静态特征和动态特征,而对象之间的关系如实的反映了问题域中事物之间实际存在的各种关系。如实的反映了问题域中事物之间实际存在的各种关系。nOOM使得从问题域到计算机间的鸿沟变窄;使得

46、从问题域到计算机间的鸿沟变窄;n结构化方法:分析与设计的表示体系不同,导致分析和设计的文档结构化方法:分析与设计的表示体系不同,导致分析和设计的文档脱节;脱节;nOOM:问题域问题域OOAOODOOPOOT;nOO语言使得从客观世界到计算机的语言鸿沟变窄;语言使得从客观世界到计算机的语言鸿沟变窄;n机器语言汇编语言高级语言(机器语言汇编语言高级语言(OO、人类的思维方法来考虑问人类的思维方法来考虑问题)题)Chapter 1河北农业大学信息学院河北农业大学信息学院4949当前趋势是使用当前趋势是使用OOSAD,但很多组织仍使用结构化的分析和,但很多组织仍使用结构化的分析和设计。设计。面向对象方

47、法的优点面向对象方法的优点StructuredObject-Oriented方法方法SDLC迭代递增迭代递增着重点着重点过程过程对象对象风险风险高高低低复用复用低低高高成熟度成熟度成熟,广泛使用成熟,广泛使用新兴新兴适用于适用于良好定义的项目,有稳定的用良好定义的项目,有稳定的用户需求户需求高风险的大项目,变化的高风险的大项目,变化的用户需求用户需求Chapter 1河北农业大学信息学院河北农业大学信息学院50501.10 迭代递增的开发迭代递增的开发nSDLC项目充满了风险,除非需求稳定而且开发人员曾经开项目充满了风险,除非需求稳定而且开发人员曾经开发过类似的项目;这种情况也是现实存在的!发

48、过类似的项目;这种情况也是现实存在的!n迭代递增方法理论通过优先开发项目中最关键和最具风险迭代递增方法理论通过优先开发项目中最关键和最具风险性的部分,然后再开发关键性和风险较低的部分来降低风性的部分,然后再开发关键性和风险较低的部分来降低风险。险。n通过原型或提前集成,用户在开发的早期就开始体验产品通过原型或提前集成,用户在开发的早期就开始体验产品 好处:交流、更改和更早的决断(放弃项目);好处:交流、更改和更早的决断(放弃项目);n在当今,多数的项目都采用了迭代递增开发的理论,其中,在当今,多数的项目都采用了迭代递增开发的理论,其中,这种方法最流行的一种实现是这种方法最流行的一种实现是RUP

49、(Rational Unified Process););Chapter 1河北农业大学信息学院河北农业大学信息学院5151迭代递增的开发迭代递增的开发n迭代方法迭代方法n以经历若干个时间周期的增长、改进和细化的方法来开以经历若干个时间周期的增长、改进和细化的方法来开发一个软件部分;发一个软件部分;n递增方法递增方法n逐个部分地开发,这些部分渐进地被测试和集成;逐个部分地开发,这些部分渐进地被测试和集成;nRUP是一种面向对象的程序开发理论,包括四个开是一种面向对象的程序开发理论,包括四个开发步骤(往复螺旋):发步骤(往复螺旋):n初始阶段,开发人员定义项目的作用域和业务用例;初始阶段,开发人员定义项目的作用域和业务用例;n细化阶段,开发人员将项目需求分析的更加细化;细化阶段,开发人员将项目需求分析的更加细化;n构造阶段,开发人员建立应用程序设计和源代码;构造阶段,开发人员建立应用程序设计和源代码;n交付阶段,开发人员将系统交付用户。交付阶段,开发人员将系统交付用户。Chapter 1河北农业大学信息学院河北农业大学信息学院5252Construction is the hardest part基于基于OOSAD 的开发阶段的开发阶段Chapter 1河北农业大学

温馨提示

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

评论

0/150

提交评论