需求确认——概要设计——详细设计——编码——单元测试——集成测试——系统测试——维护
需求确认:需求规格说明书
概要设计:系统用例图,用例场景
详细设计:系统设计报告,数据库设计报告
测试:测试用例报告
没有“结构化”设计的软件系统,以后根本谈不上什么维护升级,就是简单的除虫也成了个问题,就算你的软件代码写得再好也只是“乱码”,根本一文不值,这个道理谁都懂,所以要写好软件,概要设计是非常关健的,具体工作如下:
(1) 采用某种设计方法,将一个复杂的软件系统按功能划分成许多有关系条理的模块。
(2) 准确定义每个模块的功能。
(3) 确定模块之间的调用关系。
(4) 对每个模块确定其接口(要以文档对接口的数量,顺序,作用,属性等进行详细说明,这很重要)。
(5) 对所设计的模块进行评估,尽量找出错误和不合理的地方,进行改正(这比软件做出来后的修改要容易得多)。
软件结构的设计是非常重要的工作,它直接影响以后的详细设计和编码,不合理的结构将有可能把未完成的系统埋葬,所以应选用能力强和经验比较丰富的程序员来做。
2、 设计软件所需要的数据库系统
一个好的软件一般都有一个专门为其设计的数据库系统,数据库的设计已自成理论体系,在这里不会详细说明如何做这个工作,但一般数据库的设计工作可分为数据结构设计和数据库设计,数据库设计还分为概念设计、逻辑设计和物理设计,每一项都有很多的知识和原则,有兴趣的朋友可自己去摸索。
3、 编写概要设计文档
软件工程很强调文档的作用,概要设计也一样,要做好这阶段应有的文档才算是基本完成任务,对文档的编写主要是概要设计和数据库设计说明书,另外还有对需求分析阶段的用户手册和测试计划进行必要的修改,以更合理的对应所设计的软件系统。
4、 评审
这主要是对这阶段工作的一次回顾,看看有什么遗漏或错误的地方没有。评审也有很多不同的技术性手段,可一般都将重点放在功能、性能、可行性、接口正确性等方面。
软件概主设计的几个基本原理:
1、 抽象
即对将要用软件来完成的工作在本质上进行抽象,抛开无关紧要和多余的部份,构造出一个软件需要完成的功能的逻辑结构。
2、 信息隐蔽
这是对抽象的进一步回应,信息隐蔽的实质就是“各管各的数据”。
3、 模块化
这在上面已经讲过,模块化设计的根本原则就是做到所有模块尽可能的相对独立,对别的模块的依赖越小越好。模块化还具有几个相关的属性:接口、功能、逻辑、状态。
四、 详细设计
到了详细设计阶段,现在该把注意力从全局移到局部了,但先别着急,现在还不是编码阶段,要做的仍然是软件的逻辑设计部份,只不过现在不是设计结构了。
详细设计就是把我们在概要设计里所划分出来的模块要实现的功能用相应的设计工具详细的描述出实现步骤来,也即是写出代码的算法,在详细设计里所有的表述无论是语言或是图表,都应做到有精确的唯一解释,绝不允许出现有“二义性”或“多义性”的表述,所谓精确的表述就是要做到无论这份文档到了那个程序员手中,他都能看得懂文档的含意而且只有一个含意,不可能再解读出第二层意思来。
详细设计的任务就是为每个模块所要完成的功能进行具体而精确的描述,要根据功能描述再转化成精确的、结构化的软件过程描述,软件过程描述一般可直接对应到相应的代码,也就是以后程序员会根据这些过程描述来编写程序代码,具体如下:
(1)为每个模块进行详细的算法设计。这是需要用相应的工具来完成的,因为自然语言通常很容易具有“二义性”,而工具能做到含义唯一性。
(2)为模块内的数据结构进行设计。
(3)对数据库进行物理设计。注意这不是实现数据库,而是设计出数据库的具体物理结构。
(4)其它设计(前期特殊代码设计、I/O格式设计、界面友好设计等)。
(5)编写详细设计说明书。
(6)评审。
分享到:
相关推荐
软件著作权-软件设计说明书模板.docx 软件设计说明书是申请软件著作权的重要文件,它详细描述了软件的设计和实现过程。下面是关于软件设计说明书的知识点: 1. 文档介绍 软件设计说明书的文档介绍部分通常包括...
软件设计模式(Java版)习题答案 本资源为软件设计模式(Java版)习题答案,由程细柱编著,人民邮电出版社出版。该资源涵盖了软件设计模式的基础知识,包括软件设计模式的概述、UML中的类图、面向对象的设计原则、...
软件设计模式大作业 本资源为一份完整的软件设计模式大作业,涵盖了六种设计模式的应用,分别是简单工厂模式、工厂方法模式、单例模式、门面模式、策略模式和观察者模式。该大作业的主要内容包括系统流程、系统类图...
软件设计的哲学: 软件设计是计算机科学中的核心领域,它关注如何创造高效、可靠、易于维护和扩展的软件系统。软件设计的哲学涉及对软件工程最佳实践的理解,包括软件的设计原则、架构、方法论和模式。TCL语言的...
在软件开发过程中,软件设计与体系结构扮演着至关重要的角色。这份名为“软件设计与体系结构PPT”的资料,融合了多本专业书籍的核心内容,旨在深入解析软件设计的各个方面,包括设计原则、设计模式以及组件设计。...
* 制定软件设计规范文档:软件设计规范文档是软件设计规范的重要组成部分,包括软件设计规划、软件设计规则和软件设计标准等。 * 实施软件设计review:软件设计review是软件设计规范的重要组成部分,可以确保软件...
在当今数字化时代,软件设计师作为信息技术行业中的关键岗位之一,其专业技能与知识水平受到了极大的重视。中国的计算机技术与软件专业技术资格(水平)考试,即我们通常所说的“软考”,是评估和认证软件设计人才...
《软件设计师电子书 第五版》是一本针对国家计算机技术与软件专业技术资格(水平)考试——中级软件设计师的专业教材。该书是第五个版本,旨在为考生提供全面、深入的软件设计理论知识和实践技能,帮助他们成功通过...
《软考中级软件设计师历年真题》是一份针对国家计算机技术与软件专业技术资格(水平)考试,即“软考”中的中级软件设计师资格认证的重要学习资料。这份压缩包包含了历年的考试真题,是备考者熟悉考试形式、掌握考试...
《软件设计师考试同步辅导上午科目》是一本针对软件设计师资格认证考试的重要参考资料,尤其适合准备参加软考的考生。此书全面覆盖了上午科目的所有关键知识点,旨在帮助考生理解和掌握考试大纲中的各项要求,提高...
软件设计师是软考考试中的一种职业资格,它是评价软件设计师技能水平和职业素质的重要依据。 软件设计师是指具备软件系统设计能力,能够负责软件项目的整体设计和架构的专业人员。软件设计师需要具备深厚的软件技术...
中级软件设计师是信息技术领域一项重要的专业资格认证,旨在评估和证明个人在软件设计与开发方面的专业知识和技能。这个“中级——软件设计师全套资料.zip”压缩包文件提供了丰富的资源,帮助考生准备这一考试。 ...
《2019新版软件设计师教程(第五版)》是一本针对软件设计师考试的最新教材,旨在帮助考生全面掌握软件设计领域的核心知识和技能。该教程涵盖了软件开发的全过程,从需求分析到系统设计,再到编码实现和后期维护,...
本资料包提供了关于438B标准的软件设计说明模板、需求规格说明模板以及军用软件开发文档的通用要求,这对于遵循GJB438B标准进行软件开发的团队来说是极其重要的参考资料。 首先,我们来探讨438B软件设计说明模板。...
根据提供的文件信息,我们可以深入探讨GJB438B-2009标准中的软件设计说明部分。GJB438B-2009是中国军用标准之一,旨在为军事软件开发提供一套完整的规范和指导原则。该标准对软件生命周期内的各个阶段进行了详细规定...
本作业以“软件设计模式”为主题,特别关注了装饰模式、工厂模式和适配器模式的运用。这三种模式都是面向对象设计的核心部分,它们在代码复用、结构优化和系统扩展性提升方面扮演着重要角色。 首先,装饰模式是一种...
在当今数字化转型的浪潮中,软件设计师这一职业日益受到重视。为了选拔和培养更多的专业人才,中国软考——全国计算机技术与软件专业技术资格(水平)考试应运而生,其中软件设计师考试是重要的一个环节。2019年下半年...
对于《软件设计师教程(第5版)》这本书的资源描述,你可以包括以下内容: 书籍名称:《软件设计师教程(第5版)》 作者:作者姓名或团队名称 出版日期:书籍的出版日期或版本信息 内容概述:简要介绍书籍的内容和...
《嵌入式软件设计基础:基于ARM Cortex-M3(原书第2版)》以实践中常运用的方式讲解汇编语言——实现小型、快速或特殊目的的例程,这些例程由主程序(高级语言编写,如C)调用。通过运用嵌入式软件环境,本书介绍多线程...
本文件为2021年下半年软件设计师下午考试的真题及答案解析,软件设计领域的专家小任老师利用其十年的教学经验,深入分析了智慧农业平台的开发需求,并提供了一套真题资料,以结构化方法对智慧农业平台进行了分析与...