首页 > 其他分享 >《需求分析与系统设计》阅读笔记3

《需求分析与系统设计》阅读笔记3

时间:2023-11-05 21:15:14浏览次数:35  
标签:泛化 系统 建模 笔记 关联 说明 规格 阅读 设计

  软件体系结构定义了系统中相互作用的软件构件及子系统的结构和组织形式。它提供了一种对设计的保护措施,以防止作为系统阶段的设计出现失败。

因此在详细系统规格说明工作开始之前,软件开发团队必须选定全体开发人员都要遵循的体系结构模式和原则。所有软件建模的最重要目标都是将构建依赖最小化,

因此开发人员不能允许随意的对象通信,否则随着模型增长及每个新对象的加入,系统的复杂性会呈指数上升。模型-视图-控制器,简称MVC,这是一个大家都很熟悉的体系结构框架,

该框架是作为Smalltalk-80编程环境的一部分而开发的。

  状态规格说明提供系统的结构视图,主要任务是定义应用领域的类,它们的属性以及与其他类的关系。类的操作在一开始一般不予考虑,将来从行为规格说明模型中导出。

状态规格说明分多个模块。首先是类建模。它是面向对象系统开发的基础,因为类本身的性质,这个建模不是一个确定的过程——不存在发现和定义良好类的秘诀。

基本流程为发现类——对类进行说明。第二个为关联建模。关联是模型中最基本的关系——特别是在持久“业务对象”模型中,关联支持用例的执行,因此它与状态和行为规格说明关系紧密。

PCBMER框架的EAP原则就主张程序中显式关联的重要性。其基本流程为发现关联——说明关联。第三个为聚合及复合关系建模。

聚合与泛化是面向对象系统中支持功能复用的最重要技术。该部分的基本流程为发现聚合和复合——说明聚合和复合。第四个是泛化关系建模。

泛化是一个或多个类的公共特性可以抽象到一个更一般化的类中。它有两个目的:可替换性和多态性。基本流程与其他无异:发现泛化——说明泛化。第五个是接口建模。

接口提供了某些强大的建模能力,接口与类没有关联,但可以作为来自于类的单向关联的目标方,接口还可以与另一个接口具有泛化关系。基本流程略。第六个是对象建模。

建模涉及系统的定义。模型不是一个可执行系统,因此它不显示实例对象,而任何有意义的系统中对象的数量都是巨大的,我们需要对对象进行一个说明,因此在为类建模时这是一个关注点。

  系统的行为是它展现给外部用户的,这一行为我们同样需要做一些手段进行说明。说明行为同样划分成多个模块,这同样与建模脱不开干系,

以下不再多做说明,直接罗列出来:用例建模,活动建模,交互建模,操作模型。最后一个说明则是状态变化规格说明。状态规格说明定义类的属性,行为规格说明定义类的操作,

但要理解对象怎样岁事件改变其状态,需要一个更有针对性的系统视图。这就是状态变化规格说明的出发点。

标签:泛化,系统,建模,笔记,关联,说明,规格,阅读,设计
From: https://www.cnblogs.com/-GYP/p/17811179.html

相关文章

  • 学习笔记8
    第五章定时器及时钟服务一、知识点归纳(一)硬件定时器定时器是由时钟源和可编程计数器组成的硬件设备。时钟源通常是一个晶体振荡器,会产生周期性电信号,以料青确的频率驱动计数器。使用一个倒计时值对计数器进行编程,每个时钟信号减1。当计改减为0时,计数器向CPU生成一个定时器......
  • 2023-2024-1 20231413 《计算机基础与程序设计》第六周学习总结
    2023-2024-120231413《计算机基础与程序设计》第六周学习总结1.作业信息班级:2023-2024-1-计算机基础与程序设计作业要求:2023-2024-1《计算机基础与程序设计》教学进程目标:自学教材:计算机科学概论第7、8章并完成云班课测试《C语言程序设计》第5章并完成云班课测试作业正......
  • 学习笔记
    双引号:把搜索词放在双引号中代表完全匹配搜索,搜索结果返回的页面包含双引号中出现的所有的词且顺序也必须完全匹配。减号:搜索不包含减号后面的词的页面,使用这个指令时减号前面必须是空格,减号后面没有空格,紧跟着需要排除的词。星号*:在Google 中搜索,其中的*号代表任何文字。返回......
  • 2023-2024-1 20231323《计算机基础与程序设计》第六周学习总结
    2023-2024-120231323《计算机基础与程序设计》第六周学习总结作业信息所属课程2023-2024-1-计算机基础与程序设计作业要求在哪里2023-2024-1计算机基础与程序设计第六周作业作业目标学习教材《计算机科学概论》第7章《C语言程序设计》第5章并完成云班课测试作......
  • HTML笔记
    2023-11-051、HTML(超文本标记语言)是一种标记语言(标记标签(来描述网页)),而不是编程语言。HTML文档(Web页面)包含了HTML标签和文本内容。2、HTML标签(HTML标记标签)尖括号包围的关键词。 eg.<html>成对出现。  eg.<b>(开始标签(开放标签))和<b>(结束标签(闭合标签))      ......
  • 2023-2024-1 20231306 《计算机基础与程序设计》第六周学习总结
    这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第六周作业这个作业的目标Polya如何解决问题、简单类型与组合类型、复合数据结构、查找与排序算法、算法复杂度、递归、代码安全作业正文《计算机......
  • 2023-2024 20231310 《计算机基础与程序设计》 第六周学习总结
    作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06这个作业的目标《计算机科学概论》第七章,《C语言程序设计》第五章作业正文教材学习内容总结......
  • 软件设计1
    [实验任务一]:UML复习阅读教材第一章复习UML,回答下述问题:面向对象程序设计中类与类的关系都有哪几种?分别用类图实例说明。1,关联关系  2,依赖关系  3,泛化关系  4,接口与实现关系    [实验任务二]:单一职责原则登录模块在实际项目开发中很常见,请按照教......
  • 2023-2024-1 20231312 《计算机基础与程序设计》第6周学习总结
    作业信息这个作业属于哪个课程<班级的链接>2023-2024-1-计算机基础与程序设计|-这个作业要求在哪里<作业要求链接>2023-2024-1计算机基础与程序设计第6周作业|这个作业的目标《计算机基础概论》第7章《C语言程序设计》第5章|作业正文作业链接教材学习......
  • 039-第三代软件开发-PDF阅读器
    第三代软件开发-PDF阅读器文章目录第三代软件开发-PDF阅读器项目介绍PDF阅读器1初始化PDFview2qml中使用3创建模块关键字:Qt、Qml、pdf、LTDev、本地项目介绍欢迎来到我们的QML&C++项目!这个项目结合了QML(QtMeta-ObjectLanguage)和C++的强大功能,旨在开发出色的......