性能需求(PerformanceRequirements):指响应时间、吞吐量、准确性、有效性、资源 利用率等与系统完成任务效率相关的指标。可靠性、可用性等指标归为此类。
安全性需求(SecurityRequirements):系统向合法用户提供服务并阻止非授权用户使用服务 方面的系统需求。
操作性需求(OperationalRequirements):与用户操作使用系统相关的一些需求。
文化需求(CulturalRequirements):带有文化背景因素的系统需求。
**非功能性需求通常被看做是“能力”,主要和服务质量有关。**包括以下方面:
1. 性能,通常指响应时间或延迟。
2. 可伸缩性,软件处理更多的用户,请求,数据,消息等的弹性能力。
3. 可用性,软件对服务请求的可操作性和可见程度。常常用多个“9”来衡量,例如99.99%,99.999%,即系统正常运行时间的百分比。
4. 安全性,安全性涵盖了从认证和授权到数据在传输和存储中的机密的所有事情。
5. 灾难恢复,如果失去一个运行了你的软件的硬盘,服务器或数据中心,会发生什么?也就是发生灾难事件时,应该做什么才能保持持续运行的状态。
6. 可访问性,通常指如何让视觉障碍之类的残疾人也能使用你的软件。
7. 监测,如何监测软件系统才能确保它们正常运行和满足服务请求。
8. 管理,暴露一些功能,使得操作人员能够修改系统运行时的拓扑结构或配置元素。
9. 审计,引起系统软件中数据或行为变化的事件的日志。
10. 可扩展性,指扩展软件使其可以做一些现在还不能做的事的能力,也许是通过使用插件和API。
11. 可维护性,代码库以后将由谁来维护?维护周期在软件生命周期往往占了很长一段时间。
12. 法律法规,为了遵从当地法律法规或监管机构的严格管理所需要做的事情。
13. 国际化,指以多种语言交付软件中用户可见元素的能力,例如有些语言是从右向左书写的。
14. 本地化,指以符合最终用户文化习俗的方式展现数字,货币,日期等内容。有时候国际化和本地化也统称为“全球化”。
(1)实体用于数据建模,而类用于面向对象建模。实体只有属性,而类有属性和操作。
(2)Essential Use Cases 可翻译为抽象用例,而RealUseCases可翻译为基础用例。 区别在于:基础用例是实实在在与用户需求有对应关系的用例,是从用户需求获取的渠道得 到的,而抽象用例是从基础用例中抽取的用例的公共部分,是为了避免重复工作,优化结构 而提出的用例
面向对象方法中通常采用用例(UseCase)来捕获系统的功能需求。
BMTS 的消息通信网络主要特征为:能适配不同的传输介质,以及适配不同的协议,屏蔽不 同协议之间的差异,简化通信过程降低系统复杂度。
事件触发消息:以事件作为触发方式,事件发生便触发相应消息。
速率约束消息:传输速率固定的消息。
时间触发消息:以时间作为触发方式,到达时间点便触发相应消息。
具有时间触发消息能力的网络总线:
航空电子全双工交换式以太网(AvionicsFullDuplexSwitchedEthernet,AFDX) 时间触发以太网(Time-TriggeredEthernet,TTE)
MemCache | Redis | |
---|---|---|
数据类型 | 简单 key/value 结构 | key/value,list,set,hash,sorted |
持久性 | 不支持 | 支持 |
分布式存储 | 不支持 | 多种方式,主从、Sentinel、Cluster等 |