需求分析:
一。 确定对系统的综合要求
1. 功能需求
这方面的需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。
2. 性能需求
性能需求指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的需求。
3. 可靠性和可用性需求
可靠性需求定量地指定系统的可靠性。
可用性与可靠性密切相关,它量化了用户可以使用系统的程度。
4. 出错处理需求
这类需求说明系统对环境错误应该怎样响应。例如,如果它接收到从另一个系统发来的违反协议格式的消息,应该做什么?注意,上述这类错误并不是由该应用系统本身造成的。
5. 接口需求
接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。
6. 约束
设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件。在需求分析阶段提出这类需求,并不是要取代设计(或实现)过程,只是说明用户或环境强加给项目的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。
7. 逆向需求
逆向需求说明软件系统不应该做什么。理论上有无限多个逆向需求,我们应该仅选取能澄清真实需求且可消除可能发生的误解的那些逆向需求。
8. 将来可能提出的要求
应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。
注意:举例让学生理解:这样做的目的是,在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦确实需
要时能比较容易地进行这种扩充和修改。
二 。分析系统的数据要求
任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。
分析系统的数据要求通常采用建立数据模型的方法(举例)。
三。 导出系统的逻辑模型
综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。
四。 修正系统开发计划
根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。
概要设计任务:
在软件需求分析阶段,已经搞清楚了软件“做什么”的问题,并把这些需求通过规格说明书描述了出来,这也是目标系统的逻辑模型。进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计规格说明书”文档中,所以软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系结构,称为软件概要设计或结构设计。
4.1.1 基本任务
1. 设计软件系统结构(简称软件结构)
为了实现目标系统,最终必须设计出组成这个系统的所有程序和数据库(文件),对于程序,则首先进行结构设计,具体为:
(1)采用某种设计方法,将一个复杂的系统按功能划分成模块。
(2)确定每个模块的功能。
(3)确定模块之间的调用关系。
(4)确定模块之间的接口,即模块之间传递的信息。
(5)评价模块结构的质量。
根据以上内容,软件结构的设计是以模块为基础的,在需求分析阶段,已经把系统分成层次结构。设计阶段,以需求分析的结果为依据,从实现的角度进一步划分为模块,并组成模块的层次结构。软件结构的设计是概要设计关键的一步,直接影响到下一阶段详细设计与编码的工作软件系统的质量及一些整体特性都在软件结构的设计中决定。
2.数据结构及数据库设计
对于大型数据处理的软件系统,除了控制结构的模块设计外,数据结构与数据库设计也是很重要的。
(1)数据结构的设计
逐步细化的方法也适用于数据结构的设计。在需求分析阶段,已通过数据字典对数据的组成、操作约束、数据之间的关系等方面进行了描述,确定了数据的结构特性,在概要设计阶段要加以细化,详细设计阶段则规定具体的实现细节。在概要设计阶段,宜使用抽象的数据类型。
(2)数据库的设计
数据库的设计指数据存储文件的设计,主要进行以下几方面设计:
①概念设计。在数据分析的基础上,采用自底向上的方法从用户角度进行视图设计,一般用ER模型来表示数据模型,这是一个概念模型。
②逻辑设计。ER模型或IDEFlx模型是独立于数据库管理系统(DBMS)的,要结合具体的DBMS特征来建立数据库的逻辑结构,对于关系型的DBMS来说将概念结构转换为数据模式、子模式并进行规范,要给出数据结构的定义,即定义所含的数据项、类型、长度及它们之间的层次或相互关系的表格等等。
③物理设计。对于不同的DBMS,物理环境不同,提供的存储结构与存取方法各不相同。物理设计就是设计数据模式的一些物理细节,如数据项存储要求、存取方式、索引的建立。
3.编写概要设计文档
文档主要有:
(1)概要设计说明书。
(2)数据库设计说明书,主要给出所使用的DBMS简介、数据库的概念模型、逻辑设计、结果。
(3)用户手册,对需求分析阶段编写的用户手册进行补充。
(4)修订测试计划,对测试策略、方法、步骤提出明确要求。
4.评审
对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行性,关键的处理及内外部接口定义正确性、有效性,各部分之间的一致性等等都一一进行评审。
4.1.2 软件概要设计说明书的主要内容
概要设计说明书是概要设计阶段结束时提交的技术文档,按国标GB8576-88的“计算机软件产品开发文件编制指南”规定,软件设计文档可分为“概要设计说明书”、“详细设计说明书”、“数据库设计说明书”。
详细设计任务:
(1)为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。
(2)为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。
(3)对数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。
(4)其他设计:根据软件系统的类型,还可能要进行以下设计:
①代码设计。为了提高数据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项的值要进行代码设计。
②输入/输出格式设计。
③人机对话设计。对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容、格式的具体设计。
(5)编写详细设计说明书。
(6)评审。对处理过程的算法和数据库的物理结构都要评审
- 大小: 134.8 KB
分享到:
相关推荐
《软件项目计划书》是一份全面详尽的文档,它在软件工程领域中扮演着至关重要的角色。在软件开发过程中,项目计划书是确保项目顺利进行、管理资源、控制风险和达成目标的关键工具。这份“xiangmujihuashu.rar_全套_...
《软件工程》是由朴勇和周勇编著的专业教材,主要涵盖了软件工程的基础理论、开发方法和工具。作为软件学院的核心课程,它旨在教授学生如何系统化地开发软件,不仅包含理论知识,还强调实践性。课程内容横跨计算机...
在信息技术领域,软件工程是一门至关重要的学科,它涵盖了软件开发的全过程,包括需求分析、设计、编码、测试和维护等阶段。殷人昆教授,作为中国软件工程领域的知名专家,他的研究与教学为理解和实践软件工程提供了...
软件工程是信息技术领域中的核心学科,它涉及到软件的开发、维护和管理的全过程。这个"ruanjiangongcheng.zip_软件工程_软件工程ppt"压缩包文件提供了关于软件工程的基础知识,非常适合那些想要踏入这个领域的初学者...
软件工程PDF课件 01_SEIntro软件工程概述.pdf 软件工程PDF课件 02_Process软件过程.pdf 软件工程PDF课件 03_Management软件项目管理.pdf 软件工程PDF课件 04_Requirement需求工程.pdf 软件工程PDF课件 05_OOIntro...
### 软件工程_实践者的研究方法 #### 背景与意义 软件作为一种特殊的产物,区别于传统的工业制品,具有独特的属性:无形性、易变性等。这些特性使得软件的质量评估变得复杂,同时也增加了软件开发和生产管理的难度...
综上所述,"软件工程_lungsdon_numeralexg_电信报表_"项目涵盖了软件工程的全过程,特别是针对电信行业的报表系统开发。通过这样的项目,开发者可以提升在需求分析、系统设计、数据库管理、数据分析、用户交互等多个...
《ChocAn_软件工程_源码》是一个与软件工程相关的项目,其核心是通过“巧克力匿名实验”来展示和实践软件工程中的基本原则和方法。这个项目可能包含了从需求分析、设计、编码到测试和维护的全过程,让我们深入探讨...
在IT行业中,软件工程是一门涉及软件开发全过程的学科,包括需求分析、设计、编码、测试和维护等阶段。在本压缩包“2003112314529551.zip”中,我们可以看到一系列与软件工程相关的文档,特别是针对一个名为“浏览器...
这份讲义是北京大学软件工程课程的教学材料,旨在系统地介绍软件工程的基本概念、原理和实践方法,帮助学生深入理解和掌握软件开发的全过程。 在软件工程领域,我们首先需要了解的是软件生命周期,它涵盖了需求分析...
【软件工程教案_哈工大】是一份详细的教学...总的来说,这份教案是学习和教授软件工程的全面指南,涵盖了从项目启动到最终交付的全过程,对于想要深入理解和掌握软件工程的学生和专业人士来说,是一份宝贵的参考资料。
软件工程是一门涵盖软件开发全生命周期的学科,包括需求分析、设计、编码、测试和维护等多个环节。在白晓颖2013年6月31日的软件工程期末考试中,试题涉及了多个核心概念,让我们逐一解析。 1. 论述题部分: - 第一...
《软件工程概论》 软件工程是一门综合性学科,它主要关注如何以系统化、规范化的方式构建和维护高质量的软件。这门学科的核心是将工程学的原理与方法应用于软件的开发过程,包括设计、生产以及后期的维护。软件不仅...
《软件工程:实践者的研究方法》是软件工程领域的一本经典教材,其第八版提供了深入的理论知识和实践经验,旨在帮助读者理解并掌握软件开发的全过程。这份英文参考答案集全面整理了书中的习题解答,对于正在学习该...
《软件工程》是一门至关重要的学科,它涵盖了软件开发的全过程,从需求分析、设计、实现到测试和维护。这份名为“软件工程_PPT课件.7z”的压缩包文件显然是一个教学资源,包含了梁文新教授关于软件工程的PPT讲解材料...
在信息技术领域,软件工程是一门至关重要的学科,它涵盖了软件开发的全过程,包括需求分析、设计、编码、测试和维护等阶段。本实验报告,即“SE.rar_软件工程 实验_软件工程 实验报告”,提供了深入实践软件工程理念...
1. **软件工程**:软件工程是一门综合性的学科,它涵盖了软件开发的全过程,包括需求分析、设计、编码、测试和维护等阶段。在高校学生管理系统中,软件工程方法论的应用确保了系统开发的规范性和质量。 2. **可行性...
在软件开发过程中,软件...总的来说,学习软件工程不仅要求掌握编程技能,还要理解软件开发的全过程,具备良好的团队协作和项目管理能力。通过解决课后习题,可以加深对软件工程理论的理解,并提升实际解决问题的能力。