https://www.myziyuan.com/
- dafvzzz9
- 软件工程中的功能需求和非功能需求的区别为:性质不同、约束不同、关联不同。一、性质不同1、功能需求:功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。2、非功能需求:非功能需求描述了系统展现给用户的行为和执行的操作等。二、约束不同1、功能需求:功能需求定义了对系统提供的服务或功能的约束,包括时间约束、空间约束、开发过程约束及应遵循的标准等。2、非功能需求:非功能需求源于用户的限制,包括预算的约束、机构政策、与其他软硬件系统间的互操作,以及如安全规章、苹果签名系统隐私权保护的立法等外部因素。三、关联不同1、功能需求:功能需求与软件系统本身有关。2、非功能需求:非功能需求不仅与软件系统本身有关,还与系统的开发过程有关。
- 2021-12-15 04:18:20
- 飞创科技
- 功能需求应该具体完成内容。例如,例如客户登录,邮箱网站,发送和接收邮件,发布消息.NON功能需求是指符合用户业务需求的软件产品,包括功能要求以外的特点,包括系统性能,可靠性,可维护性,可扩展性和对技术的适应性等:性能要求:要求系统同时满足100人,页面反应时间不能超过6秒;可靠性:系统可以在7×24小时内连续运行,同比停机时间不高于8小时。必须能够快速部署,特别是当系统失败时,可以快速切换到待机状态机器。
- 2021-12-15 04:17:08
- xiaozhang
- 你能给出一些非功能性(或者质量)需求的例子么,所谓非功能性需求,是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。软件产品的非功能性需求包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。下面对其中的某些指标加以说明。在这里可以看到非功能性需求涉及的范围很广,软件产品本身不是孤立存在的,还涉及到诸多外在环境的影响。非功能性需求必须考虑软件既要可用,又要易用。对于非功能性需求描述的困难在于很难像功能性需求那样,可以通过结构化和量化的词语来描述清楚,在描述这类需求时候我们经常采用软件性能要好,查询要在多少时间内出结果,软件健壮性要好等较模糊的描述词语。这类描述词语都是脱离了软件的执行环境,人和相关的场景的描述,因此信息很难体现到软件架构设计和具体的实现中。我们在架构设计中关注的安全,系统开发框架,并发和性能,异常日志等不是凭空产生出来的,而是来源于我们对非功能性需求的分析。一个软件系统必须完整,因此不仅仅包括了可执行的程序,还包括了在线帮助,数据和用户管理,日志异常查询,自动升级等相关功能特征。这些需求不仅仅是为了满足用户的需要,也是为了我们后续维护和监控系统的需要。系统的可靠性,可维护性和适应性是密不可分的。当系统出现故障和用户出现错误的操作后是否支持恢复,当用户在使用过程中遇到错误的时候是否可以立即定位问题,但业务场景和逻辑发生变化的时候系统是否支持,当网络不稳定或使用中异常中断的情况下系统是否都有相应的容错措施,这些都是需要在非功能性需求中考虑到的问题。易用性也是我们在开发非功能性需求中必须要考虑到的问题,易用性同时还涉及到美工和UI界面,人机工程,交互式设计,心理学,用户行为模式等多方面的知识。易用性的三原则就是易见,易学和易用或者叫为发现,易懂,效率。易见就是各种功能操作不要藏得太深,用户很容易找到他们期望进行的各种操作;易学需要软件系统通过在线帮助,导航,向导等各种方式保证软件是可自学习的;易用的重点则在软件在熟练使用后应该可以更快的进行各项操作。这三者相互间也存在冲突,需要平衡,而平衡的一个重点就是真正的做到以用户为中心进行设计,需要去细分场景和用户。对于非功能性需求的描述,在描述过程中必须要强调到人,业务场景,环境等各方面的内容。强调的目的就是要说明非功能性需求不是无限度的,任何一项非功能性需求的实现往往会付出更大的研发人力成本和硬件网络成本。比如我们在描述一个表单的模糊查询功能的时候,如果简单的描述为所有查询都要在多少秒内完成,那么这种需求将很难得到满足,以下是一些可选的描述方式。1.估计用户数为1万人,每天登录用户数为3000左右,网络的带宽为100M带宽。2.在非高峰时间根据编号和名称特定条件进行搜索,可以在3秒内得到搜索结果。3.当通过互联网接入系统的时候,期望在编号和名称搜索时最长查询时间<15秒。有了这些场景和数据后,我们在进行架构设计的时候就可以有针对性的选择我们的开发框架和模式,数据库,软硬件环境配置已经复杂功能的具体实现方式等。同时这些需求还可以更好的指导我们对通过性能测试等工具对这些非功能性需求进行验证。
- 2021-12-15 04:17:08