软考高级第四版备考---第四十一天(软件工程-软件设计)

一、结构化设计

结构化设计(Structured Design,SD)是一种面向数据流的方法,它以SRS和SA阶段所产生的DFD和数据字典等文档为基础,是一个自顶向下、逐步求精和模块化的过程

二、面向对象设计

2.1面相对象设计(OOD)是OOA方法的延续,其基本思路包括对象、封装和可扩展性,其中扩展性主要通过继承和多态来实现

2.2常用的OOD原则包括:

  • 单职原则:设计功能单一的类。本原则与结构化方法的高内聚原则是一致的
  • 开闭原则:对扩展开放,对修改封闭
  • 李式替代原则:子类可以替换父类
  • 依赖倒置原则:要依赖于抽象,而不是具体实现;要针对接口编程,不要针对实现编程
  • 接口隔离原则:使用多个专门的接口比使用单一的总接口要好;
  • 组合重用原则:要尽量使用组合,而不是集成关系达到重用目的。
  • 迪米特原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解。本原则与结构化方法的低耦合原则是一致的

三、设计模式

3.1设计模式是前人经验的总结,它使人们可以方面地复用成功的软件设计。

设计模式包含模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式等基本要素

3.2根据处理范围不同,设计模式可分为类模式和对象模式

3.3根据目的和用途不同,设计模式可分为创建型(Creational)模式、结构型(Structural)和行为型(Behavioral)模式

相关推荐
GISMagic7 小时前
1.MIT Software Construction:软件工程核心知识提炼
软件工程
XM_jhxx9 小时前
简会AI图纸识别系统功能上新:模板、公差、量具个性化配置上线!
数据库·人工智能·软件工程
rolt12 小时前
OGC CityGML-用UML表示的行业标准03地理
软件工程·uml·ontology·本体
传奇开心果编程1 天前
中庸、有容、破执:仓颉编程语言的中华智慧结晶——三重哲学境界思辨
开发语言·华为·开源·软件工程
梁辰兴1 天前
软件工程:面向功能的度量
软件工程·梁辰兴·面向功能的度量·度量定义·功能点分析fpa·用例点ucp·生产率分析
GISMagic1 天前
AI 时代的软件工程与架构能力提升路线
人工智能·架构·软件工程
沐欣工作室_lvyiyi1 天前
基于STM32的生活用水循环净化与浇灌系统(论文+源码)
stm32·软件工程·云平台·单片机毕业设计·单片机仿真·机械电子工程·伊犁师范学院
金字塔頂の蝸牛2 天前
每周GitCode开源项目推荐
开源·软件工程·ai编程
三环上的骑士2 天前
【领域篇17】软件研发与组织效能评估:100 个典型应用场景全景梳理(附分类体系)
软件工程·软件研发·代码质量·开发者体验·组织效能·效能评估·研发效能评估