(四)需求规格说明(持续更新)

本文详细介绍了软件需求规格说明,重点关注体系结构优先权,包括模型-视图-控制器(MVC)、J2EE核心体系结构以及PCBMER模型。文章详细阐述了各模型的组成部分、工作原理和优缺点,同时讲解了状态规格说明,涵盖类建模、关联建模、行为规格说明等,为软件设计提供了全面的指导。
摘要由CSDN通过智能技术生成


1、为了完整的说明一个系统,有必要采用多种模型,UML提供了许多集成化的建模技术,规格说明的过程是 迭代增量的,产生3种模型:状态模型、行为模型、状态变化模型。

2、输入:叙述性的用户需求

输出:规格说明模型

3、规格说明阶段的结果是扩展的需求文档,通常称为规格说明文档(spec),其将最后取代需求文档

4.1 体系结构优先权

architectural prerogatives

1、需求规格说明涉及对需求确定期间定义的客户需求进行建模,重点在功能性需求上,通常不对非功能性需求做进一步考虑,但是系统约束可以指导和验证建模工作,这种指导和验证采用体系结构优先权的形式。

2、==软件体系结构定义了系统中相互作用的软件构件及子系统==的结构及组织形式

3、它是使系统具有适应性(包括3个子特性:可理解性、可维护性、可度量性)的必要条件最重要的条件

4、所有软件建模最重要的目标是:将构件依赖最小化

5、架构设计:层次化架构

4.1.1 模型-视图-控制器(MVC)

(模型model-视图view-控制器controller(MVC)框架)

1、MVC是体系结构框架体系结构元模型编程环境(Smalltalk-80)

2、自顶向下

3、在Smalltalk-80中,MVC将应用程序类分为3组,分别继承3个抽象类——模型(Model)、视图(view)、控制器(controller)

4、三个对象:

  • 模型:表示数据对象,模型是发布者,因此它不知道它的视图和控制器,它的变化由事件处理通报给视图和控制器
  • 视图:表示用户界面(UI),该模型的状态以用户需要的格式呈现在用户的图形界面上。视图对象包括子视图一个视图对象对应一个控制器对象
  • 控制器:表示鼠标和键盘事件。控制器对象响应视图的请求,完成与用户的交互

4.1.2 J2EE的核心体系结构

1、MVC几乎是所有现代框架的骨架,J2EE是以MVC为骨架的扩展

2、分层结构:

  • 表示层(包含应用程序构件):用户通过表示层来访问应用程序,在基于web的应用系统中,表示层由用户界面代码和运行于web服务器上的过程组成。包括MVC中的视图构件和控制器构件

  • 业务层(包含应用程序构件):包含表示层中的控制器构件还没实现的一部分应用逻辑,它负责确认和执行业务范围内的业务规则和事务。

  • 集成层(包含应用程序构件):承担着建立维护与数据源连接的单一职责,该层知道如何与数据库进行连接和通信。如:JDBC、JMS

  • 客户层(处于应用外围):用户通过客户层与系统交互,比如浏览器客户端

  • EIS(资源层)(处于应用外围):是任意的持久信息传递系统,可以是数据库或者外部SOA服务

4.1.3 表示-控制器-bean-中介者-实体-资源(PCBMER)

1、该框架借用了J2EE核心框架中的外层(客户层、EIS层)的名字

2、在PCBMER图中,层表示为UML结点,带箭头的虚线表示依赖关系。

  • 表示层依赖控制器和bean
  • 控制器层依赖bean和中介者和实体
  • 中介者依赖资源和实体

3、虽然是单向依赖,但是对象之间可以进行其他方向的通信——依赖最小化技术;如使用经由界面的通信或使用发布者/订阅者协议

4、这种体系结构提供了内聚和耦合的最佳组合,来满足系统的需求

4.1.3.1 PCBMER的层
  • 表示层:表示屏幕以及呈现bean对象的UI对象;表示层负责维护表示上一致性,因此依赖于bean层;两种方法实现:
    • 拉模型
    • 推模型
  • 控制器层:表示应用逻辑,响应UI请求,这些请求来源于表示层(get、post请求)
  • bean:表示那些预先确定要呈现在用户界面上的数据类和值对象,bean数据用户输入实体层创建
  • 中介者:建立了充当实体类和资源类媒介的通信管道。两个目的:
    • 隔离了实体层和资源层,两者变化能够独立引入
    • 当控制器发出数据请求时但它
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐的冲浪码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值