文章目录
- 一、软件工程概述
- 二、分析与设计概述
- 三、领域模型
一、软件工程概述
高质量软件系统的基本要求
- 架构性内聚
- 可重用性
- 可维护性
- 可扩展性
- 灵活性
软件开发过程模型:是指根据软件开发项目从开始到结束的一系列步骤和方法,建模为不同的模型。常见的有:
- 瀑布模型(Waterfall Model):线性顺序执行,分为需求分析、设计、实现、测试、部署和维护等阶段。每个阶段有明确的开始和结束,前一阶段完成后才能进入下一阶段。适用于需求明确且不太可能变更的项目。
- 敏捷开发(Agile Development):迭代和增量开发,强调适应性、客户协作和快速响应变化。通过短周期的迭代(通常称为“sprints”)来逐步构建和改进产品。适用于需求经常变化或需求不完全明确的项目。
- 迭代模型(Iterative Model):将项目分解成多个小的、可管理的部分,每一部分都是一个迭代。每个迭代都包含需求、设计、开发和测试阶段。适用于需求可以在项目开发过程中逐渐明确的项目。
- DevOps:强调软件开发和IT运营之间的协作和沟通。 通过自动化部署、持续集成和持续交付来提高软件交付的速度和质量。
分析、设计、实现与部署
- 分析是指对问题或需求的发现、理解和梳理,明确系统必须做什么。而不是解决方案,无需考虑如果解决
- 设计是指提出满足需求的概念性解决方案,包括架构设计、界面设计和数据库设计等
- 分析与设计的关系
- 分析为了明确做什么
- 设计为了明确怎么做
- 实现是指将设计方案使用编码实现。包括根据设计文档编写源代码、进行单元测试等
- 部署是指将软件系统部署到生产环境中,并确保其稳定运行。
二、分析与设计概述
面向对象分析与设计
-
面向对象分析(Object-Oriented Analysis,OOA)是一种调查问题域、确定所需对象及其相互关系的分析方法。主要任务包括确定系统中的主要对象、对象之间的关系、以及对象的属性。
-
面向对象设计(Object-Oriented Design,OOD)是一种将面向对象分析的结果转换成实际代码的设计方法。主要任务包括确定系统中对象的操作。
-
关系
- OOA 是 OOD 的前提和基础,没有良好的分析,设计就无从谈起。
- OOD 是 OOA 的具体实现,分析的结果需要通过设计来体现。
-
UML统一建模工具是一种思考的工具、沟通的形式,能够可视化地表达你的建模思想。重要的不是工具,而是面向对象的思维方式。即一切都是对象,一切都可以建模为模型。
三、领域模型
领域模型 (Domain Model)是一种概念模型,是对问题领域的概念表示。看作“没有定义操作的类图”,它可以显示概念类、概念类之间的关系、概念类的属性。
领域模型建模原则
- 使用行业通识名词,作为概念类的名称
- 一般将计算/汇总/总结性所得的概念类删除,避免数据不一致风险
- 删除无关的、超出范围的概念类,不增加额外没必要的概念类。
- 符合下列条件的可能是概念类:
- 有很多元素构成;
- 有操作和行为;
- 有数量单位。
- 下列情况,可考虑将描述性质单独作为概念类
- 如果描述内容独立于对应的事物 ,如产品、产品描述
- 如果删除对象的同时删除了描述,而该描述还需要继续维护
- 为了减少重复或者更清晰
示例:将描述性质作为单独概念类
您正在阅读的是《面向对象分析与设计Python版》专栏!关注不迷路~