什么是软件概要设计?该阶段的基本任务是什么

什么是软件概要设计?该阶段的基本任务是什么,第1张

设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。这是一个在用户研究和设计之间架起桥梁,使用户研究和设计无缝结合,将对用户目标与需求转换成具体界面设计解决方案的重要阶段。

概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。

扩展资料

首先,开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。

在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。

应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。

参考资料来源:百度百科-软件开发流程

参考资料来源:百度百科-概要设计

问题一:软件概要设计文档应该具有什么内容 一、概论1、编写目的2、编写背景3、对系统的大致描述二、业务概述和逻辑设计1、对系统几大主体的描述2、对系统几大业务流程描述3、用UML对其进行总体描述三、技术架构在此章决定使用那种技术体系,具体的技术有那些,描述他们之间是怎么协同运作的。四、功能模块设计描述系统有那些主要功能,这些功能应该用何种技术,大致是如何实现的五、接口设计六、应急系统设计七、安全设计描述系统应该具有的安全级别,以及达到此安全等级的所采用的技术措施八、运行环境设计从硬件网络方面描述龚要设计的目的就是希望一个从来没有接触过的人一看就能从各个方面都对系统的作用,功能,实现方面有一个大概了解,并为以后的各类详细设计文档提供一个指引和方向。

问题二:概要设计主要有哪些东西 是软件工程中的概要设计吗?

1简述 2编写目的 3背景 4定义 5参考资料

6总体设计

(1)需求规定(2)运行环境(3)概念和处理流程(4)结构(5)功能需求与程序

(6)人工处理过程(7)未解决问题

7接口设计

(1)用户接口(2)外部接口(3)内部接口

8运行设计

(1)运行模块组合(2)运行控制(3)运行时间

9数据结构

(1)设计要点(2)物理结构要点

这是完整的概要设计,在做项目的过程中(特定是小项目),概要设计没有这么完善,一般着重写几个方面。

问题三:概要设计与详细设计有什么区别 在软件的总体设计中,完成了数据和系统结构的设计。已将系统划分成为多个模块,并将它们按照一定的原则组装起来,也确定了每个模块的功能及模块与模块之间的外部接口。在理想情况下,详细设计是软件设计的第二阶段。在这个极端,由于开发系统内外的人员理论上都使用一种自然语言,因此设计说明最好是用自然语言。很清楚,这个阶段必须定义过程的细节。

问题四:概要设计和详细设计的区别 详细设计就要到各个公位置的设计图,概要设计就相当于方案设计,整体的大概设计,这样的话一些具 *** 置的设计就没有

问题五:软件概要设计的编写要注意哪些方面 概要设计一定是在用户需求分析的基础上进行的,是对需求的技术响应。

简单的说,首先要明确阐述系统的建设目标、建设原则,给出系统的功能模块组成(用层次结构图表示出系统应具有那些功能或子系统,每个功能或子系统下面又包含哪些模块),如果涉及到数据库,至少要分析出需要哪几个表。

目前有国家一些这方面(软件工程)的技术规范,给出了大致内容,可以参照模板进行撰写。

问题六:系统设计主要包括哪些内容 系统设计是新系统的物理设计阶段。根据系统分析阶段所确定的新系统的逻辑模型、功能要求,在用户提供的环境条件下,设计出一个能在计算机网络环境上实施的方案,即供立新系统的物理模型。这个阶段的任务是设计软件系统的模块层次结构,设计数据库的结构以及设计模块的控制流程,其目的是明确软件系统如何做。这个阶段又分两个步骤:概要设计和详细设计。概要设计解决软件系统的模块划分和模块的层次机构以及数据库设计;详细设计解决每个模块的控制流程,内部算法和数据结构的设计。这个阶段结束,要交付概要设计说明书和设计说明,也可以合并在一起,称为设计说明书。

问题七:概要设计的背景 说明:a. 待开发软件系统的名称;b. 列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。

问题八:如何写软件概要设计 通用的软件概要设计说明书国家有标准。例如概要设计说明书(GB8567-88)包括如下内容:

1引言

1.1编写目的

1.2背景

1.3定义

1.4参考资料

2总体设计

2.1需求规定

2.2运行环境

2.3基本设计概念和处理流程

2.4结构

2.5功能器求与程序的关系

2.6人工处理过程

2.7尚未问决的问题

3接口设计

3.1用户接口

3.2外部接口

3.3内部接口

4运行设计

4.1运行模块组合

4.2运行控制

4.3运行时间

5系统数据结构设计

5.1逻辑结构设计要点

5.2物理结构设计要点

5.3数据结构与程序的关系

6系统出错处理设计

6.1出错信息

6.2补救措施

6.3系统维护设计

根据具体项目内容可以有所微调。

问题九:需求分析和概要设计有什么区别 按照传统软件工程的软件过程,区别如下:

1.需求分析--产生 软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作(概要设计)

2.概要设计--产生 软件概要设计说明书,说明系统龚块划分、选择的技术路线等,整体说明软件的实现思路。并且需要指出关键技术难点等。

3.详细设计--产生 软件详细设计说明书,对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完成,然后在集成,是具体的实现细节。理论上要求可以照此编码。

问题十:java从哪几方面做概要设计 在对List、Set、Map执行遍历删除或添加等改变 *** 个数的 *** 作时,不能使用普通的while、for循环或增强for。

会抛出ConcurrentModificationException异常或者没有达到删除的需求。

在遍历时删除元素,需要使用迭代器的方式。

概要设计的目标是描述软件模块的外观以及处理逻辑。模块对外暴露的服务接口,以及需要引用的接口,接口标识,接口的访问协议,接口描述都属于模块的外观,其他的模块通过这些接口和模块打交道,自然需要在概要设计阶段对接口做细致的刻画,初此之外,对于关键的模块,外观还应该说明模块的非功能属性,比如并发处理能力,数据吞吐量以及接口调用的反馈时长等等。处理逻辑是指模块从输入到输出的转换过程,描述其转换算法。无论通过何种图例和表现形式,只要能够清晰地说明模块外观和处理逻辑描述,就是好的概要设计。 概要设计过程一般包括四块内容,这四块内容都是围绕着外观和处理逻辑这两个目标进行。第一部分是模块划分,把架构设计中划分的业务模块按照开发模式迭代细化,拆分成符合高内聚低耦合的功能模块。第二部分是接口描述,重点要放在刻画模块内外部交互的接口形式。第三个部分是模块的逻辑描述,最后一个部分逻辑模型设计,包括数据库的逻辑模型设计以及值对象的概要说明。 模块划分 模块划分的粒度很难确定,不同的设计师会用不同的划分策略,相同的一组功能聚集有人会分为2个功能模块,有的人可能划分为4个或者更多。模块的粒度越大,对模块的维护成本就越大,因为修改模块的任何一个点,都有可能更新整个模块;而且越难以解决模块复杂耦合的问题,随着产品的维护,模块内的耦合会越来越严重,有些是因为新的需求引起模块内联系的增加,而有些是缺少硬约束下采用最直接的方式修改代码造成的。当然也不是模块划分的越小越好,因为小粒度的模块虽然降低了模块自身的维护成本,但过多的模块会增加模块间关系维护的成本以及系统管理的复杂性。 通常来看,模块划分要符合开闭原则和高内聚和低耦合的原则。开闭原则强调的是维护频度不同的功能不要放在同一个模块内,比如有些需要本地化的功能可以通过接口和实现分离的方式划分为业务模块和二次接口实现模块。高内聚和低耦合的原则强调的是把内部关联紧密和外部交互比较单一的功能划分成一个模块。 同时鉴于模块划分的重要性,建议尽可能把模块划分的工作前移到架构设计阶段,一方面架构设计团队的整体素质比较高,另外一方面架构设计师更能够站在全局的视角合理地划分模块。 接口描述 接口描述应该清晰地说明接口的类型,访问方式,接口的入参和出参。通常在概要设计阶段不考虑物理实现,不需要描述的非常详细,之所以如此关照接口,原因在于通过清晰的接口描述为流程逻辑和后面的详细设计建立一个硬约束。模块内的数据流和控制流的入口和出口都能限定在这个约束之内,方便评审的时候能及时发现设计中存在的问题。 逻辑描述 逻辑描述的目标是说清楚从输入到输出的转换过程。根据不同的模块的特点,可以选用不同的描述形式,对于以数据流为主的模块,可以使用数据流图,控制比较复杂的可以使用数据流图或者IPO图,而对于规范使用UML的项目可以考虑使用活动图。 可能有人会很疑惑在设计中没有谈到是用面向对象方法还是结构化的方法,这可是关键的方法论问题。确实,软件研发的坛子里面除了哪种语言更好的话题以外,最容易挑起纷争的就是结构化分析与设计和面向对象分析与设计之争了。我在这里不做结论,只做一个评说。结构化分析设计出现的比较早,那时候软件的主要使用场景更多是科学计算或者自动化控制,典型的特点是用户交互界面简单,更多是批处理的作业方式,更多关注程序的处理过程是否正确高效。随着PC机时代的到来,人机交互界面在软件中占有越来越重要的地位,原来的一套软件只有一个 *** 作员,而现在可能有很多的使用者,为了清楚地描述不同人群对软件的诉求,业务用例应运而生,这就是面向对象的起点。不同的基因决定了他们各擅道场,一个擅长于后台计算的产品设计,另一个长于面向客户服务的产品设计。 在设计中,我们可以根据需求把两者的特点灵活地结合在一起,比如算法密集的处理模块,我们可以采用数据流图,而对于和外部交互比较复杂的模块,可以引入用例图标识模块支持的使用场景。 逻辑模型的设计 逻辑模块的设计主要是数据库的设计和值对象的设计。对于数据库的逻辑模型,可以统一设计,模块中添加引用。也可以在模块中针对所引用的库表独立描述。这两种方式都可以,如果库表结构比较复杂的建议统一建模,而比较简单的模型可以采用分开描述,提升模块设计的可读性。数据库建模现在已经比较成熟,这里不再多说。 模块的输入输出,以及中间的数据对象,我们统称为值对象,在概要设计阶段的重点是描述值对象的关键属性。需要注意的一点是值对象要和处理逻辑对应起来,特别是处理逻辑中的数据流,出口入口数据,都要在值对象上加以描述。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/11907401.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存