刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题一  论软件设计方法及其应用

软件设计(Software Design,SD)根据软件需求规格说明书设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及程序流程等,形成软件的具体设计方案。软件设计把许多事物和问题按不同的层次和角度进行抽象,将问题或事物进行模块化分解,以便更容易解决问题。分解得越细,模块数量也就越多,设计者需要考虑模块之间的耦合度。

 

请围绕“论软件设计方法及其应用”论题,依次从以下三个方面进行论述。

1.概要叙述你所参与管理或开发的软件项目,以及你在其中所承担的主要工作。

2.详细阐述有哪些不同的软件设计方法,并说明每种方法的适用场景。

3.详细说明你所参与的软件开发项目中,使用了哪种软件设计方法,具体实施效果如何。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

1.简要描述所参与设计的软件系统,并明确指出在系统设计过程种承担的主要工作。

2.分析系统设计的主要方法,并详细阐述每种设计方法。

1) 净室方法

净室软件工程(净室方法)是软件开发的一种形式化方法,它可以生成高质量的软件。它使用盒结构规约进行分析和设计建模,并且强调将正确性验证(而不是测试)作为发现和消除错误的主要机制,使用统计的测试来获取认证被交付的软件的可靠性所必需的出错率信息。

净室方法从使用盒结构表示的分析和设计模型入手,一个“盒”在某特定的抽象层次上封装系统(或系统的某些方面)。通过逐步求精的过程,盒被精化为层次,其中每个盒具有引用透明性:每个盒规约的信息内容对定义其精华是足够的,不需要信赖于任何其他盒的实现。这使得分析人员能够层次地划分一个系统,从在顶层的本质表示转移向在底层的实现特定的细节。净室方法主要使用三种盒类型:黑盒、状态盒和清晰盒。

净室方法是一种严格的软件工程方法,它是一种强调正确性的数学验证和软件可靠性认证的软件过程模型,其目标和结果是非常低的出错率,这是使用非形式化方法难于或不可能达到的。

2) 结构化设计

结构化方法由结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。结构化分析是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析工作。

① 结构化设计原则

② 结构化设计步骤

③ 结构化缺点

在结构化设计中,模块和模块之间的关系局限于信息流,限制了对模块之间众多关系的表达,也无法体现模块和模块之间其他的众多关系,包含各种各样的结构、行为、依赖、包含(在结构化设计中这种关系隐含在分层中)、继承、关联关系等等。结构化设计仅解决了模块在封装和信息隐藏方面的问题。

④ 结构化设计适合场景

3) 面向对象设计

面向对象的设计模型包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。

① UML与4+1视图

② 设计原则

③ 设计模式

④ 面向对象设计适合场景

4) 原型法

结构化方法和面向对象方法有一个共同点:在系统开发初期必须明确系统的功能要求,确定系统边界。从工程学角度来看,这是十分自然的:解决问题之前必须明确要解决的问题是什么,然而对于信息系统建设而言,明确问题本身不是一件轻松的事情。

① 原型分类

水平原型和垂直原型,抛弃原型、演进原型和递增原型

② 原型类型的选择

③ 原型法适合场景

3.结合项目实践。针对实际参与的软件设计过程,说明所采用的设计方法,并描述其具体实施过程和效果。

解析:

第一个方面,简要描述了参与者设计的软件系统是一个电子商务网站,并指出了在系统设计过程中承担的主要工作,包括软件需求分析、系统设计以及部分模块的开发。

第二个方面,详细阐述了不同的软件设计方法及其适用场景。包括净室方法、结构化设计、面向对象设计和原型法。每一种方法都进行了详细解释,并指出了它们适用的项目类型和特点。

第三个方面,结合实践项目,说明了在电子商务网站项目中采用的设计方法是面向对象的设计。具体实施了使用UML建模、4+1视图的设计方法,并描述了实施过程和效果。同时,也指出了在实施过程中需要注意的问题,如加强对系统架构的把控,避免过度设计等。

创作类型:
原创

本文链接:试题一  论软件设计方法及其应用软件设计(Software Design,SD)根据软件需求规格说明

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share