180 likes | 392 Views
小组软件过程 —— 小组设计. 欧阳柳波 湖南大学软件学院. 设计的原则. 设计是决定如何建立一个产品的创造性过程,一个完整的设计定义了产品的主要部分,描述这些部分如何交互工作,还详细描述它们如何装配到一起来产生最终结果。 总体设计与详细设计,总体设计应准确完整,为详细设计打好基础. 小组设计. 小组设计的三个主要问题: 产品各部分应由谁来设计 设计者应以什么顺序来进行设计工作 产品的各部分如何组合到一起. 小组设计. 让整个小组一起致力于总体结构设计 但通常只有一两名工程师来将总体设计形成文档,详细描述界面,在部件中间分配系统功能,定义程序总体结构和逻辑。
E N D
小组软件过程——小组设计 欧阳柳波 湖南大学软件学院
设计的原则 • 设计是决定如何建立一个产品的创造性过程,一个完整的设计定义了产品的主要部分,描述这些部分如何交互工作,还详细描述它们如何装配到一起来产生最终结果。 • 总体设计与详细设计,总体设计应准确完整,为详细设计打好基础
小组设计 小组设计的三个主要问题: • 产品各部分应由谁来设计 • 设计者应以什么顺序来进行设计工作 • 产品的各部分如何组合到一起
小组设计 • 让整个小组一起致力于总体结构设计 • 但通常只有一两名工程师来将总体设计形成文档,详细描述界面,在部件中间分配系统功能,定义程序总体结构和逻辑。 • 通过建立原型进行设计研究,如建立用户界面原型。 • 发挥整个小组的才智,调动每一位成员的参与积极性
设计的标准 • 命名约定 需要建立的第一个标准是命名,应详细陈述命名结构并让产品支持经理建立一个系统词汇表。定义分层继承程序类型名(如系统、产品、部件、模块、对象),定义使用在程序名、文件名、变量名和参数名上的约定,还要定义使用在设置、控制和改变名称的过程中的规范。
设计的标准 • 接口格式 定义部件接口的内容和格式,应包括定义代表变量、错码或其它情况的参数,当所有的接口都被详细描述时,所犯的错误将减少,而且在复核和检查期间会迅速发现错误和遗漏。 • 系统消息和错误消息 为系统消息和错误消息建立标准的格式和程序。一个有用的系统要有外观一致,易理解的消息。
设计的标准 • 缺陷标准
设计的标准 • LOC的计算 其标准一般在程序实现阶段进行定义。 • 设计表示的标准 设计表示的标准定义了设计工作的成果。一个模糊不清的表示将导致实现和测试时出现问题。 使设计完整准确的四个PSP设计模板:操作说明模板、功能详细说明模板、状态详细说明模板、逻辑详细说明模板,这样使设计是可检查、可复核的。
设计的复用 • 复用是增加小组生产力的一种有效方式。 • 设计的复用的主要问题是定义标准接口和调用约定,建立文档标准,产生高质量的产品,以及提供应用支持。
复用接口标准 • 复用的关键问题是使复用部分便于使用,最好的方式是定义自包含的、独立的可复用功能。使部件具有低耦合性、高内聚性。 • 重要的复用标准之一是调用-返回接口,标准的定义要符合当前的实际工作中的标准。 • 伴随接口标准,还要详细说明哪些参数是作为变量使用的,哪些参数需要返回,哪些参数是针对特殊消息和错误条件的,以及定义标准的错误消息和条件以及对错误条件反应的标准方式,以及命名约定。
复用文档标准 • 文档标准是可复用部件与不可复用部件的区别所在。 • 当功能部件未被很好地做成文档,那么复用的用户必须寻找源码来确定它是如何工作的,因此绝大多数的工程师都把复用限制在他们个人书写和理解的程序上。 • 当工程师不必看源代码时就理解如何使用可复用程序时,小组复用就被最大化了。 • 可复用部件列表应包含每个部件的外部行为的完整的详细说明,可添加源代码注释。
复用部分的质量 • 设计和代码质量非常重要,产品必须是整洁的,有清楚的注释和准确完整的设计资料。 • 充分地使用PSP进行过程指导。 • 通过单元测试来保证程序是适合于所有的变量和参数值的。
复用的应用支持 • 要使复用部件的了解和使用变得容易 • 开发过程中,尽可能复用可用的部件 • 小组要经常复核工程师正在开发的部件功能,更新可复用功能列表 • 产品支持经理要为支持可复用部分和保持其完整的记录负责 • 产品支持经理要在总体设计和详细设计及代码检查过程中帮助小组确认可能的复用部分,并确保复用部分被广泛使用。
可用性设计 • 将用户所需功能制作成脚本,分析这些脚本,确保用户所想要的系统。 • 可通过原型化工具进行可用性设计。
可测性设计 • 详细的单元测试需要专门的测试代码提供一个合适的测试环境。专门的测试代码可能很长。 • 详细的测试计划非常重要,计划时间可能比实际测试花费的时间要长得多。 • 黑盒测试:单个模块和部件的黑盒测试需要接口驱动程序和专门的支持程序来提供模拟的系统环境。 • 白盒测试:主要考虑程序的逻辑与结构。
设计的复核与检查 • 设计的复核与检查有助于改进设计质量。 • 设计应完全文档化,检查前应有设计的详尽分析。 • 应检查每一个设计要素以确保其适当的工作,如检查接口、循环初始化、继续与终止条件,分析状态行为等。 • 检查的价值不仅仅在于发现缺陷,多一个检查者就更多补充了小组整体的背景和知识。 • 若有时间,就使用更多的检查者,否则,应采用有经验的检查者。
TSPi设计脚本 • 开始标准:开发策略、计划、SRS • 总体设计:定义第一周期的产品结构、部件命名、部件功能分配、确定设计任务 • 设计标准:小组设计标准、命名词汇表 • 产品总体结构:部件的功能分配 • 设计任务的分配:成员工作分配及时间安排 • 设计详细说明:成员的SDS和小组的SDS • 集成测试计划:检验系统的所有接口
TSPi设计脚本 • 设计检查:检查SDS草稿和集成测试计划 • 设计更新:更新的SDS部分整合,验证SDS的可追踪性 • 设计基准:正式的SDS文档,只能通过变更控制程序CCR来改变 • 结束标准:正式的SDS、集成测试计划、设计标准和命名词汇表、完成的检查表(INS)、更新了的SUMP和SUMQ、PSP数据