体系结构定义:
四个角度:概念角度描述系统的主要构件及它们之间的关系。
模块角度包含功能分解与层次结构。
运行角度描述了一个系统的动态结构。
**角度描述了各种**和库函数在开发环境中的组织。
三大要素:构件(component):计算单元或者数据存储单元。
连接件(connector)
约束(constrain)
软件体系结构的优势:
容易理解。重用。
控制成本。可分析性。
软件体系结构风格:描述某一特定应用领域中系统组织方式的惯用模式(一种惯用套路)
包含:一个词汇表;一些构件和连接件类型。
一组约束:系统如何将构件和连接件组合起来。
经典的体系结构风格:
数据流风格:
批处理序列。
管道/过滤器:构件读输入的数据流,经过内部处理,然后产生输出数据流。
调用/返回风格:
主程序/子程序。
面向对象风格。
层次结构。独立构件风格:
进程通讯。事件系统。
虚拟机风格:
解释器。基于规则的系统。
仓库风格:数据库系统。
超文本系统。
黑板系统。过程控制环路。
c/s风格:
组成:1.数据库服务器:
数据库安全性要求。
数据库访问并发性的控制。
数据库前段的客户端应用程序的全局数据完整性规则。
数据库的备份和恢复。
2.客户端应用程序:
提供用户与数据库交互的界面。
向服务器提交请求并接收服务器信息。
利用客户端应用程序对存在于客户端的数据执行应用逻辑要求。
3.网络。优点:
易于理解。灵活性。
成本低。缺点:
开发成本高。
客户端复杂。
形式单一。界面风格不一致。
移植困难。新技术不能轻易应用。
b/s风格。
需求工程:需求:指明必须实现什么的规格说明,它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。
分类:业务需求:反应组织机构或客户对系统、产品高层次的目标要求(通常问题定义本身就是业务需求)
用户需求:描述用户使用产品要完成什么任务、如何完成的需求。
系统需求:从系统的角度来说明软件的需求。
包括:功能需求:系统必须完成的那些事(需求的本质)
非功能需求:产品必须具备的属性或品质(正确性、可靠性、性能、容错性、可扩展性等)
设计约束:对解决方案的一些约束说明。
需求开发:需求调查。
需求分析。需求定义。
需求管理:需求确认。
需求跟踪。需求变更控制。
需求获取:方法:面谈、问卷调查、会议、用例与角色扮演、原型设计。
面谈结构:金字塔形。
漏斗形。菱形。
面谈基本规则:
先业务后用户需求(先领导后普通员工)
领导漏斗。普通用户菱形,必要时金字塔。
用例建模:用例图。
用例描述文档。
步骤:识别执行者:人、其他系统、自动发生的事。
识别用例:系统执行过程中的一系列动作。
要点:有意义的目标。
结果由系统生成。
业务语言、用户观点。
用例命名。用例“粒度”
执行者】使用系统来【用例】
绘制用例图。
书写用例文档。
检查用例模型:
功能需求完备性。
模型是否易于理解。
是否存在不一致性。
避免语义二义性。
用例的内容。
用例编号。用例名。
执行者。前置条件。
后置条件。基本路径。
其他uml图形:
对象状态的描述——状态图。
工作流程的描述——活**。
交互次序的描述——顺序图。
软件体系结构复习提纲
1 软件危机的原因?表现?原因 1 用户需求不明确2 缺乏正确的理论指导3 软件规模越来越大4 软件复杂度越来越高。表现 1 软件成本日益增加2 开发进度难以控制3 软件质量差4 软件维护困难。构件?构件库的组织方式?构件重用的四个阶段?过程 构件 具有某种功能的可重用的软件模板单元,表示了系统中主...
软件体系结构
课程名称 软件体系结构。课程编号 c304 课程学分 2 适用学科 计算机应用技术。software architecture 教学大纲。一 课程性质。本课程是为计算机应用专业研究生开设选修课。软件体系结构是软件开发设计的高级课程,对培养计算机应用专业研究生今后从事大型软件开发工作有重大意义。二 课...
软件体系结构
课程名称 软件体系结构。课程编号 c304 课程学分 2 适用学科 计算机应用技术。software architecture 教学大纲。一 课程性质。本课程是为计算机应用专业研究生开设选修课。软件体系结构是软件开发设计的高级课程,对培养计算机应用专业研究生今后从事大型软件开发工作有重大意义。二 课...