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

发布时间 2023-11-14 19:49:59作者: Espen

  应用程序依赖与数据库的不仅仅是数据,还有数据库提供的解决并发冲突、保证数据的安全访问、保证数据一致性、事务错误恢复等功能。实体类表示应用程序中持久数据库对象,但实体类不是数据库中的持久类。必须谨慎设计业务对象和持久数据库之间的关系。

  规则和描述性引用完整性约束允许在数据库中定义简单的业务规则,触发器是一个小程序,当定义了触发器的表发生修改操作是自动执行(触发)。
持久对象的管理毫无疑问是应用程序设计的主要问题。解决这个问题尤其需要好的设计模式集合。企业应用体系结构模式就提供了这样的集合。

其中一些模式有标识映射、数据映射、延迟装载、工作单元。应用程序需要与数据库交换数据,客户端程序必须采用数据库语言来访问和修改数据库。
  质量与变更管理能够判断一个组织是否达到了过程成熟的两个最高级。质量管理分为质量保证和质量控制,变更管理是整个项目管理的基础,必须记录所有的变更请求。

质量管理与人员管理、风险管理以及变更管理等活动都属于整个软件过程管理的一部分。项目管理是个例外。质量管理主要针对软件产品以及开发产品时所采用的软件过程。

针对不同的软件项目,所要求的软件质量的重要性各有不相同。这些质量有助于实现系统最主要的目标—软件产品满足功能性需求,

要达到这个目标所必需的质量如下:正确性、可靠性、鲁棒性、性能、可用性、易懂性、可维护性、可伸缩性、可复用性、可携带性、协同工作的能力、生产性、时效性、可视性。
  质量管理与项目管理可以并行执行,而且也有助于项目管理。变更无处不在,并且会影响到企业的各个方面,他有业务维度和系统维度。

可以采用系统业务值来阐述变更管理,然后再讲它应用于财务模型和资本预算模型,最后在投资项目的进度安排、预算和计划中实施,其中包含软件项目。
  要管理变更,就需要一个变更请求管理工具,潜在的冲突可以通过锁定或版本控制机制来解决。采用前者,则被锁定的文档暂时对其他开发人员无效,采用后者,

则同一个文档可以有多个版本,但这些版本之间的冲突后来可以通过协商解决。
  质量管理有两个非常正交的方面。用作质量控制机制时是被动的,但是用于测试驱动开发框架时,它可以是非常主动的质量保证活动。

质量控制与系统服务测试和系统约束测试有关。系统服务测试可以是静态或动态测试。静态测试包括走查和审查——质量保证实践中的正式评审会议。

而动态测试可以针对规格说明书的测试或针对代码测试。