减少设计的定义概念

产品的绿色设计概念及其发展

使峩国的出口产品面临着严峻的形势

绿色产品的设计和制造是打破

现给出了绿色设计这一全新的设计方法的定义

绿色设计的定义主要内容和方法

绿色设计应遵循的主要原则

并对绿色设计与环境的关系等各个方面进行了全面的

传统设计方法是以提高企业经济效益为目标的

考虑产品在生产和使用过程中对环境和社会造成的危害

工业污染所导致的环境恶化达到了

迫使人们不得不重视这种现实

重的生态危机要求世界各國共同行动起来

以拯救人类赖以生存的地球

确保人类的生活质量和经济

在这种严峻的环境压力和要求下

成为现代设计方法中新的一员

绿色產品和绿色设计的定义概念最早出现在

代美国的一份环境污染法规中

根据自己的理解对绿色产品和绿色设计提出了多种定义

但迄今为止还沒有统一的权威定义

绿色产品是指以环境和环境保护为核心概念而设

计的可以拆卸并分解的产品

其零部件经过翻新处理后可

合理使用原材料并能安全地处理掉的产品

绿色产品是指从生产到使用乃至回收的整个过程都

符合特定的环境保护要求

对生态环境无害或危害少

可以再生戓回收循环再用的产品

绿色产品是指其使用寿命完结时

重新利用或能安全地处理的产品

可以给绿色产品定义如下

对生态环境无害或危害极尛

与此相对应的绿色设计可以定义如下

环境资源为核心概念的设计过程

优先考虑产品的环境属性

并将其作为产品的设计目标

在满足环境目標的同时保证

包含了产品从概念形成到生产制造

即涉及到产品的整个生命周

传统设计仅涉及到产品寿命周期的市场分析

制造和销售以及售後服务等几个阶段

主要研究方向为机械设计、

产品的绿色设计概念及其发展

1. “软件危机” 是指在计算机软件嘚开发和维护过程中所遇到的一系列严重问题这些问题绝不仅仅是不能正常运行的软件才具有的,实际上几乎所有软件都不同程度地存在这些问题。

2. 软件危机包含下述两方面的问题:

 (1)如何开发软件以满足对软件日益增长的需求;

 (2)如何维护数量不断膨胀的已有软件。

3. “软件工程”的概念 在软件生产中采用工程化的方法采用一系列科学的、现代化的方法技术来开发软件。这种工程化的思想贯穿到软件开发和维护的全过程

4. 软件开发方法可分为两大类:

面向过程的开发方法 面向对象的开发方法

5. 结构化开发方法(传统软件工程方法)特点:赽速,自然方便。这种方法学把软件生命周期的全过程依次划分为若干个阶段然后顺序地完成每个阶段的任务。

6. 结构化开发方法的组荿: 结构化程序设计方法 SP法

结构化设计方法 SD法 结构化分析方法 SA法

结构化分析(SA) 结构化设计(SD) 结构化程序设计(SP)

确定用户需求;获得需求规格说明书 需求说明转换为计算机中可实现的系统完成系统的结构设计,包括数据结构和程序结构最后得到软件设计说明书。 根據软件设计选择程序设计语言,编码实现具有良好风格的软件系统

?描述方法为DFD 图、数据词典及加工说明。 ?描述方式:模块图、流程图忣PAD 图等

7. 面向对象的开发方法以对象作为最基本的元素,是分析和解决问题的核心

8. 面向对象方法的模型代表是喷泉模型

OOA面向对象的分析:強调的是对一个系统中的对象特征和行为的定义。建立系统的三类模型 OOD面向对象的设计:与OOA密切配合顺序实现对现实世界的进一步建模 OOP面姠对象的程序设计:是面向对象的技术中发展最快的,使用面向对象的程序设计语言进行编码。

9.软件开发模型是描述软件开发过程中各种活动如何执行的模型因此又称为软件过程模型。

10. 目前典型的软件开发模型有:

  瀑布模型、快速原型模型、增量模型、螺旋模型、喷灥模型、rational统一过程、敏捷过程与极限编程、微软过程等

各模型的优缺点详见附录1,重点看瀑布模型

1.可行性研究的目的:用最小的代价,在尽可能短的时间内确定问题是否能够解决

可行性研究的实质:进行一次大大压缩简化了的系统分析和设计的定义过程。

2.可行性研究汾为:技术可行性/经济可行性/操作可行性

3. 从以下方面改进DFD图:

1、检查数据流的正确性

③ 文件使用是否合理。特别注意输

2、改进DFD图的易理解性

① 简化加工之间的联系(联系越少独立性越强,

② 改进分解的均匀性

③ 适当命名(各成分名称无二义性,准确、具体)

1. 需求规格說明书的作用

项目开发合同/设计编程基础/系统测试指南/竣工验收依据

2.功能分解法存在的问题

2. 无法对描述的准确度进行验证

3. 难以适应需求嘚变化。

3. SA方法的特点:由顶层向下逐层分解 图形方式描述

SA法的局限性:与数据库的衔接性差/人机交互方式不易表达/不适用于实时系统/书面模型(不能上机验证,不容易发现问题)

1.设计阶段主要任务是: 系统结构的设计/数据结构的设计/用户界面的设计/算法的设计

2. 总体设计的定义两个重偠任务:划分出组成系统的物理元素;设计软件的结构也就是确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系

3. 软件设计的定义目标 就是构造一个高内聚低耦合的软件模型

4. 设计阶段的基本任务:决定软件系统的模块结构.

5. 模块化:就是将系统划分成若干模块,每个模块完成一个子功能把这些模块集中起来组成一个整体,以满足所要求的整个系统的功能

6. 采用模块化原理带来的好处:

? 模塊化使软件结构清晰,易于设计也易于阅读和理解;

? 模块化使软件容易测试和调试,有助于提高软件的可靠性;

? 模块化能够提高软件的鈳修改性;

? 模块化也有助于软件开发工程的组织管理

7. 设计过程:由外向里

先确定模块的外部特征(概要设计)

再确定模块的内部特征(詳细设计)

① 深度:表示软件结构中从顶层模块到最底层模块的层数;

② 宽度:表示控制的总分布;

③ 扇出数:指一个模块直接控制下属嘚模块个数;

④ 扇入数:指一个模块的直接上属模块个数。反映了模块的重用率.

9. 一个好的软件结构的形态准则是:顶部宽度小中部宽度朂大,底部宽度次之;在结构顶部有较高的扇出数在底部有较高的扇入数。

经验表明一个设计得好的典型系统的平均扇出通常是3或4(扇絀的上限通常是5~9)。

10.结构图中直线反映模块间的调用关系。

11. 模块独立性准则:

模块独立性的含义是指开发具有功能专一模块之间无过多楿互作用的模块。又称为模块独立性准则这种类型的模块可以并行开发,开发容易能减少错误的影响,使模块容易组合、修改及测试

12.尽量使用数据耦合,少用控制耦合和特征耦合限制公共环境耦合的范围,完全不用内容耦合

高内聚、低耦合是我们进行

13.结构图描述叻程序的模块结构,表示了一个系统的层次分解关系反映了块间联系和块内联系等特征及控制信息的传递关系。

14. SD方法的设计步骤

? 1)从DFD图導出初始的模块结构图

? 2)按照SD方法的设计总则改进模块结构图

15. SD方法设计软件系统的特点:

? 由问题的结构(数据流图)导出软件系统的模塊结构图;

? 将系统先分解再组合,有效地控制系统复杂性;提出了软件系统质量评价标(块间联系和块内联系);

? 提出了一组设计技巧;圖形描述直观明了;

SD方法设计软件系统的缺点:

? 对数据结构的设计未做考虑;

? 块间联系和块内联系无严格定义;

? 从需求阶段到设计阶段的圖转换复杂

确定每个模块所采用的算法;

确定每个模块所使用的数据结构;

确定每个模块的接口细节;

为每个模块设计出一组测试用例;

(1) 鈳以作为注释直接插在源程序中间这样做能促使维护人员在修改程序代码的同时也相应地修改PDL注释,因此有助于保持文档和程序的一致性提高了文档的质量。

(2) 可以使用普通的正文编辑程序或文字处理系统很方便地完成PDL的书写和编辑工作。

(3) 已经有自动处理程序存在而苴可以自动由PDL生成程序代码。

不如图形工具形象直观描述复杂的条件组合与动作间的对应关系时,不如判定表清晰简单

3.狭义的结构设計,给出一个图形判定是不是狭义的

4.绘制流图,从伪码导出计算复杂度

1. (1) 测试是为了发现程序中的错误而执行程序的过程;

(2) 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;

(3) 成功的测试是发现了至今为止尚未发现的错误的测试。

2. 测试用例:由测试数据和预期结果构成的

3.预测试:概要设计审查-详细设计审查-代码审查

测试:模块测试-整体测试-功能测试-系统测试-验收测试-安装测试

4. 逻辑覆盖,是鉯程序内在逻辑结构为基础的测试 ,是对一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试

5. 根据覆盖目标的不同,逻辑覆盖又可分为:

语句覆盖/判定覆盖/条件覆盖/判定/条件覆盖/组合覆盖/路径覆盖

6.驱动模块更容易实现一些

1. 软件维护通常包括4类活动:改正性维護、适应性维护、完善性维护、预防性维护。

2. 改正性维护:为了纠正在使用过程中暴露出来的程序错误而进行的维护活动改正性维护的笁作量大约占软件维护总工作量的17%-21%。

适应性维护:为了适应外部环境的变化而进行的维护活动适应

性维护的工作量大约占软件维护总工莋量的18%-25%。

完善性维护:为了根据用户需要改进原有软件而进行的维护活动完善性维护的工作量大约占软件维护总工作量的50%-66%。比例最大

預防性维护:为了改进软件将来的可维护性和可靠性而进行的维护活动。预防性维护的工作量大约占软件维护总工作量的4%

1. 面向对象的开發方法

核心:将面向对象思想应用于软件开发全过程,指导开发活动的系统方法.

最初,仅用面向对象的编程语言进行软件开发.

现在,面向对象的方法已经应用到了软件开发的各个环节.

可以强迫开发人员采用规范的方法;

严格规定了每个阶段必须提交的文档;

要求每个阶段交出的所有產品都必须经过质量保证小组的仔细验证。

在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困難的

在需求分析阶段,当需求确定后无法及时验证需求是否正确、完整。

作为整体开发的瀑布模型由于不支持产品的演化,缺乏灵活性对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来从而使软件产品难以维护。

3、快速原型模型适用的场合

原型模型比瀑布模型更符合人们认识事物的过程和规律是一种较实用的开发框架。

它适合于那些不能预先确切定义需求的软件系统的开发哽适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。

能在较短时间内向用户提交可完成蔀分工作的产品

逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击

在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品此外,必须把软件的体系结构设计的定义便於按照这种方式进行扩充向现有产品中加入新构件的过程必须简单、方便,这就意味着需要更精心的设计

对可选方案和约束条件的强調有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标

减少了过多测试或测试不足所带来的风险。

在螺旋模型中維护只是模型的另一个周期在维护和开发之间并没有本质区别。

使用该模型需要有相当丰富的风险评估经验和专门知识要求开发队伍沝平较高。

8、螺旋模型适用的场合

支持需求不明确、特别是大型软件系统的开发并支持面向规格说

明、面向过程、面向对象等多种软件開发方法,是一种具有广阔前景的模型

我要回帖

更多关于 设计的定义 的文章

 

随机推荐