- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                影响体系结构确定的因素 架构是系统涉众、商业、组织和技术环境共同作用的结果 涉众的影响  其他影响因素 开发组织 商业计划 组织结构 人员技能 进度、预算 设计师的素质和经验 技术环境 架构的商业周期 架构对诸影响因素的反作用 影响开发组织的结构 影响开发组织的目标 影响客户对下一个系统的要求 影响后继系统的设计 可能影响并实际改变软件工程的发展 绪论 软件体系结构的产生 什么是软件体系结构 软件体系结构的重要性 影响软件体系结构确定的因素 如何设计一个好的体系结构 软件过程中与体系结构相关的活动 软件体系结构的发展历程及研究方向 本课程的组织与结构   如何设计“好”的架构 一个架构并不是注定就是“好”的或者“坏”的。 各种架构总是能够或多或少地满足某些系统的要求 但是,在设计架构的时候,最好遵循一些实践准则 过程上的建议 结构上的建议 过程建议(1) 架构的设计应该由一位设计师完成,或者由一个在某位设计师领导下的小组来完成 设计师应该全面掌握系统的功能需求,并应有一份所设计架构应该满足的划分了优先级的质量属性列表 架构的文档必须完备,至少有一个静态视图和动态视图 应该把架构的设计方案交由涉众传阅   过程建议(2) 应该对架构认真进行分析,得出可应用的量化度量指标 架构的设计应该有助于增量式实现 允许架构带来一定的(少量)的资源争用,但应清楚地给出这些资源争用的解决方案,告知各方,并保证这些解决方案切实可行。  结构建议(1) 架构应采用定义良好的模块,各模块的功能责任划分应基于信息隐藏和相互独立的原则。 应该使用特定于每个属性的众所周知的架构战术来实现质量属性 架构必须尽量不依赖于某个特定版本的商业产品或工具。 应将产生数据的模块和使用数据的模块分离开 结构建议(2) 对于并行处理系统,架构应该采用定义良好的进程或任务,它们未必反映模块的分解结构 每个任务或进程的编写都要考虑到与特定处理器的关系,并保证(甚至在运行时)能够方便地改变这种关系 架构应该采用少量的、简单的交互模式 软件工程 软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的相关技术及管理方法。 软件工程三要素 方法:为软件开发提供了“如何做”的技术,是完成软件工程项目的技术手段 工具:是人类在开发软件的活动中智力和体力的扩展和延伸,为软件工程方法提供了自动的或半自动的软件支撑环境 过程:是将软件工程的方法和工具综合起来以达到合理、及时地进行软件开发的目的   为什么要“工程” 工程实践使得平凡的操作者能创造出复杂的系统,虽然不是特例独行引入入胜,但是能够工作。 对工程规范强的公司而言,有创意但不能转化为效益的天才不如按部就班完成任务的螺丝钉样的“傻子” 世界是聪明的懒人们创造的,但是,是平凡的大众推动的  软件工程的知识体系 软件体系结构属于软件设计范畴 软件设计层次 系统(不限于软件系统)设计划分为若干个层次,区分各个层次之间的区别,划分各层所需解决的设计问题是至关重要的。每个层次上定义 组件:primitive and composite 组成规则:composite组件或系统的构造规则 行为规则:系统的语义,组件间交互的规则 这些规则在每一个层次上是不同的,每个层次上有各自的符号系统、设计问题、分析技术,由此,各个层次上的设计可以独立进行,而每一层是上一层的实现。   软件设计层次(2) 体系结构:通过组件与组件间的协作达到系统功能;本层的组件包含多种类型(如模块、进程、线程等),组件之间的交互通过各种方式完成(调用、管道、共享、同步等)。 编码:包含算法与数据结构的设计,组件是编程语言的原子如数、字符、指针、线程等,连接的操作符是该语言的算术或数据操作符,组合机制包括记录、数组、过程等。 可执行代码:解决内存映像、数据组织、调用栈、寄存器分配等问题;组件为硬件所支持的位模式,操作符及组件的组合分布在机器代码中。 软件设计层次(3) 从60年代到80年代,软件开发人员集中在下面两层上 随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。 对于大规模的复杂软件系统来说,对总体的系统结构设计和规格说明比起对计算的算法和数据结构的选择已经变得明显重要的多。 对软件体系结构的系统、深入的研究将会成为提高软件生产率和解决软件维护问题的新的最有希望的途径。  软件体系结构虽脱胎于软件工程,但其形成同时借鉴了计算机体系结构和网络体系结构中很多宝贵的思想和方法,最近几年软件体系结构研究已独立于软件工程的研究,成为计算机科学的一个新的研究方向和独立学科分支。   那么,到底什么是软件体系结构呢? 绪论 软件体系结构的产生 什么是软件体系结构 影响软件体系结构确定的因素 如何设计一个好的体系结构 软件过程中与体系结构相关的活动 软件体
                
原创力文档
                        

文档评论(0)