专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 开发过程

对于需求分析的探讨

发布时间:2011-06-18 09:41:50 文章来源:www.iduyao.cn 采编人员:星星草
对于需求分析的探讨 - 软件工程/管理 / 开发过程版
对于需求分析的过程,由于资料杂,现在有点晕,希望哪位高手能给整理一下。下面是我在不同的地方看到的对需求分析的认识,个有不同,晕了
1、网上资料说,需求分析有三层次,业务需求、用户需求和功能需求,除此之外还有非功能需求
2、软件工程书上说,需求分析任务有综合要求(包括功能需求、性能需求、可靠性需求等)、数据要求(包括系统处理的数据、系统应产生的数据等)、导出逻辑模型(数据流图、ER图、状态转换图、数据字典等)
3、数据库上说,需求分析主要是对数据模型、功能模型、行为模型的建立
到底我应该根据哪个准则去做需求分析呢,现在搞得需求分析到底按什么原则弄也搞不清了


我要对数据库设计,就要先对数据库做需求分析,我发现要在功能分析的基础上做,然而我看了很多资料基本都采用数据流图和数据字典,难道没别的了吗?我画ER图的时候都很怀疑我的ER图是怎么突然蹦出来的,我用面向对象的用例图和功能模块图做了功能上的需求分析,然后就直接画ER图去了,也就是直接从用例图跳到了ER图,总觉得这样不对,但是有想用ER图对数据进行设计,那么我怎么才能从UML的图中过渡过来。

------解决方案--------------------
如果是OOA和OOD的话,ER图可以用类图代替,在数据库设计中是概念数据模型的产物.需求分析有三层次,业务需求、用户需求和功能需求没错,其实从用户需求到功能需求的过程中应该有非功能性需求,非功能性需求与功能需求是并立的关系.软件工程书上说的也没错.性能需求、可靠性需求属于非功能需求,软件工程书上说的导出逻辑模型(数据流图、ER图、状态转换图、数据字典等)也没错,不过你看的那本书比价老了,写那本书时UML还不占统治地位时写的,应该是面向对象方法学三大巨人之一的方法,即Rumbaugh的OMT技术采用的方法,老教科书张海藩写的<<软件工程导论>>中面向对象的内容也是写这个,有空去了解下各方法学也有帮助的.
------解决方案--------------------
当要看你进行需求分析的站位角度

如果是站在业务规划、解决客户问题优化客户现有流程的角度,应该先以业务事件分析进行业务建模,再抽象自动化进行软件系统建模

如果站在信息系统功能划分的角度,直接进行系统建模地方
如果只是站在信息数据结构、信息存储,就会涉及到数据E-R
------解决方案--------------------
1.面向对象分析建模,建议不要一开始接触数据,而是一开始找到系统参与者(人、物、地点)与其担任的角色、执行的动作,以及相互的关系。也就是“领域建模”。

2.业务需求即功能需求,一般来说就是用户需求(有时候也包括非用户客户的需求,比如政策性的东西)。非功能需求不太好描述,就是系统中应该有的一些不容易提出来的东西,大概分成几个方面,比如易修改性、安全性等等,大概排个优先级,自己心里有数,但是不太容易与客户确认。

3.对于数据库确实要重视,但是不是在需求的时候,而是在架构与设计阶段,否则很容易从OO退化成为面向过程,职责划分不明,因为数据库表粒度比对象粒度大很多。

4.你说的问题,实质上不是需求问题,而是架构问题。关于架构,有很多不同的视角,比如数据视角,部署视角,逻辑视角等等。

5.UML图的问题,建议看一些ICONIX的书,其实先用哪个图后用哪个图是有讲究的,顺序对了事半功倍,顺序错了就乱七八糟了。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • 将MySql数据导入SqlServer数据库中

    将MySql数据导入SqlServer数据库中 - 软件工程/管理 / 开发过程版 想把MySQL中的数据导入到SQLServer数据库中,表中的结构已经不相...

  • 寻找需求管理软件

    寻找需求管理软件 - 软件工程/管理 / 开发过程版 有没有什么免费的好用的需求管理软件可以推荐? 最好能自动生成需求文档WORD的 ...

  • 高校宿舍管理系统-需求分析

    高校宿舍管理系统-需求分析 - 软件工程/管理 / 开发过程版 我是第一次写软件的需求分析,我想了解一下,高校宿舍管理系统的需求分析,...

  • 面对第三方数据接口,你会做些什么?

    面对第三方数据接口,你会做些什么? - 软件工程/管理 / 开发过程版 公司要启动一个关于开放式基金的项目,头头发来了一份结算中心的数...

  • 什么是零级图

    什么是零级图 - 软件工程/管理 / 开发过程版 图片发不上来,有没有知道这个东西的,我看着像数据流图可是他写的是系统的零级图。 --...

  • 概要设计

    概要设计 - 软件工程/管理 / 开发过程版 写概要设计说明书需要读本什么样的书,帮助我写概要设计。麻烦大家给指点一下,先谢谢了! --...

  • 讨论[参与有分]—针对中型项目,需求分析、软件设计两个环节分别应该占生命周期的时间比例?合适范围?

    讨论[参与有分]—针对中型项目,需求分析、软件设计两个环节分别应该占生命周期的时间比例?合适范围? - 软件工程/管理 / 开发过程版 ...

  • 想用vc做大点的项目

    想用vc做大点的项目 - 软件工程/管理 / 开发过程版 请大家指导一下。想用vc做大点的项目,类似msdn的,可收集各类问题,可上传问题,答案...

  • 开发文档在开发过程中的重要性?

    开发文档在开发过程中的重要性? - 软件工程/管理 / 开发过程版 软件开发文档在开发过程中的重要性有多大? 10个人以下的团...

  • uml和软件开发过程的有关问题

    uml和软件开发过程的问题 - 软件工程/管理 / 开发过程版 软件开发过程有 “需求分析”、“系统设计”、“详细设计”、“编码”、...

热门推荐: