《软件工程》 课件 6.1 软件系统设计_第1页
《软件工程》 课件 6.1 软件系统设计_第2页
《软件工程》 课件 6.1 软件系统设计_第3页
《软件工程》 课件 6.1 软件系统设计_第4页
《软件工程》 课件 6.1 软件系统设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

软件工程第六章面向对象设计6.1软件系统设计6.1软件系统设计6.1.1架构设计6.1.1架构设计从80年代末开始,软件的规模和复杂度急剧增加,适用于2~3层小楼房的传统架构已经远远不能满足几十层甚至更高的现代高楼大厦的需求了,软件开发面临着越来越多的风险和挑战。为了更好地开发出功能更加强大、更为复杂的软件系统,业内学者与技术人员在20世纪90年代初,提出了软件体系结构即软件架构。顾名思义,软件架构以类似建筑学的观点来构造软件系统,它能够在给出满足所有技术需求的解决方案的同时,优化诸如质量、安全性和可管理性之类的通用质量属性,对整个系统的可扩展性、可靠性、强壮性、灵活性、性能、功能、成本、可维护性和整体成功产生重大影响。6.1.1架构设计“软件体系结构”一词多用于学术研究领域使用,“软件架构”多用于工程实践领域,二者的英文名都是“SoftwareArchitecture”,在IEEE中的定义均为:“一个系统的基础组织,包含各个构件、构件互相之间与环境的关系,还有指导其设计和演化的原则。”软件架构师设计软件构架,以作为满足不同客户需求的实际系统设计方案的基础,包括软件的模块化、模块之间的交互、用户界面风格、对外接口方法、创新的设计特性、以及高层事物的对象操作、逻辑和流程。软件体系结构的开发是大型软件系统开发的关键环节。6.1.1架构设计基于同一个软件体系结构,可以创建具有不同功能的多个软件系统。在软件产品族之间共享体系结构和一组可重用的构件,可以增加软件工程的质量和降低开发和维护成本。如何选择一个好的框架应用在项目中,对项目开发的效率、可重用及成功是至关重要的。软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。6.1.2数据库设计数据库(DataBase,DB)是永久性地存储和组织大量数据的“仓库”,是大量数据的集合。数据库DataBase6.1.2数据库设计若目标软件系统需要数据库,则需要根据目标软件系统的需求,选择适合的数据库管理系统;数据库设计;根据数据库设计在已选择的数据库管理系统上创建该数据库。数据库的主要挑战是“高速处理大容量的数据”。数据库的性能取决于两方面:数据库设计数据库管理系统6.1.2.1数据库数据库有两种类型:关系型数据库非关系型数据库6.1.2.1数据库1、关系型数据库(RelationalDataBase)6.1.2.1数据库结构化查询语言(StructuredQueryLanguage,SQL)关系型数据库采用结构化查询语言(StructuredQueryLanguage,SQL)来对数据库进行操作。SQL是为数据库行业的标准,它能够支持数据库的CRUD操作(增加create,查询require,更新update,删除delete),及求和、排序等功能。SQL可以采用类似索引的方法来加快查询操作。关系型数据库对于结构化数据的处理更合适,如学生成绩、订单信息、产品信息等。6.1.2.1数据库2、非关系型数据库(NoSQL)NotOnlyStructuredQueryLanguage优势:数据库结构相对简单,在大数据量下的读写性能好;能满足随时存储自定义数据格式需求,非常适用于大数据处理工作。NoSQL数据库对于非结构化数据的处理更合适。如文章、评论,这些数据如全文搜索、机器学习通常只用于模糊处理,并不需要像结构化数据一样,进行精确查询,而且这类数据的数据规模往往是海量的,数据规模的增长往往也是不可能预期的,而NoSQL数据库的扩展能力几乎也是无限的,所以NoSQL数据库可以很好的满足这一类数据的存储。6.1.2.2数据库管理系统数据库管理系统(DataBaseManagementSystem,DBMS)是一个能够科学地组织和存储数据,高效地获取和维护数据的系统软件,是位于用户和操作系统之间的数据管理软件。主要功能数据定义、组织、存储、操作、事务管理、数据库建立和维护管理、以及跟其他软件系统通信等。6.1.2.2数据库管理系统用户通过DBMS访问数据库中的数据。数据库管理员通过DBMS进行数据库的维护工作

——数据库管理员(DataBaseAdministrator,DBA)DBMS提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立、修改和询问数据库。它使用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库。6.1.2.3数据库设计数据库设计(DatabaseDesign)是指根据目标软件系统的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。绝大部分永久性数据保存在数据库中,因此数据库对软件系统的重要性不言而喻。只有设计良好的数据库,才能提高软件系统的整体性能,才能为用户提供更高质量的服务。6.1.3功能模块设计如果一个问题由多个问题组合而成,那么这个组合问题的复杂程度将大于分别考虑这些问题的复杂程度之和。软件系统功能模块化就是将程序划分成若干个功能模块,每个功能模块完成一个子功能,再把这些功能模块总起来组成一个整体,以满足整个系统的功能要求。要选择合适的功能模块数量。6.1.3功能模块设计血液循环系统淋巴系统呼吸系统消化系统内分泌系统......销售管理采购管理仓库管理生产计划管理财务管理……子系统人体企业管理信息系统6.1.3功能模块设计软件系统功能模块的设计原则:高内聚&低耦合通过抽象、数据封装和信息隐藏,可以做到高内聚、低耦合。6.1.4数据结构与算法设计曾经流行的一种说法:程序=数据结构﹢

算法数据结构与算法如同人的神经和肌肉,

温馨提示

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

评论

0/150

提交评论