需求与设计的区别究竟是什么? 教科书上的经典答案是:需求关注系统“做什么”,设计关注“如何做”,其实这是一个很模糊的说法。
无论是在结构化方法中还是在面向对象的方法中,需求分析的结果既包括了“做什么”也部分包括了“如何做”,只不过描述“如何做”时抽象的层次比较高或者描述了某个局部需求的“如何做”。客户在提出系统需求时,可能对“如何做”提出一些约束条件,比如客户要求必须采用三层结构,必须采用某个中间件等等。在需求描述文档中,一般称为“设计约束”。开发人员进行需求分析后的结果包括了系统构成元素(无论是称为模块还是称为包)的分解,包括了数据流程图或类图等,这实际上也是在定义系统“如何做”,只不过这里描述的“如何做”应是从客户的角度比较容易理解的。
在需求中包括了:
Ø 系统的目标、范围以及与外部的接口;
Ø 系统的功能、操作流程、处理规则;
Ø 系统处理的数据,数据有属性,数据之间有关系,这些数据可以解释为实体或者类;
Ø 对于系统可以划分为子系统,子系统中再分为模块,子系统、模块只是对系统功能进行分类的一种方法;
Ø 系统的设计约束;
Ø 系统的运行环境等。
另外在需求中还包括了:
Ø 子系统或模块之间的接口关系;
这一部分往往是和设计有交叉的,系统分解为子系统、模块,以及他们之间的接口关系在概要设计中往往也是涉及到的。在需求中对系统的分解是从功能的角度,是从逻辑分类的角度进行系统的拆分,而在设计时对系统的拆分是从实现的角度,比如在设计时将系统分为界面层、中间层、数据层。
在需求中尽量不描述“如何做”实际上是避免对设计进行太多的约束与假设,这样会限制设计方案的选择。设计可以认为是一种决策行为,是一种选择行为。需求确定以后,解决的方案可能有多种,如果在需求里描述了“如何做”,实际上就限制了设计只能选择某一种方案,而这种解决方案却很可能不是最优的。所谓的解决方案可针对整个系统,也可能针对某个具体的功能。
原则上“做什么”是由客户提出来,由系统分析人员进行文档化,“如何做”是由开发人员来确定的并进行文档化。
“做什么”与“如何做”在现实中是实际上是迭代进行,交织在一起的。在项目立项之前进行的可行性分析,包括了系统目标与范围的确定,包括了技术路线的论证,包括了成本、风险、进度的估算等等,在上述的行为中,包括了简单的需求与设计。在项目立项之后,采集了客户需求,进行需求分析,然后考虑系统的解决方案,此时还可能需要修改或增加需求。二者交叉或并行执行。
在需求和设计之间划一条明确的界线其实很难,理解了二者的根本区别,企业可以自己硬性地规定一条界线:即哪些内容在需求中描述,哪些内容在设计中描述。
分享到:
相关推荐
### 基于MAPGIS的湖南省行政区划界线管理信息系统的框架设计 #### 摘要 行政区域界线管理信息系统对于确保边界地区的稳定和谐、促进经济社会发展具有重要意义。湖南省作为我国南部的重要省份,拥有复杂的行政边界。...
本资源是专门为ECharts设计的全国乡镇级行政界线的JSON数据,能够帮助开发者在ECharts地图组件上精确显示中国乡镇级别的地理信息。 首先,我们来理解JSON(JavaScript Object Notation)数据格式。JSON是一种轻量级...
2. **创建测试用例**:基于测试需求,设计和编写测试用例来验证每个需求是否得到满足。测试用例应详尽无遗,包括预期输入、预期输出和执行步骤。 3. **运行测试**:执行测试用例,观察实际结果与预期结果的匹配程度...
【中国省界线县界限矢量图arcgis】是一个包含有详细地理信息的数据集,专为GIS(地理信息系统)用户设计。此数据集的核心在于它提供了中国的行政边界,包括省级和县级边界,这对于地理分析、地图制作、区域规划以及...
在操作过程中,首先要对设计图纸的各个方向的界线进行准确设置,确保设计内容不会画出界线。其次,需要对设计的具体角度数值、单位以及比例进行设置。通常情况下,设计比例设置为1:1,尺寸单位至少精确到毫米,角度...
这份模板提供了全面的软件设计框架,覆盖了从需求分析到系统设计的全过程,是软件开发过程中不可或缺的指南。通过遵循这样的模板,可以确保项目按照预定的路径高效、有序地推进,同时也有助于保持项目的可维护性和...
起止符号用于指示测量的起始点和终点,其选择应根据设计习惯和需求来决定;尺寸界线则由细实线构成,从图形的关键点引出,明确标注范围;尺寸数字则用来书写实际尺寸,要求清晰易读,通常使用长仿宋体;起点则是尺寸...
7. **尺寸标注**:在设计图纸中,尺寸标注由尺寸线、尺寸界线、尺寸起止符号和箭头组成,它们是施工的重要依据。 8. **设计灵魂**:“创新”是设计的灵魂,而“适度”是设计的关键,设计师需要在创新中找到平衡,...
逻辑模型设计首先基于概念模型进行扩展与细化。根据土地利用总体规划的需求,可以将数据库分为两大类:空间数据库与非空间数据库。 - **空间数据库**:包括空间要素的矢量数据和栅格数据。矢量数据按县辖区为单位...
结构化信息系统分析与设计方法更适合于那些结构化程度较高、需求相对固定且规模适中的信息系统开发。 ### 7. 面向对象方法的模型 - **选项解析**: - A. 结构图:不属于面向对象方法的模型。 - B. 用例图:属于...
过程控制综合设计通常包括对控制系统的设计、优化和改进,以满足过程控制的需求。 单回路温度PLC控制系统设计 单回路温度PLC控制系统设计是指使用PLC来控制单回路温度的系统设计。该系统设计的目的是为了实现对单...
流动的空间打破了地域的限制,全球与本地、虚拟与现实之间的界线日益模糊。这种趋势下,人居环境设计应适应流动性,创造出既能满足人们日常需求,又能适应不同场景切换的灵活空间。例如,通过虚拟现实技术,可以实现...
此技术规定旨在提高设计方案的标准化和规范化,便于数据管理和审查,确保信息的准确性和一致性,同时适应常州市城乡规划信息化的需求,保证系统兼容性和可扩展性。通过这些规定,能够有效地提高工作效率,降低出错...
环境参数配置包括投影角度、尺寸界线与轮廓的间隙、尺寸线上的延伸量、尺寸箭头样式、直径尺寸文本放置、中心线超出轮廓长度等多种参数的设置。 1. 投影角度(Projection Type) 投影角度是ProE环境参数配置中的一...
这些设计旨在满足不同居住需求,同时考虑空间利用和美观。 - **公用楼梯**:一般位于住宅平面的一侧,以减少对住户的干扰,并确保住宅的出入安全。 3. **空间的充分利用**: - 坡屋顶下的空间常被巧妙利用,增加...
2. 界线日常检查信息数据结构:为界线、三交点和界桩设计日常检查表,记录检查信息,按时间顺序存储。 3. 区划管理信息数据结构:通过行政区划表和区划界线关系表来实现多级行政区划存储并关联区划与界线,记录区划...
专业工程师必须熟悉不同类型的尺寸标注,如线性尺寸、角度尺寸以及圆弧尺寸等,并且掌握如何正确地使用引出线、尺寸界线和尺寸线,以清晰表达设计意图。 零件的配合在机械设计中扮演着至关重要的角色。国标对配合的...
这意味着在设计之初就需要考虑到如何方便地添加新的服务、更新现有的服务以及支持新的业务需求。通过遵循上述设计原则,SOA架构能够更好地满足企业级应用的需求,支持企业的持续发展。 综上所述,面向服务架构的...
对模具设计师而言,应根据实际需求在保证模具功能的前提下,选择合适的表面粗糙度数值,以达到降低成本的目的。 表面粗糙度的正确标注也至关重要,它能帮助制造者准确理解和执行设计意图。在图纸上,表面粗糙度的...
在AutoCAD 2014中,园林设计与施工图绘制是专业设计师不可或缺的技能。本教程的第15章重点讲解了园林施工图中的尺寸标注,这是确保设计精确无误的关键步骤。尺寸标注不仅提供了设计尺寸的清晰指示,还为施工人员提供...