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

一、结构化设计

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

二、面向对象设计

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

2.2常用的OOD原则包括:

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

三、设计模式

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

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

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

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

相关推荐
嘿黑嘿呦6 天前
chap 8排序
算法·蓝桥杯·排序算法·软件工程
旧曲重听17 天前
2026前端技术从「夯」到「拉」
前端·程序人生·职场和发展·软件工程
承渊政道7 天前
飞算JavaAI 智能引导背后的多 Agent 协作机制解析:从老旧 Java 后台升级到可运行工程
java·开发语言·spring boot·安全·intellij-idea·软件工程·ai编程
apcipot_rain7 天前
计科八股20260616(1)——堆存中位数、链表判环、黑白测试、敏捷开发与瀑布模型、配置管理、持续集成、池化
数据结构·算法·软件工程
lisw057 天前
【计算机科学技术】路由器(route):概念、历史、内容与战略!
机器学习·智能路由器·软件工程
培培说证8 天前
大数据、人工智能、计算机、软件工程,到底怎么选?
大数据·人工智能·软件工程
文艺倾年8 天前
【强化学习】MDP、贝尔曼方程与CartPole 编程,20W字总结(二)
人工智能·软件工程·强化学习
郝学胜-神的一滴8 天前
CMake 017:彩色日志输出实战
linux·c语言·开发语言·c++·软件工程·软件构建·cmake
小程故事多_809 天前
AI软件工程范式革命,终结五十年的“手工伪工程”时代
人工智能·软件工程
精益数智小屋9 天前
项目管理看板如何拆解任务进度?项目管理看板解决跨部门协作难题
大数据·人工智能·数据分析·云计算·软件工程