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

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

时间:2023-12-05 22:11:32浏览次数:22  
标签:泛化 对象 系统 建模 笔记 说明 规格 阅读 设计

软件需求分析中不可或缺的一步就是可视化建模,因为参与软件开发的人员不可能都是程序员,肯定还有相关项目的业界人士参与进来,这时候让他们直接去理解代码显然是不现实的,因此我们需要用到可视化建模,目前我们最熟悉的可视化建模语言莫过于UML了,这也是我们在大学内特地开设课程教授的语言。UML的详细介绍这里就不再多讲了,这个学期在老师的带领下一直在用,有时间会单独写一篇博客做介绍。直接进入下一主题。

  可视化建模的目的是说明软件的用例关系等等,我们还需要对软件的需求规格进行更加详细的说明,以下称为“需求规格说明”。需求规格说明涉及对需求确定期间定义的客户需求进行严格的建模,重点放在那些系统将要提供的所期望的服务(功能性需求)上。在规格说明阶段通常不对系统约束(非功能需求)做进一步的考虑,但系统约束可以指导和验证建模工作。这种指导和验证采用体系结构优先权就的形式。

  接下来介绍体系结构:软件体系结构定义了系统中相互作用的软件构件及子系统的结构和组织形式。它提供了一种对设计的保护措施,以防止作为系统阶段的设计出现失败。因此在详细系统规格说明工作开始之前,软件开发团队必须选定全体开发人员都要遵循的体系结构模式和原则。所有软件建模的最重要目标都是将构建依赖最小化,因此开发人员不能允许随意的对象通信,否则随着模型增长及每个新对象的加入,系统的复杂性会呈指数上升。模型-视图-控制器,简称MVC,这是一个大家都很熟悉的体系结构框架,该框架是作为Smalltalk-80编程环境的一部分而开发的。模型对象表示数据对象——应用问题域中的业务实体和业务规则;视图对象表示用户UI对象,将模型的状态以用户需要的格式呈现在用户的图形界面上;控制器对象表示鼠标和键盘事件,响应视图发出的请求,该请求是用户与系统交互的结果;J2EE的核心体系结构是以MVC为骨架,扩展到企业和电子商务系统中的框架。这个框架是通用的,解释的,不需要调整。它在3个应用程序层之间引入了“关注点分离”。规定表示层构件只能通过业务层与集成层构件通信,反之亦然。但由于它不允许双向通信(方法调用),所以没有强化严格的等级顺序,因而允许循环调用。表示-控制器-bean-中介者-实体-资源,原为PCMEF框架。PCMEF框架已被扩展为包含6个层次,并重新命名为PCBMER。该框架具有很多优点:一是层之间相关性的分离,使得修改能在一层内进行而不影响其他层,对其他依赖层的影响也可以预见和管理;第二个优点是去除了依赖关系的循环,得刀了只存在向下依赖的6层结构;第三个优点是该框架确保了相当高的稳定性。PCBMER还具有几个重要的体系结构原则:向下依赖原则(DDP),向上通知原则(UNP),相邻通信原则(NCP),显式关联原则(EAP),循环去除原则(CEP),类命名原则(CNP),相识包原则(APP)。

  除需求规格说明外,我们还要进行状态规格说明。状态规格说明提供系统的结构视图,主要任务是定义应用领域的类,它们的属性以及与其他类的关系。类的操作在一开始一般不予考虑,将来从行为规格说明模型中导出。状态规格说明分多个模块。首先是类建模。它是面向对象系统开发的基础,因为类本身的性质,这个建模不是一个确定的过程——不存在发现和定义良好类的秘诀。基本流程为发现类——对类进行说明。第二个为关联建模。关联是模型中最基本的关系——特别是在持久“业务对象”模型中,关联支持用例的执行,因此它与状态和行为规格说明关系紧密。PCBMER框架的EAP原则就主张程序中显式关联的重要性。其基本流程为发现关联——说明关联。第三个为聚合及复合关系建模。聚合与泛化是面向对象系统中支持功能复用的最重要技术。该部分的基本流程为发现聚合和复合——说明聚合和复合。第四个是泛化关系建模。泛化是一个或多个类的公共特性可以抽象到一个更一般化的类中。它有两个目的:可替换性和多态性。基本流程与其他无异:发现泛化——说明泛化。第五个是接口建模。接口提供了某些强大的建模能力,接口与类没有关联,但可以作为来自于类的单向关联的目标方,接口还可以与另一个接口具有泛化关系。基本流程略。第六个是对象建模。建模涉及系统的定义。模型不是一个可执行系统,因此它不显示实例对象,而任何有意义的系统中对象的数量都是巨大的,我们需要对对象进行一个说明,因此在为类建模时这是一个关注点。

  在状态规格说明结束之后,我们还需要行为规格说明。系统的行为是它展现给外部用户的,这一行为我们同样需要做一些手段进行说明。说明行为同样划分成多个模块,这同样与建模脱不开干系,以下不再多做说明,直接罗列出来:用例建模,活动建模,交互建模,操作模型。最后一个说明则是状态变化规格说明。状态规格说明定义类的属性,行为规格说明定义类的操作,但要理解对象怎样岁事件改变其状态,需要一个更有针对性的系统视图。这就是状态变化规格说明的出发点。

  以上是对本书关于规格说明这一章的简述。这一章我学到了很多东西,在我开始工作之后再回过头来品读时,兴许有了其他的感悟。

标签:泛化,对象,系统,建模,笔记,说明,规格,阅读,设计
From: https://www.cnblogs.com/y1126/p/17836222.html

相关文章

  • 1.需求分析和架构设计
    需求分析熟悉产品需求以架构师的思维分析需求,不能只停留在表面实现需求,要考虑怎么实现能给业务带来增长全局思维、整体思维、闭环思维,不能只考虑自己,要全局考虑整个团队,要做到有输出、有输入、有结果浅层需求分析表面需要实现的功能,如登录、创建作品、编辑、发布、访问作......
  • 12/5学习笔记
    今天学习了注意力机制什么是注意力首先,心理学上,作为动物,想要在复杂环境下关注到需要关注的事物,机制是根据随意线索和不随意线索选择注意点随意与不随意实际上是遂意与不遂意,也就是是否受控例如这里的在环境中看到红色杯子,是因为杯子颜色鲜艳,会让人第一眼看到,这是不需要遂意的,而想......
  • 23种设计模式——抽象工厂模式
    今天我们来学习一下第三种设计模式——抽象工厂模式,概念:所谓抽象工厂模式就是提供一个接口,用于创建相关或者依赖对象的家族,而不需要明确指定具体类。它允许客户端使用抽象的接口来创建一组相关的产品,而不需要关心实际产出的具体产品是什么。这样一来,客户就可以从具体的产品中被......
  • 第三阶段前端随手笔记
    1.let细节注意直接输出x,会报错!在输出语句后面使用var定义变量x,会变量提升,输出undefined      2Vue笔记1控制台直接使用vm对象<!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <title>vue快速入门</title><......
  • SSM整合项目随手笔记
    1通过cmd控制台启动的vue项目关闭方法启动vue项目按给出指令执行即可cmd控制台关闭vue项目输入CTRL+C 2如果无意间点了Addel...意思是idea识别不到这个标签添加el...到自定义html标签 将其从自定义标签库删除操作方法是InSettings|Editor|In......
  • Springmvc随手笔记
    0报错问题1tomcat运行中IDEA异常关闭解决方法:重启电脑tomcat运行中IDEA异常关闭,再次启动tomcat会报告端口占用,打开任务管理器关闭一个java.exetomcat可以正常启动但是debug任然提示端口被占用Errorrunning'Tomcat8.0.50-springmvc':Unabletoopendebuggerport......
  • 网口设计注意事项
    网口设计注意事项PHY与网络变压器接法通用MCU(CH32V203RBT6、CH32V/F208、CH32V307、CH32F207)BLE(CH577、CH578、CH579)接口芯片(CH9120、CH9121、CH9126、CH392、CH395)变压器接法:变压器中心抽头接VCC接口(CH390、CH182)变压器接法:变压器中心抽头接对地电容终端电阻介绍高频......
  • openGauss学习笔记-143 openGauss 数据库运维-例行维护-数据安全维护建议
    openGauss学习笔记-143openGauss数据库运维-例行维护-数据安全维护建议为保证openGauss数据库中的数据安全,避免丢失数据、非法访问数据等事故发生,请仔细阅读以下内容。143.1避免数据被丢失建议用户规划周期性的物理备份,且对备份文件进行可靠的保存。在系统发生严重错误的情况......
  • HTML学习笔记四:html-body-行内元素
    HTML学习笔记四:body元素行内元素MDN元素查询地址所有的html的元素我们都可以通过以下地址进行相关的查询和理解。https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/metabody中元素分类块级元素行内元素行内元素行内元素区别于块级元素,不会独占一行,一个行内元......
  • HTML学习笔记五:html-body-form表单
    HTML学习笔记五:html-body-form表单MDN元素查询地址所有的html的元素我们都可以通过以下地址进行相关的查询和理解。https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/meta表单元素在网页中,如果需要向web服务器提交用户输入的信息时候,需要用到form表单进行提交。......