连山科技

员工天地

2022-08-12 

软件工程设计培训心得体会

分享到:

7月27日,我参加了公司研发中心举办的“软件工程设计”主题培训。此次培训,不但让我从理论上掌握软件工程设计,还从不同的实例,很好地结合了理论和实践。总的来说,是学到了很多东西,也将我平常工作中的内容堆放到这整个体系中,让我的工作更具有逻辑性。所以说,在我看来“软件工程设计”培训与其说是一个主题培训,不如说是一种思想培训。上一次培训“软件产品设计”是软件开发过程的分析阶段,而“软件工程设计”是软件开发过程的解析阶段。分析与解析继续递归地用在软件产品设计和软件工程设计阶段的内部,继续分解内部活动,以详细地描述设计的过程。两者结合成为了一个能解决问题的思想集合。

此次的“软件工程设计”培训是接上次“软件产品设计”培训来指导我们工作的,软件产品设计是为满足客户的需要和要求,而指定软件的特点、功能和界面的活动;软件工程设计是为满足产品的需求说明,而指定软件的系统、子系统以及这些系统的构件和工作原理的活动。在软件产品设计中已经形成了SRS,那么在软件工程设计阶段需要分析SRS,做架构设计和详细设计,所以“工程设计分析活动主要是研究SRS和产品设计模型,并生成新的问题模型。”我学习到对工程设计分析最有用的动态模型是用例模型。每个用例和用例说明,都展示了系统对外提供的功能及其过程的交互;对工程设计分析最有用的面向对象静态模型是分析类模型,又叫概念模型。概念模型主要描述系统的内部实体,实体属性、行为以及实体间的关系。以前写详细设计时只知道写这个内容,却不知道这些专有名词,这也是新学到的专有名词和概念,一说这些就颇显高大上。我们写的文档中,实现类模型表示软件系统中的类,包括部分或全部设计类模型不考虑的细节。类图可以用于实现类建模,这些模型指导编程人员编写代码。建立概念模型的目标是理解并记录问题的结构,而设计类和实现类建模的目标是指定软件解决方案的结构。

培训中讲到在产品设计过程中,设计人员把整个程序作为一个黑匣子来对待,仅仅指定其外部的形式和行为。在体系结构设计过程中,设计人员“打开”程序黑匣子,确定其高级结构,并指定其主要部件和这些部件的相互作用,其实也是我们所写的概要设计中的内容。在详细设计中,设计人员打开各个主要部件,并指定其内部结构和行为。根据程序的大小,详细设计过程中还可能有其他需要考虑的黑匣子层次。这也就是软件工程设计阶段主要工作。在工程设计解析过程中,将生成并评估设计方案。学到基本设计原则:陈述哪些特征使设计能够更好地满足风险承担者需要和要求的原则。构造原则的分类有模块性原则(在不同上下文中,在该层次结构的,任何非树叶层次上的单元,都可以被认为是设计模块。模块是由更小的部件组成的程序单元)、可实现性原则(通过为判断设计能否低成本、短时间并且成功地被构建提供标准,帮助实现设计的经济性)和美观性原则(这里说的时程序设计美观,具有艺术,不是说界面的)。

培训中讲到的“体系结构设计与产品设计和详细设计之间并没有清晰界线”和“体系结构设计和详细设计之间的界线更为模糊”,其实这也是去我在实际工作中和学过软考之后,所了解的知识,有的项目会有概要设计和详细设计,但是有的就是总体设计和详细设计亦或只有详细设计文档,培训中讲的这些都是非常值得肯定的!体系结构设计中既需要静态也需要动态的设计和表示,描述和表示方法也有不少,有结构化的,有面向对象的。常用的UML及体系架构模型框架(DODAF)。用例需要场景,实例化用例的场景是参与者与产品的交互作用,但通常意义上的场景可以是任何个体与产品之间的交互作用。培训给我们讲了银行取钱的场景和实例,通俗易懂。

在培训中讲的详细设计中,详细设计与实现之间的界线也是模糊的。在详细设计期间,设计人员要指定类职责、类属性、类操作、对象交互作用、对象状态、状态变化、进程和进程同步。编程人员要选择控制结构,程序实体的名称、基本类型、参数传递机制和编程风格,这些都是我们做软件详细设计文档时所要体现的,培训给我们大概总结了一下。最后学到了培训总结的三行话:体系结构设计,体系结构风格很重要;详细设计的中级设计,设计模式很重要;详细设计的低级设计,算法与数据结构很重要!总之,此次培训让我受益匪浅!

研发中心:崔月

上一篇:«
下一篇: »