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

一、结构化设计

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

二、面向对象设计

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

2.2常用的OOD原则包括:

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

三、设计模式

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

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

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

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

相关推荐
大千AI助手4 小时前
SWE-bench:真实世界软件工程任务的“试金石”
人工智能·深度学习·大模型·llm·软件工程·代码生成·swe-bench
Q_Q5110082855 小时前
python的软件工程与项目管理课程组学习系统
spring boot·python·django·flask·node.js·php·软件工程
万能小锦鲤13 小时前
《软件工程导论》实验报告五 设计建模工具的使用(一)类图
软件工程·类图·实验报告·boardmix·文档资源
数据爬坡ing2 天前
过程设计工具深度解析-软件工程之详细设计(补充篇)
大数据·数据结构·算法·apache·软件工程·软件构建·设计语言
紫金桥软件2 天前
紫金桥RealSCADA:国产工业大脑,智造安全基石
安全·系统安全·软件工程
曼岛_3 天前
[系统架构设计师]软件工程基础知识(五)
系统架构·软件工程·系统架构设计师
万能小锦鲤4 天前
《软件工程导论》实验报告一 软件工程文档
软件工程·软件工程导论·实验报告·软件工程文档
数据爬坡ing6 天前
软件工程总体设计:从抽象到具体的系统构建之道
数据库·流程图·软件工程·可用性测试·软件需求
张太行_10 天前
人月神话:软件工程的永恒智慧
大数据·软件工程
snow@li10 天前
PMP项目管理:理解PMP、PMP学什么 / 适合谁学 / Project Management Professional / 项目管理专业人士
软件工程