通过这一个月的阅读,我终于读完了《软件需求模模式》这本书,前两个读书笔记已经把这本书的几种模式介绍了,之前有基础需求模式,信息需求模式,数据实体需求模式,用户功能需求模式。这次介绍的是性能需求模式,适应性需求模式,访问控制需求模式和商业需求模式。
性能需求模式包括五种的性能的需求模式:影响时间(系统需要多少时间完成一个请求)、动态容量(系统能够同时处理多少件事)、吞吐量(系统处理时间的速率)、静态容量(系统可以保存多少某种类型烦的实体)和可用性(什么时候系统对用户是可用的,以及多么可靠)。
当我们对性能的某方面定义时,如果他值得定义,那就仔细考虑定义好;若不值得,就省略他。在做需求的过程中经常遇见性能问题:1.编写容易等同于实现困难。2.我们定义一个完整的运行还是只是软件。3.性能指标适用于系统的哪个部分?4.避免武断的性能指标。5.性能因素对系统有多大的影响?6.怎样可以测量实际的性能?7.到什么时候性能指标需要满足?8.在每一个需求中之定义一个性能指标。9.如果性能指标没有达到该怎么办。在具体分析那五个需求模式时,都有各自的注意事项和处理步骤。
适应性需求模式通常有助于产生跟健壮的系统,并满足特定的目标。但有些适用性使用很昂贵。其中主要包括6方面:可伸缩性(准备好处理业务容量的增加)、可扩展性(能够容易的插入额外的软件)、安装性(安装系统的容易程度)、非狭窄性(避免限制在其他地方安装)、多样性(同时支持多个公司、货币等)、多语言(同时支持多语言用户界面)。软件会慢慢变老,在不断地修改中,对系统构架施加额外的压力。所以重构,有意识的整理软件,可以看做减缓衰老进程的一种努力。可以更有效的减缓退化的过程。可扩展性是一种适用性,有助于延长软件的寿命。适用性是系统设计色的基础,而且适用性需求和性能需求有复杂的关系。适用性需求主要影响软件的性质;性能需求则主要影响所需要的硬件,要特别注意适应性和性能之间的长期和短的权衡。
访问控制有3个主要活动组成:1.使系统知道有关人员(用户注册)2.确认用户是译制人员(用户认证)3.控制用户可以做什么和看什么(用户授权)。访问控制需求模式适唯一的有关安全的需求模式,但对访问控制进行需求分析时,要包括:用户类别、用户详细信息(身份详细信息、认证信息、事实、选择、访问权限)、注册流程、密码、用户认证和确认、权限等。
商业需求模式包括费/税和多组织单员(业务结构,办事处,公司等)多组织单元需求包括:单元类型名称、单元类型定义、父单元类型、特征、预计的实例数等,还可以额外的包括访问控制、单元标识符等。费/税需求包括:名称、基础、起源、条件、什么时候征收、付款人、收款人、费率的决定因素、系统的责任、参考。还可以额外的包括特殊情况和因素、人为干涉、费用金额的理由。
读完这本书,我有了很大的进步,书中描述的37个模式,为编写软件需求提供了特定情形中的框架。是我对每一种模式详细描述需要包括哪些信息,提醒常见缺陷,以及建议需要考虑的额外的需求有了很深的了解。无论使用传统的分析方法或敏捷方法,都可以学习如何使用需求的模式,从而为成功的软件开发编写一致的、有效的需求。我从中学到了:识别系统间的接口、技术以及文档需求。定义详细的信息需求,包括归档、数据类型以及数据实体。指定系统的可用性、容量、伸缩性、扩展性以及易用性。定义访问控制,包括用户注册、认证以及授权。指定查询、报表、计算公式以及费和税的需求。最重要的之学会了如何编写自己的需求模式。