该系统拟采用支付宝和快钱进行第三方结算 。目前这两家公司向其他客户提供Web服务接口 。
承接方希望在年度内完成开发,因为他们下一年要被一家外资公司执行收购 。第一步,获取约束 业务环境存在哪些约束?投资方投资额限制、会员增长率、第三方系统集成要求。
使用环境存在哪些约束?全球农民或农场主为系统的使用者,隐含一个设计约束:系统操作简单 。有些农村地区网络质量差,带宽小 。
构建环境存在哪些约束?系统开发商有对开发时间的限制 。技术环境存在哪些约束?可能以Web服务方式集成 。
第二步,分析约束,发现功能性需求和软件质量属性 。直接的设计约束:以Web服务方式集成,开发周期,多语言版本等等 。
可引出功能需求:“主要功能是提供一个便捷、快速的交易流程”,并且,全球农民或农场主为系统的使用者,这就要求系统能够进行产品快速搜索和产品比价 。可引出质量需求:“有些农村地区网络质量差,带宽小 。”
在网络环境差的条件下保证系统的可用性等 。
6. 为什么非功能性需求很重要 不要脱离实际环境
有时,我们会因为读到一篇文章或一本书,或者看到一个感觉不完善的介绍而变得异常偏执 。在每种情况下,人们只讨论一些技术、解决方案和选项的某些方面,而忽视了一个至关重要的问题:非功能性需求 。
诚然,功能性是非常重要的 。毕竟,如果您不能展示您构建的系统实现了您想要的功能,那么谁会有兴趣呢?采取一种新颖、巧妙、更简单、更漂亮或更得体的方法来解决某种问题固然很好,但是如果您没有考虑非功能性需求,则您的解决方案可能无法取得实效 。
非功能性需求是这样一种需求,它不一定解决“我想要我的系统实现这种功能”,而是解决“如何使这个系统能在实际环境中运行” 。对于这些实际环境,您很少听到人们提及的一些问题是:MILY: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">◆
对在线系统的请求过多:用户太多了,全都在一块了!◆部署应用程序的管理员负担过大:在实际环境中,管理员对每个应用程序都将部署多次,而在部署之后必须对每一个应用程序进行监视 。◆管理员会犯错误:毕竟,我们大多数都是普通人!虽然无差错地执行100 次手动部署步骤在理论上是可能的,但是实际环境中没有出现过 。◆会有恼人的脚本小子 (script kiddy) 和真正的破解高手攻击我们的系统:安全是多么重要啊!
可靠性需要考虑的一些具体方面是:
可用性如果用户不能够从他们可用的渠道(例如 Web)方便地访问您的产品,那么它的好处何在呢?这有时是作为功能性的一部分一起考虑(或者应该在理想的环境下)的,但是常常被忽视,以致于整个项目处于危险之中 。这里需要考虑的一些问题是:◆您是否为用户带来不适当的负担(例如,需要特殊的浏览器版本)?◆系统是否根据模型-视图-控制器 (Model-View-Controller) 体系结构设计以使多用户界面成为可能?如果是这样,如何将它们绑定在一起?◆是否界面本来就有状态而功能无状态(反之亦然)?有效性如果没有有效地使用资源(例如处理器、内存和磁盘空间),功能性、可靠性和可用性再好的系统最后都会失败 。我们经常发现将有效性划分成两个子范围是很有用的,这两个子范围都应该加以考虑:◆性能:这个系统的运行情况有多好?它只是平稳缓慢地运行吗?系统可以达到其响应时间目标吗?应用程序的设计是否符合性能要求?您利用缓存了吗?◆可伸缩性:如果系统在小范围内运行看起来相当快,那么当扩展至每秒、每分钟或者每小时几千或成千上万个活动的时候呢?它的设计是否达到吞吐量目标?可以复制系统来实现线性扩展吗?是否存在瓶颈(例如公共数据库)?可维护性这是一个极其重要的需求,因为如果开发人员、管理员和操作人员不能够解决如何管理应用程序的问题,则它在首次发布之前就会夭折 。假设您是一位管理员,您承担了解决此问题的任务,那么您如何配置它?如何监视它?如果您一件事情需要执行很多次(例如,安装许多应用程序),那么会怎么做呢?您是否有一个可复制的部署流程呢?您是否可以使重复的任务自动化,使之在大范围内可行呢?可移植性虽然列在最后,但它并非最不重要 。例如,如何采用标准来提供某种形式的平台中立性呢?是否计划将应用程序迁移到您的最新和最高版本的应用服务器上呢?如果不打算这样做,则当供应商撤消对该版本的支持时您要怎么做呢?如果您的项目基于开放源代码,则也有类似的问题 。如果每当某人有个更好的捕鼠器 (mousetrap) 您就必须重写整个应用程序,则没有人会问津 。
- 非洲茉莉对家居环境的影响-非洲茉莉的风水学应用
- 非常写一句话怎么写
- 感康主治功能 感康的功能主治介绍
- 非常幸运英文怎么写
- 非洲肺鱼和澳洲肺鱼 南美肺鱼是什么鱼
- 华为手机自动录音功能怎么设置 华为手机自动录音功能怎么删除
- 微店的功能介绍怎么写
- 功能性灭绝什么意思 功能性灭绝什么意思啊
- 关于花非花雾非雾小说的介绍 花非花雾非雾小说
- 什么原因导致眼睛出血啊