软件开发与项目管理-1期 架构设计 0203 模块三_任务一_电子教材.docVIP

软件开发与项目管理-1期 架构设计 0203 模块三_任务一_电子教材.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
任务1 软件架构设计 【任务简介】 软件架构是软件设计的高层部分,从宏观层面对软件的模块进行了划分,定义各模块的接口和模块之间的通信形式,并对软件的物理架构和用例场景均做较为详细的设计。软件架构设计一般采用“4+1”视图模型,即逻辑视图、进程视图、开发视图、物理视图、场景视图,每个视图都反映了软件开发的一个方面内容。本任务将以“学分管理系统”为例讨论软件架构设计。 【任务分析】 “学分管理系统”采用分层架构设计,用户界面、业务逻辑处理和数据库访问分别封装在不同层次中,使用接口技术将业务与业务的具体实现分开。 与系统交互的用户角色有系统管理员、学工处,系部和学生。系统管理员在系统层面维护学生和教师账户,创建角色和分配权限。组织部门信息和学生信息由系统管理员从外部文档导入(如,通过系统的接口导入包含组织结构和学生信息的Excel文档)。学工处维护基础数据,配置项目参数。项目实施由学工处和系部共同负责,学工处负责制定项目计划,并发布项目,系部负责具体实施项目,包括启动项目、登记学生、项目评分、项目结项。 项目结项后,学生成绩将导入成绩库。学工处可以在学校层面查询和统计全部项目的数据。系部可以统计本系项目数据,学生可以查询自己的成绩。 本任务将从软件架构视图角度结合“学分管理系统” 讨论软件架构设计,并对系统的功能架构做具体划分。 【支撑知识】 一、软件架构定义 软件架构( Software Architecture)是软件设计的高层部分,是用于支撑细节的设计框架。架构也称为“系统架构”、“高层设计”或“顶层设计”。架构描述的对象是直接构成系统抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通信。在实现阶段,这些抽象组件被细化为实际的组件,如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。 二、软件架构设计目的 软件架构设计一般有以下几个目的: 为大规模开发提供基础和规范。软件系统的大规模开发,必须要有一定的基础和遵循一定的规范,这既是软件工程本身的要求,也是客户的要求。架构设计的过程中可以将一些公共部分抽象提取出来,形成公共类和工具类,以达到重用的目的。 一定程度上缩短项目的周期。利用软件架构提供的框架或重用组件,缩短项目开发的周期。 降低开发和维护的成本。大量的重用和抽象,可以提取出一些开发人员不用关心的公共部分,这样便可以使开发人员仅仅关注于业务逻辑的实现,从而减少了很多工作量,提高了开发效率。 提高产品的质量,好的软件架构设计是产品质量的保证,特别是对于客户常常提出的非功能性需求的满足。 三、软件架构设计原则 软件架构设计必须遵循以下原则: 满足功能性需求和非功能需求。这是一个软件系统最基本的要求,也是架构设计时应该遵循的最基本的原则。 实用性原则。就像每一个软件系统交付给用户使用时必须实用,能解决用户的问题一样,架构设计也必须实用,否则就会“高来高去”或“过度设计”。 满足复用的要求,最大程度的提高开发人员的工作效率。 四、软件架构设计“4+1”视图模型 架构视图是对从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,而省略了与此方面无关的实体。 Kruchten 提出了“4+1”视图模型,从5个不同的视角来描述软件体系结构,即逻辑视图、进程视图、开发视图、物理视图、场景视图。每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容,如图3-2所示。 图3-2 “4+1”视图模型 1. 逻辑视图 逻辑视图用来描述系统的功能需求,即在为用户提供服务方面系统所应该提供的功能。在逻辑视图中,系统分解成一系列的功能抽象、功能分解与功能分析,这些主要来自问题领域(Problem Definition)。在面向对象技术中,表现为对象或对象类的形式,采用抽象、封装和继承的原理。用对象模型来代表逻辑视图,可以用类图(Class Diagram)来描述逻辑视图。借助于类图和类模板的手段,类图用来显示一个类的集合和它们的逻辑关系:关联、使用、组合、继承等。相似的类可以划分成类集合。类模板关注于单个类,它们强调主要的类操作,并且识别关键的对象特征。 逻辑视图的表示法: 构件(Components):类、类服务、参数化类、类层次。 连接件(Connectors):关联、包含聚集、使用、继承、实例化。 逻辑视图的风格采用面向对象的风格,其主要的设计准则是视图在整个系统中保持单一的、一致的对象模型,避免就每个场合或过程产生草率的类和机制的技术说明。 2.进程视图 进程视图考虑一些非功能性的需求,如性能和可用性。它解决并发性、分布性、系统完整性、容错性的问题,以及逻辑视图的主要

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
文档贡献者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档