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

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

时间:2023-11-05 09:03:09浏览次数:40  
标签:10 映射 管理 数据库 30 笔记 质量 测试 模型

信息系统从定义上就是多用户系统。多个用户和应用程序可以通过数据库管理系统并发访问同一个数据库。应用程序依赖与数据库的不仅仅是数据,还有数据库提供的解决并发冲突、保证数据的安全访问、保证数据一致性、事务错误恢复等功能。类模型和PCBMER子系统中只包含应用类,而不包含数据库结构的存储。实体类表示应用程序中持久数据库对象,但实体类不是数据库中的持久类。必须谨慎设计业务对象和持久数据库之间的关系。

  数据库就像程序设计语言一样,为建模和程序设计提供了固有数据类型作为基本构造块,这些固有数据类型称为原始类型。RDB原始类型是非常基本的。它的简洁性来源于数学的集合概念,数学的基础使这个模型是描述性的。RDB不支持对象类型及相关的概念、结构化类型、集合、引用。对象关系映射是指从UML类模型映射到RDB模式的设计,对象关系映射必须要考虑RDB模型的限制。难点在于要将类图的描述性语义转换为逻辑模式设计中的过程性解决方案。

  映射困难主要有两个原因:数据库的存储结构处理不了面向对象泛型以及数据库几乎都不是为单个应用程序设计的。RBD模型的主要原始类型是由多列组成的关系表。表的列只能取原子值—结构化值或值的集合是不允许的。关系数据库用列和行组成的表来定义数据,可以为列和域设置业务规则来约束他们,业务规则可以定义为:默认值、取值范围、值的列表、值的大小写、值的格式。RDB模型中要求“不允许有重复行”,因此每个表都要有一个关键字(主键)。

  规则和描述性引用完整性约束允许在数据库中定义简单的业务规则,触发器是一个小程序,当定义了触发器的表发生修改操作是自动执行(触发)。

  持久对象的管理毫无疑问是应用程序设计的主要问题。解决这个问题尤其需要好的设计模式集合。企业应用体系结构模式就提供了这样的集合。其中一些模式有标识映射、数据映射、延迟装载、工作单元。应用程序需要与数据库交换数据,客户端程序必须采用数据库语言来访问和修改数据库。

  质量与变更管理能够判断一个IT组织是否达到了CMM过程成熟的两个最高级。质量管理分为质量保证和质量控制,变更管理是整个项目管理的基础,必须记录所有的变更请求。质量管理与人员管理、风险管理以及变更管理等活动都属于整个软件过程管理的一部分。项目管理(进度安排\预算\跟踪项目进度)是个例外。质量管理主要针对软件产品以及开发产品时所采用的软件过程。针对不同的软件项目,所要求的软件质量的重要性各有不相同。这些质量有助于实现系统最主要的目标—软件产品满足功能性需求,要达到这个目标所必需的质量如下:正确性、可靠性、鲁棒性、性能、可用性、易懂性、可维护性、可伸缩性、可复用性、可携带性、协同工作的能力、生产性、时效性、可视性。

  质量管理与项目管理可以并行执行,而且也有助于项目管理。变更无处不在,并且会影响到企业的各个方面,他有业务维度和系统维度。可以(且通常)采用系统业务值来阐述变更管理,然后再讲它应用于财务模型和资本预算模型,最后在投资项目的进度安排、预算和计划中实施,其中包含软件项目。

 要管理变更,就需要一个变更请求管理工具,潜在的冲突可以通过锁定或版本控制机制来解决。采用前者,则被锁定的文档暂时对其他开发人员无效,采用后者,则同一个文档可以有多个版本,但这些版本之间的冲突后来可以通过协商解决。

  质量管理有两个非常正交的方面。用作质量控制机制时是被动的(事后行为),但是用于测试驱动开发框架时,它可以是非常主动的质量保证活动。质量控制与系统服务测试和系统约束测试有关。系统服务测试可以是静态或动态测试。静态测试包括走查和审查——质量保证实践中的正式评审会议。而动态测试可以针对规格说明书的测试或针对代码测试。

标签:10,映射,管理,数据库,30,笔记,质量,测试,模型
From: https://www.cnblogs.com/lmyy/p/17810202.html

相关文章

  • 10月27日总结
    好,经过上一篇的介绍,实现了Vuex当中的actions方法,接下来我们来实现Vuex当中的模块化共享数据(modules)。modules方法用于模块化共享数据,那么什么叫模块化共享数据呢?其实非常简单。过去我们将所有模块的数据都放到state中共享,例如:我们有三个模块首页/个人中心/登录,那......
  • 10月31日总结
    学习元素之间空白的产生之前,我们需要知道块级元素与行内元素的区别块级元素是会独占一行的,按垂直方向排列。行内元素不会占据整行,在一条直线上排列,都是同一行,按水平方向排列除了块级元素和行内元素,还有一种行内块元素,其实质上也是行内元素,所以多个行内块元素之间也会出现空白间......
  • 10月30日总结
    1.2.2创建APIExtensionsServer创建完通用APIServer后继续创建APIExtensionsServer。func(ccompletedConfig)New(delegationTargetgenericapiserver.DelegationTarget)(*CustomResourceDefinitions,error){genericServer,err:=c.GenericConfig.New("apiextensi......
  • win10安装WSL2
    什么是WSL2首先我们理解一下什么是WSLWindowsSubsystemforLinux(简称WSL)是一个在Windows10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工......
  • JUC并发编程学习笔记(十)线程池(重点)
    线程池(重点)线程池:三大方法、七大参数、四种拒绝策略池化技术程序的运行,本质:占用系统的资源!优化资源的使用!->池化技术(线程池、连接池、对象池......);创建和销毁十分消耗资源池化技术:事先准备好一些资源,有人要用就拿,拿完用完还给我。线程池的好处:1、降低资源消耗2、提高相......
  • 【Flutter入门到精通】全网独一份Flutter学习笔记,重磅来袭
    前言随着纯客户端到Hybrid技术,到RN&Weex,再到如今的Flutter技术,客户端实现技术不断前进。在之前的一个APP项目中,因为历史原因当时选择了weex,随着使用的不断深入,我们逐渐发现了weex的渲染性能问题已经成为一个隐患和瓶颈。而Flutter技术的不断成熟和流行,Flutter的良好的跨平台性和......
  • 第五章—定时器及时钟服务(学习笔记8)
    知识归纳思维导图本章讨论了定时器和定时器服务;介绍了硬件定时器的原理和基于Intelx86的PC中的硬件定时器;讲解了CPU操作和中断处理;描述了Linux中与定时器相关的系统调用、库函数和定时器服务命令;探讨了进程间隔定时器、定时器生成的信号,并通过示例演示了进程间隔定时器......
  • python面向对象-学习笔记(八、综合案例)
    计算器,实现一些基本的操作,加减乘除运算,以及打印结果操作点击查看代码importwin32com.clientclassCaculator:#装饰器私有def__check_num_zsq(func):definner(self,n):ifnotisinstance(n,int):raiseTypeError("......
  • 10月杂题记
    CF1875D我们经过思考,容易得出以下结论:如果当前$mex=x$,则下一个删的数一定小于$x$。如果$mex=0$,那么我们就可以不往下算了,因为它们对答案的贡献为$0$。我们设$f[i]$表示当$mex=i$时,$m$的值。则有:$$f[i]=\min(f[j]+(c[i]-1)\timesj+i,f[i])$$其......
  • 程序员笔记本电脑选 windows 还是 MAC
    计算机选择是每个进入IT行业同学的第一个重要选择,那么你是怎么选择的呢?选择操作系统(Windows还是macOS)取决于程序员的需求、偏好和工作流程。每个操作系统都有其优点和缺点,下面将分别讨论它们,以帮助你做出决策。视频:https://www.bilibili.com/video/BV13c411d7eK/Windows:**......