- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目需求分析与设计报告
软件需求分析(面向对象)
目录
1 引言 4
1.1 软件工程的生命周期 4
1.2 什么是需求分析?为什么要讲需求分析? 4
1.3 需求分析的方法与工程论 5
2 软件需求分析与定义 6
2.1 具体什么是需求 6
2.2 需求工程 7
3 面向对象分析(OOAD) 7
3.1 业务建模一般步骤和方法 9
第一步 10
第二步 11
第三步 12
第四步 12
第五步 13
第六步 13
第七步 13
3.2 什么是涉众 13
3.2.1 业主 14
3.2.2 业务提出者 14
3.2.3 业务管理者 14
3.2.4 业务执行者 15
3.2.5 第三方 15
3.2.6 承建方 15
3.2.7 相关的法律法规 16
3.2.8 用户 16
4 用户、业务用例和业务场景 16
用户 17
业务用例 18
5 用例实现、用例场景和领域模型 20
用例实现 21
用例场景 21
领域模型 23
6 用例规约的编写--业务规则和实体描述 24
6.1 业务规则 25
6.1.1 全局规则 25
6.1.2 交互规则 25
6.1.3 内禀规则 25
7 编写完整的 UML 需求规格说明书 27
7.1 用例补充规约 27
7.2 需求规格说明书 28
8 软件周期与交付文档关系 29
引言
软件工程的生命周期
软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,以项目管理的角度归纳为五大过程组:启动、规划、执行、监控、收尾。
什么是需求分析?为什么要讲需求分析?
所谓需求分析,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么”。需求分析是一项重要的工作,也是最困难的工作
(1)用户与开发人员很难进行交流
在软件生存周期中,其它四个阶段都是面向软件技术问题,只有本阶段是面向用户的。需求分析是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该做什么。但是在开始时,开发人员和用户双方都不能准确地提出系统要做什么?。因为软件开发人员不是用户问题领域的专家,不熟悉用户的业务活动和业务环境,又不可能在短期内搞清楚;而用户不熟悉计算机应用的有关问题。由于双方互相不了解对方的工作,又缺乏共同语言,所以在交流时存在着隔阂。
(2)用户的需求是动态变化的
对于一个大型而复杂的软件系统,用户很难精确完整地提出它的功能和性能要求。一开始只能提出一个大概、模糊的功能,只有经过长时间的反复认识才逐步明确。有时进入到设计、编程阶段才能明确,更有甚者,到开发后期还在提新的要求。这无疑给软件开发带来困难。
(3)系统变更的代价呈非线性增长
需求分析是软件开发的基础。假定在该阶段发现一个错误,解决它需要用一小时的时间,到设计、编程、测试和维护阶段解决,则要花2.5、5、25、100倍的时间。
因此,对于大型复杂系统而言,首先要进行可行性研究。开发人员对用户的要求及现实环境进行调查、了解,从技术、经济和社会因素三个方面进行研究并论证该软件项目的可行性,根据可行性研究的结果,决定项目的取舍。
试想,如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的.(相信大家都有体会)比如,用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,我想后果你懂的.
需求分析的方法与工程论
需求分析的方法有很多,有结构化分析(SA)、面向对象分析(OO)、JACKSON分析
结构化分析:
结构化分析(Structured Analysis,SA)是由Douglas Ross 提出的,由DeMarco进行推广的。采用自顶向下、逐层进行功能分解的系统分析方法来定义系统的需求。适用于分析大型的数据处理系统,侧重点在于功能分析和数据分析,而行为分析使用得较少。利用数据流图DFD、数据字典、结构化英语、判定表、判定树、ER图等。
面向对象分析
OOA(Object Orient Analysis,面向对象的分析,)是现代软件企业广为采用的一项有效技术,要求在分析、设计中要映射现实世界中指定问题域中的对象和实体。
3.JACKSON分析
1975年,M.A.Jackson提出了一类至今仍广泛使用的软件开发方法。这一方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可
文档评论(0)