IT项目开发与管理资源

上传人:li****i 文档编号:243139656 上传时间:2024-09-16 格式:PPT 页数:51 大小:1.45MB
返回 下载 相关 举报
IT项目开发与管理资源_第1页
第1页 / 共51页
IT项目开发与管理资源_第2页
第2页 / 共51页
IT项目开发与管理资源_第3页
第3页 / 共51页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,项目一 办公自动化系统开发与管理,单元三 系统设计,IT,项目开发与管理,IT,项目开发与管理 第,2,版,书名:,IT,项目开发与管理 第,2,版,书号:,978-7-111-46908-7,作者:苏宝莉 刘贤锋 主编,出版社:机械工业出版社,学习如何编写多套技术解决方案。,学习如何分析及对比技术解决方案的优缺点。,学习软件设计模式、面向对象设计设计方法。,学习如何编写概要设计说明书。,学习如何分析及对比技术解决定方案所确定的范围。,学习如何编写详细设计说明书和数据库设计说明书。,学习如何细化功能及接口。,掌握设计工具的使用。,学习如何在,USDM,平台中签入设计阶段文档,IT,项目开发与管理,学习目标,能编写多套技术解决方案。,分析总结对比各个技术解决方案间的优缺点。,能编写系统概要设计说明书。,可根据技术解决方案来确定开发所需要的环境等。,能编写系统详细设计说明书。,能编写数据库设计说明书。,能够熟练使用,USDM,平台的设计工具。,能够在,USDM,平台中签入设计阶段文档,IT,项目开发与管理,技能目标,任务一:编制技术解决方案,IT,项目开发与管理,学习如何编写多套技术解决方案。,学习如何分析及对比技术解决方案的优缺点。,IT,项目开发与管理,知识目标,技能目标,能编写多套技术解决方案。,分析总结对比各个技术解决方案间的优缺点。,任务导入,技术解决方案是要根据系统分析的要求和组织的实际情况,来对新系统的总体结构形式和可利用的资源进行大致的设计 ,是宏观上的规划 。技术解决方案将会影响到用户或自身对项目投放的成本、效果、性能、法律问题等。,编写多套的可选择性的技术解决方案,可更好地让自己及用户选择合适的技术解决方案来实现项目目标,从而降低成本及风险。,IT,项目开发与管理,IT,项目开发与管理,任务分析与,示范引导,技术解决方案选择的标准(,1,),开发、制造、购买、维护与支持等活动的成本。,性能。,产品组件的复杂性与产品相关生命周期过程。,对产品运行、使用条件、运行模式、环境,以及产品相关的生命周期过程的变化的适应性。,产品扩展与升级。,技术限制。,对构建方法与资料的敏感性。用户解决问题或达到目标所需的条件或能力。,IT,项目开发与管理,任务分析与,示范引导,技术解决方案选择的标准(,2,),风险。,需求与技术的演变。,处理的复杂程度。,最终用户与操作人员的能力和限制。,中间件或外购组件的特性。,IT,项目开发与管理,任务分析与,示范引导,技术解决方案编写要素,系统所采用的架构方式,系统对外部接口的要求。,明确所使用或引入的技术,系统扩展性及系统维护性。,P87,:,OA,系统项目技术解决方案,提出了两种技术解决方案。分别是:,方案,1,:,C+ +,自主中间件,+ MySQL,,属于三层,C/S,结构方式。,方案,2:,Java + Tomcat + MySQL,,属于三层,B/S,结构方式。,任务分析与,示范引导,IT,项目开发与管理,任务分析与,示范引导,方案优缺点比较,经过与甲方的协商和评估,最终选定方案,2,,主要是考虑到甲方的运行环境是要求覆盖总部和下属,4,个分部(散落在郊县,通过宽带接入),并且维护的方便和既有习惯的考虑。并且,经过优化可获得较好的速度和效率的提升,可弥补其不足。,IT,项目开发与管理,学生模仿试做,小组设计人员编写多套符合要求的技术解决方案,然后由小组内部对其进行评审,根据选择标准选择出一套最合适项目的技术解决方案。,开讨论会,每个小组派出一名组员陈述小组的技术解决方案及解释为什么选择该技术解决方案。,IT,项目开发与管理,通过完成本任务,能够,技术解决方案将会影响到用户或自身对项目投放的成本、效果、性能、法律问题等。所以编写多套可选择性的技术解决方案,可让自己或客户能选择更合适的技术解决方案来实现项目目标从而降低成本及风险。,IT,项目开发与管理,总结提高,任务二:编写概要设计说明书,IT,项目开发与管理,学习如何编写概要设计说明书。,学习如何分析及对比技术解决定方案所定的范围。,IT,项目开发与管理,知识目标,技能目标,能编写系统概要设计说明书。,可根据技术解决方案来确定开发所需要的环境等。,任务导入,IT,项目开发与管理,确定了技术解决方案,则进入概要设计部分。,IT,项目开发与管理,任务分析与,示范引导,一、软件设计,需求分析阶段解决了,“,做什么,”,的问题,多数系统开发在完成需求分析之后,还要进行重要的一步,软件设计,才能进入到真正的开发阶段。系统设计是把需求转化为软件系统的最重要的环节,系统设计的优劣在根本上决定了软件系统质量的好坏。所以设计阶段主要是解决,“,怎么做,”,的问题。,设计阶段主要涉及总体设计(概要设计)、详细设计、数据库设计和用户界面设计等活动。其中,总体设计(概要设计)确定软件的结构以及各组成成分(子系统或模块)之间的相互关系;详细设计确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。,IT,项目开发与管理,任务分析与,示范引导,二、软件设计原则,功能分解是指把大而复杂的问题分解成若干个简单的小问题,然后逐个解决。系统设计中,将一个复杂的大系统分解成若干个相对简单的较小部分,称为子系统。,子系统是一个定义明确的软件组件,它向其他子系统提供多种服务。,一个服务是一组有着共同目标的相关操作,这些提供给其他子系统的操作形成了子系统接口。,子系统接口只对外部提供操作的名称、参数、类型和返回值等,而对操作的实现进行了封装。因此在接口不变的情况下,子系统内部实现的修改对外部调用影响很小,从而增加了系统的可维护性。,IT,项目开发与管理,任务分析与,示范引导,二、软件设计原则,高内聚与低耦合,1,耦合度按从强到弱的顺序分类耦合度是表示两个子系统之间的关联程度。当一个子系统发生变化时对另一个子系统的影响很小,则称它们是松散耦合的;反之,如果影响很大时,则称它们是紧密耦合的。显然,耦合越低越好。(,1,)内容耦合 当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。此时,被修改的模块完全依赖于修改它的模块。(,2,)公共耦合 两个以上的模块共同引用一个全局数据项就称为公共耦合。,IT,项目开发与管理,任务分析与,示范引导,二、软件设计原则,高内聚与低耦合(,3,)外部耦合 一组模块都访问全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。(,4,)控制耦合 一个模块在界面上传递一个信号(如开关值、标志量等)控制另一个模块,接收信号的模块的动作根据信号值进行调整,称为控制耦合。(,5,)标记耦合 模块间通过参数传递复杂的内部数据结构, 称为标记耦合。此数据结构的变化将使相关的模块发生变化。,(,6,)数据耦合 模块间通过参数传递基本类型的数据,称为数据耦合。,IT,项目开发与管理,任务分析与,示范引导,二、软件设计原则,高内聚与低耦合(,7,)非直接耦合 模块间没有信息传递时,属于非直接耦合。耦合度和模块独立性之间的关系如图,1-3-1,所示。,IT,项目开发与管理,任务分析与,示范引导,二、软件设计原则,高内聚与低耦合,2,内聚按强度从低到高分类内聚性是子系统内部的相关程度。当子系统中彼此相关的多个对象执行类似的任务时,则认为该子系统是高内聚的;反之, 当子系统内的多个对象彼此不相关时,则认为是低内聚的。 显然,内聚越高越好。(,1,) 巧合内聚(偶然内聚) 如果一个模块的各成分之间毫无关系,则称为巧合内聚。(,2,) 逻辑内聚 几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。,IT,项目开发与管理,任务分析与,示范引导,二、软件设计原则,高内聚与低耦合,2,内聚按强度从低到高分类(,3,)时间内聚(经典内聚) 如果一个模块完成的功能必须在同一时间内执行(如系统初始化),但这些功能只是因为时间因素关联在一起,则称为时间内聚。(,4,)过程内聚 如果一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行,则称为过程内聚。(,5,)通信内聚 如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。(,6,)信息内聚(顺序内聚) 如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为信息内聚。,IT,项目开发与管理,任务分析与,示范引导,二、软件设计原则,高内聚与低耦合,2,内聚按强度从低到高分类(,7,)功能内聚 模块的所有成分对于完成单一的功能都是必需的,则称为功能内聚。内聚性和模块独立性之间的关系如下图。,系统设计的目标是划分子系统并使子系统之间是高内聚、低耦合的,从而提高软件的可理解性和可维护性。,设计准则(高内聚、低耦合),(,1,)提高模块独立性,(,2,)模块规模适中(分层),(,3,)深度、宽度、扇出和扇入适当:顶层高扇出,中间扇出少,底层高扇入。,IT,项目开发与管理,任务分析与,示范引导,IT,项目开发与管理,任务分析与,示范引导,IT,项目开发与管理,任务分析与,示范引导,IT,项目开发与管理,任务分析与,示范引导,软件复用,所谓复用就是利用某些已开发的,对建立新系统有用的软件元素来生成新的软件系统。将具有一定集成度并可以重复使用的软件组成单元称为软构件,软件复用是直接使用已有的软构件通过可组装或合理地修改生成新的系统,如下图所示为利用软构件进行应用软件开发的过程。,IT,项目开发与管理,任务分析与,示范引导,设计模式,设计模式(,Design pattern,)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。,1,设计框架可复用面向对象软件系统一般划分为两大类:应用程序工具箱和框架(,Framework,)。,Java,的,API,属于工具箱;而框架是构成一类特定软件可复用设计的一组相 互协作的类,,EJB,(,EnterpriseJavaBeans,)是,Java,应用于企业计算的框架。框架强调设计复用,因此框架设计中必然要使用设计模式。,IT,项目开发与管理,任务分析与,示范引导,设计模式,2,基本模式设计模式分为三种类型,共,23,种。(,1,) 创建型模式,:,单例模式、抽象工厂模式、建造者模式、工厂模式和原型模式。(,2,)结构型模式,:,适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式和代理模式。(,3,)行为型模式,:,模版方法模式、命令模式、迭代器模式和观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式和访问者模式。,IT,项目开发与管理,任务分析与,示范引导,三、总体设计,总体设计的基本概念总体设计又称为概要设计,即确定系统的具体实现方案、给出软件的模块结构、编写总体设计说明书。在早期有模块化方法、功能分解方法;在,20,世纪,60,年代后期提出了面向数据流和面向数据结构的设计方法;近年来又提出面向对象的设计方法等。,1.,总体设计的三个主要任务,(,1,)将系统划分为物理元素,即程序、文件、数据库和文档等,(,2,)设计软件结构,即将需求规格转换为体系结构,划分出程序的模块组成、模块间的相互关系。确定系统的数据结构、文件结构、数据库模式,确定测试方法与策略。,(,3,)编写总体设计说明书、用户手册、测试计划,选用相关的软件工具来描述软件结构。,IT,项目开发与管理,任务分析与,示范引导,三、总体设计,2.,总体设计的过程,(,1,)设计供选择的方案。(,2,)选取一组合理的方案(,3,)推荐最佳实施方案。(,4,)功能分解。(,5,)软件结构设计。(,6,)数据库设计。(,7,)制订测试计划。(,8,)编写概要设计文档。,(,9,)审查与复审概要设计文档。,P98,总体设计说明书格式,IT,项目开发与管理,任务分析与,示范引导,三、总体设计,体系结构设计对于大型复杂系统而言,软件体系结构设计显得尤为重要,它的好坏往往会成为一个系统设计成败的关键。体系结构设计是软件设计的第一个阶段,该阶段侧重于系统宏观结构的设计,而不关心模块的内部算法。软件系统从第一个模块划分开始便有了体系结构,有效的软件体系结构及其明确的描述和设计已经成为软件工程领域的一个重要方面。,IT,项目开发与管理,任务分析与,示范引导,常见的体系结构(,1,)仓库模型,各子系统共享中央数据库中的数据,共享容器模型。各子系统可以有自己的数据库,子系统之间通过消息传递实现数据交换。,IT,项目开发与管理,任务分析与,示范引导,常见的体系结构(,2,)客户机,/,服务器模型,C/S,结构是一种分布式模型,采用发请求、得结果的模式。其中客户机主要向服务器发出请求(数据请求、 网页请求、文件传输请求等),服务器则响应客户机的请求,并进行相应的操作,将结果回传给客户机,客户机再将格式化后的结果呈现给用户,如图所示。,IT,项目开发与管理,任务分析与,示范引导,常见的体系结构(,3,)分布式对象结构,“,对象(,Object,),”,提供服务的系统组件(,SystemComponent,)。每个对象在逻辑上是平等的,它们可以互相为对方提供所需的服务。提供服务的对象就是服务器,而提出服务请求的对象就是用户,如图所示。,IT,项目开发与管理,任务分析与,示范引导,常见的体系结构(,4,)抽象机模型,又称为分层模型,通常用于建立子系统的接口模型。每层提供一组服务,每层定义一个抽象机。典型的例子就是,ISO/OSI,开放系统互连参考模型,如图所示。,IT,项目开发与管理,任务分析与,示范引导,常见的体系结构(,5,)控制模型,考虑子系统之间的控制流,控制方式分为集中式控制和事件驱动系统两种,如图,1-3-8,和图,1-3-9,所示。,IT,项目开发与管理,任务分析与,示范引导,常见的体系结构(,6,)模型视图控制器结构(,MVC,),在模型视图控制器结构中,子系统被划分成模型、视图和控制器三种类型,其中:,1,)模型(,Model,)。代表应用领域中的业务实体和业务规则,其对象的变化通过事件处理通知给视图和控制器。,2,)视图(,View,)。代表用户界面对象,它将模型中的数据以用户需要的格式展示出来。,3,)控制器(,Control,)。负责管理与用户的交互控制。,这是一个组件模型,它将应用程序的不同功能单元(称为服务) 通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以使用一种统一和通用的方式进行交互。它可以根据需求通过网络对松散耦合的粗粒度,应用组件进行分布式部署、组合和使用。服务层是,SOA,的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。,IT,项目开发与管理,任务分析与,示范引导,常见的体系结构(,7,)面向服务架构(,SOA,)(,1,),SOA,是一种粗粒度、松耦合服务架构,服务之间通过简单、 精确定义接口进行通信,不涉及底层编程接口和通信模型。,SOA,可以看作是,B/S,模型、,XML,(标准通用标记语言的子集),/Web Service,技术之后的自然延伸。,SOA,将能够帮助软件工程师们站在一个新的高度,理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。,较之以往,以,SOA,架构的系统能够更加从容地面对业务的急剧变化。,IT,项目开发与管理,任务分析与,示范引导,常见的体系结构(,7,)面向服务架构(,SOA,)(,2,),IT,项目开发与管理,任务分析与,示范引导,三、总体设计,总体设计的工具,1,层次图(图,1-3-11,),IT,项目开发与管理,任务分析与,示范引导,三、总体设计,总体设计的工具,2,HIPO,图,HIPO,图,(Hierarchy Plus Input/Processing/Output),图是美国,IBM,公司,70,年代发展起来的表示软件系统结构的工具。它既可以描述软件总的模块层次结构,-H,图,(,层次图,),,又可以描述每个模块输入,/,输出数据、处理功能及模块调用的详细情况,-IPO,图。,HIPO,图以模块分解的层次性以及模块内部输入、处理、输出三大基本部分为基础建立的。,它是表示软件系统结构的工具。,HIPO,图以模块分解的层次性以及模块内部输入、处理、输出三大基本部分为基础建立的。,IT,项目开发与管理,任务分析与,示范引导,三、总体设计,总体设计的工具,2,HIPO,图(图,1-3-12,),IT,项目开发与管理,任务分析与,示范引导,三、总体设计,总体设计的工具,3,结构图(图,1-3-13,),IT,项目开发与管理,任务分析与,示范引导,四、案例,P102【,例,1-3-2】,广电,OA,系统项目概要设计说明书。,学生模仿试做,小组设计人员编写概要设计说明书,然后由小组内部对其进行评审。,开讨论会,每个小组派出一个组员陈述自己小组的概要设计说明书。,IT,项目开发与管理,通过完成本任务,能够,概要设计部分,做了几件重要的事情:(,1,)设计规则 设计规则实际是描述了设计以及后续编码实施的约定。在设计规则中,明确了详细设计必须遵循的条例以及制订编码规范。(,2,)设计组件的划分 设计组件的划分包括子系统的构成以及它们之间的接口描述。它们是编码实施中工程划分的基础。本案例的子系统仅被划分为三个,用户端(,IE,浏览器支持)、服务器和后台数据库三个子系统。因此,在后来的编码实施时,项目经理在,USDM,平台中创建两个工程组件以及数据库设计文件(用,USDM,平台的设计管理工具创建的数据库文件,db.wjsj,),以管理代码的开发和维护。由于团队的组成原因,两个工程组件的编码组长都是一个人,即由项目经理兼任。,IT,项目开发与管理,总结提高,通过完成本任务,能够,概要设计部分,做了几件重要的事情:按照渐进式生命周期的特点,组件内容的划分是分若干次迭代实施的。每次均可以发布一个可运行版本。本案例中,分成三次迭代:公告栏;公文流转;广电业务。(,3,)其他 其他设计内容包括为实现需求规格包中的非功能需求、质量属性需求、环境需求等进行的设计。在本案例中,有性能、安全性和环境配置等方面的设计说明。(,4,)编码规范 设计员根据构架内容,提供编码规范,要求后续的编码工作要遵循该规范要求。,IT,项目开发与管理,总结提高,见课本,P84-89,页,IT,项目开发与管理,技能拓展训练,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!