《第3 章软件需求.ppt》由会员分享,可在线阅读,更多相关《第3 章软件需求.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3 3 章章 软件需求软件需求首都师范大学3.1 软件需求概述软件需求是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。软件需求虽处于软件开发过程的开始阶段,但它对于整个软件开发过程以及软件产品质量是至关重要的。3.2软件需求的任务软件需求的主要任务就是要通过软件开发人员与用户的交流和讨论,准确地获取用户对系统的具体要求。在正确理解用户需求的前提下,软件开发人员还需要将这些需求准确地以文档的形式表达出来,作为设计阶段的依据。软件需求阶段结束时需要提交的主要文档是软件规格说明书。3.2
2、软件需求的任务用户对系统的需求通常可分为如下两类:(1)功能性需求:主要说明了待开发系统在功能上实际应做到什么,是用户最主要的需求。通常包括系统的输入、系统能完成的功能、系统的输出及其他反应。(2)非功能性需求:从各个角度对所考虑的可能的解决方案的约束和限制。主要包括:过程需求(如交付需求、实现方法需求等)、产品需求(如可靠性需求、可移植性需求、安全保密性需求等)和外部需求(如法规需求、费用需求等)等。3.3 软件需求的步骤软件需求阶段的工作,可分为几个步骤进行:(1)通过调查研究,获取用户的需求。软件开发人员通过认真细致的调查研究,获得进行系统分析的原始资料。需求信息的获取可来源于阅读描述系
3、统需求的用户文档;对相关软件、技术的市场调查;对管理部门、用户的访问咨询;对工作现场的实际考察等。3.3 软件需求的步骤(2)去除非本质因素,确定系统的真正需求。对于获取的原始需求,软件开发人员需要根据掌握的专业知识,运用抽象的逻辑思维,找出需求间的内在联系和矛盾,去除需求中不合理和非本质的部分,确定软件系统的真正需求。3.3 软件需求的步骤(3)描述需求,建立系统的逻辑模型。建立软件需求模型是需求分析的核心工作,它通过建立需求的多种视图,揭示出需求的不正确、不一致、遗漏和冗余等更深的问题。3.3 软件需求的步骤(4)书写需求说明书,进行需求复审。需求阶段应提交的主要文档包括需求规格说明书、初
4、步的用户手册和修正后的开发计划。为了保证软件开发的质量,对软件需求阶段的工作要按照严格的规范进行复审,从不同的技术角度对该阶段工作做出综合性的评价。复审即要有用户参加,也要有管理部门和软件开发人员参加。3.4 软件需求特性在计算机发展的早期,所求解问题的规模较小,需求分析被忽视。随着软件系统复杂性的提高及规模的扩大,软件需求在软件开发中所处的地位愈加突出,从而也愈加困难,它的难点主要体现在以下几个方面:3.4 软件需求特性(1)问题的复杂性。这是由用户需求所涉及的因素繁多引起的,如运行环境和系统功能等。(2)交流障碍。软件需求涉及人员较多,如软件系统用户、问题领域专家、需求工程师和项目管理员等
5、,这些人具备不同的背景知识,处于不同的角度,扮演不同角色,造成了相互之间交流的困难。(3)不完备性和不一致性:由于各种原因,用户对问题的陈述往往是不完备的,其各方面的需求还可能存在着矛盾,软件需求要消除其矛盾,形成完备及一致的定义。(4)需求易变性。用户需求的变动是一个极为普遍的问题,即使是部分变动,也往往会影响到软件需求的全部,导致不一致性和不完备性。为了克服上述困难,人们主要围绕着软件需求的方法及自动化工具(如CASE技术)等方面进行研究。3.5 软件需求实例用户的需求可用例图来捕获,用例图从用户的角度来描述系统的功能,也表示了操作者与系统的一个交互过程。通过用例建模,描述对系统感兴趣的外
6、部角色和他们对系统的功能要求。本节结合实例讨论如何获取用户需求并建立系统的用例模型。我们通过确定系统的执行者、确定用例和编写用例描述文档来建立系统的用例模型。下面给出需求分析报告实例。“图书管理系统”需求分析报告(实例)1.引言参见2.3 可行性分析报告的引言。“图书管理系统”需求分析报告(实例)2.需求概述2.1 目标“图书管理系统”主要提供图书信息和读者基本信息的维护以及借阅等功能。该系统针对的用户是单个中小型图书室,藏书的种类和数量较少,系统需要操作方便,方便管理员对整个系统管理和学生借阅书的方便。2.2 用户类和特征 最终的用户是图书管理员和读者,图书管理员需要进行用户的创建、修改和删
7、除等工作,要求具备计算机知识,如权限管理等。读者是普通用户,具备一定的计算机操作知识即可。2.3 运行环境参见2.3 可行性分析报告的运行环境。“图书管理系统”需求分析报告(实例)3.功能需求本系统相应的需求有:(1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:图书信息的录入、删除及修改。图书信息的多关键字检索查询。图书的出借、返还和资料统计。(2)能够对一定数量的读者进行相应的信息存储与管理,这其中包括:读者信息的登记、删除及修改。读者资料的统计与查询。能够提供一定的安全机制,提供数据信息授权访问。“图书管理系统”需求分析报告(实例)需求补充说明:(1)
8、数据保存:需要长期保存在数据库的数据有:图书信息:图书的基本信息;读者信息:读者的基本信息;借阅信息:图书的借阅信息;帐号信息:图书管理员和读者的登录帐号;(2)系统用户:图书管理员、读者。图书管理员:对图书和读者数据可执行添加、修改、删除以及查询等操作。读者:可查询图书以及查询与本人相关的借阅信息。“图书管理系统”需求分析报告(实例)3.1 确定执行者 执行者是与系统交互的外部实体,它既可以是人员也可以是外部系统或硬件设备。确定执行者可以通过提出以下问题得到:谁使用系统的主要功能?谁需要系统的支持以完成日常工作任务?谁从系统获取信息?谁负责维护和管理系统以保证其正常运行?系统需要应付(处理)
9、哪些外部硬件设备?系统需要和哪些外部系统交互?在本例中,可以确定“图书管理员”和“读者”为系统的执行者。“图书管理员”负责使用系统的主要功能,“读者”从系统中获取所需的信息。“图书管理系统”需求分析报告(实例)3.2 确定用例用例描述了一个完整的系统事件流程,其重点在于执行者与系统之间的交互而不是内在的系统活动,并对执行者产生有价值的可观测结果。确定用例可以通过提出以下问题得到:参与者需要从系统中获得什么功能?参与者需要做什么?参与者读取、产生、删除、修改或存储系统的某些信息吗?系统中发生事件需要通知参与者吗?参与者需要通知系统某件事情吗?系统的输入/输出信息是什么?这些信息从哪儿来到哪儿去?
10、采用什么实现方法满足某些特殊要求?本例中我们通过一定的调研和分析得到的“图书管理系统”的用例图,如图3.1所示。“图书管理系统”需求分析报告(实例)图3.1 用例图“图书管理系统”需求分析报告(实例)3.3 编写用例文档用例图不能提供用例所具有的全部信息,因此需要使用文字描述那些不能放映在图形上的信息。用例文档是关于执行者与系统如何交互的规格说明,要求清晰明确,没有二义性。在描述用例时,应该只注重外部能力,不涉及内部细节。下面给出本例中的用例文档。“图书管理系统”需求分析报告(实例)1.图书信息的维护用例用例名:图书信息的维护参与执行者:图书管理员入口条件:图书管理员已经登陆到该系统中。“图书
11、管理系统”需求分析报告(实例)事件流:当有新书入库时,图书管理员在录入页面输入书的信息,点击提交按钮,系统将书的信息保存到数据库中;当某一本图书的信息需要修改时,图书管理员通过输入查询条件,搜索出该书时,点击修改按钮,系统在可编辑状态显示图书的当前信息,图书管理员修改具体信息,点击保存按钮,系统将更新数据库中该书的信息;当需要删除一个或多个图书时,图书管理员查找到需要删除的图书记录,点击删除按钮,系统提示“确实要删除?”对话框,当管理员选择“是”,系统将删除数据库中相应图书的信息,反之,则不进行任何操作。“图书管理系统”需求分析报告(实例)出口条件:系统将数据库中的信息进行相应的操作:添加图书
12、信息时,将新的图书信息保存在数据库中;修改图书信息时,将数据库中该图书的信息做相应的更新操作;删除图书信息时,则删除数据库中的相应图书记录。异常事件:在图书进行修改和删除时,先查出需要进行处理的图书记录,如果数据库中不错在符合条件的记录,查询无结果时,则无法进行修改和删除操作。“图书管理系统”需求分析报告(实例)2.读者信息的维护用例用例名:读者信息的维护参与执行者:图书管理员入口条件:图书管理员已经登陆到该系统中。“图书管理系统”需求分析报告(实例)事件流:当有新的读者时,图书管理员在录入页面输入读者的信息,点击提交按钮,系统将读者的信息保存到数据库中;当某一本读者的信息需要修改时,读者管理
13、员通过输入查询条件,搜索出该读者信息时,点击修改按钮,系统在可编辑状态显示读者的当前信息,读者管理员修改具体信息,点击保存按钮,系统将更新数据库中该读者的信息;当需要删除一个或多个读者时,图书管理员查找到需要删除的读者记录,点击删除按钮,系统提示“确实要删除?”对话框,当管理员选择“是”,系统将删除数据库中该图书的信息,反之,则不进行任何操作。“图书管理系统”需求分析报告(实例)出口条件:系统将数据库中的读者信息进行相应的操作:添加读者信息时,将新的读者信息保存在数据库中;修改读者信息时,将数据库中该读者的信息做相应的更新操作;删除读者信息时,则删除数据库中的相应读者记录。异常事件:在进行修改
14、和删除读者信息时,先查出需要进行处理的读者记录,如果数据库中不错在符合条件的记录,查询无结果时,则无法进行修改和删除操作。“图书管理系统”需求分析报告(实例)3.图书信息的查询用例用例名:图书信息的查询参与执行者:图书管理员、读者入口条件:无事件流:通过交互界面输入查询条件(如书名,作者名等)搜索图书记录。出口条件:若有符合条件的课程信息,则系统显示这些图书信息。否则系统提示用户重新输入查询条件。“图书管理系统”需求分析报告(实例)4.读者信息的查询用例用例名:读者信息的查询参与执行者:图书管理员入口条件:用户已经登陆到该系统中。事件流:通过查询界面输入查询条件(如读者证,读者姓名等)搜索待读
15、者记录。出口条件:若有符合条件的读者信息,则系统显示读者信息。否则系统提示用户重新输入查询条件。“图书管理系统”需求分析报告(实例)5.查询个人基本信息用例用例名:查询个人基本信息参与执行者:读者入口条件:用户已经登陆到该系统中。事件流:点击查询个人基本信息按钮。出口条件:系统显示读者本人信息。“图书管理系统”需求分析报告(实例)6.查询个人借阅信息用例用例名:查询个人借阅信息参与执行者:读者入口条件:用户已经登陆到该系统中。事件流:点击查询个人借阅信息按钮。出口条件:系统显示读者的借阅信息。“图书管理系统”需求分析报告(实例)7.借书用例用例名:借书参与执行者:图书管理员、读者入口条件:图书
16、管理员已经登陆到该系统中。事件流:图书管理员在借书页面,输入图书编号和读者证号,点击保存。出口条件:系统将这条借书记录保存到数据库中。异常事件:如果该图书未入库,数据库中不存在该图书编号,提示“该书未入库”;如果数据库中不存在该读者证号,也相应的做出提示。“图书管理系统”需求分析报告(实例)8.还书用例用例名:还书参与执行者:图书管理员、读者入口条件:图书管理员已经登陆到该系统中。事件流:图书管理员在还书页面,输入图书编号,点击还书。出口条件:系统将删除数据库中这条借书记录。异常事件:如果数据库中不存在这本书的借阅记录,提示“非本馆借出的图书”,如果该书已过期,也相应的做出提示。“图书管理系统
17、”需求分析报告(实例)9.口令管理用例用例名:口令管理参与执行者:图书管理员、读者入口条件:用户已经登陆到该系统中。事件流:用户点击“修改密码”按钮,在口令修改页面输入新的密码,点击保存按钮。出口条件:数据库中的密码被修改成最新的密码。“图书管理系统”需求分析报告(实例)4.非功能需求4.1 性能需求 图书管理系统的使用者是图书管理员和在校学生。对于图书管理员的管理工作,性能要求不是很严格,但需要方便图书入库等操作。对于学生的图书借阅、查询等功能,对性能要求较高,一般需要达到并发数200以上。4.2 安全性需求 由于图书管理系统的图书量会非常大,所有在对这些图书导入和查询时要保证速度。在图书借阅过程中又要保证事务的完整性。对于整个系统,需要完整的权限控制,防止某些人恶意的攻击系统,修改原始记录。同时对于数据库中的数据需要定时备份,防止系统数据丢失。此外,系统要求用户在登陆时需要身份验证。“图书管理系统”需求分析报告(实例)5.故障处理在正常情况下,应不出错。一旦发生意外,比如掉电、网络不通等,应保证系统数据不会丢失。6.外部接口需求
限制150内