需求分析与系统设计(三)

写到这里也算是本书的完结篇了,放到上中下里面就是下的概念,在章节末尾写一些我读此书感到受益的部分和相关的知识。

在课上经常听到老师说一些关于软件需求规格说明书的内容,关于需求规格说明,需求规格说明涉及对需求确定期间定义的客户需求进行严格的建模,重点放在那些系统将要提供的所期望的服务上。在规格说明阶段通常不对系统约束做进一步的考虑,但系统约束可以指导和验证建模工作。这种指导和验证采取体系机构优先权的形式。

软件体系结构定义了系统中相互作用的软件构件及子系统的结构和组织形式。书中引用一系列比较晦涩的词汇,确实难以看懂但可以进行罗列比如实现继承的恰当使用扩展继承,uml在以泛化调整继承以及恰当的使用实现继承方面都是非常独特的。继承的唯一恰当使用就是将继承作为类的增量式定义。子类具有比超类更多的特性。子类是超类的一种。这也是通常所说的扩展继承。在扩展继承中,特性的重载要谨慎使用,应该只允许使用特性更特殊化(如限制值得范围或使操作的实现更高效),而不改变特性的含义。如果重载改变特性的含义,则子类对象就不能替换超类对象了。用新的特性扩展子类的定义。然而,有些继承来的特性在子类中被禁止,因此使用继承作为一种限制机制也是可能的,这样的继承被称为限制继承。一味的强调实现继承,可能会在软件模式的使用中造成软件的复杂性增加,但我们不使用继承,那还要它有什么用呢!有人曾言只要我们禁止方便继承就万事大吉了。实现继承按很多标准来说都是一件有风险的事情。如果不被适当地控制和管理,继承会被过度使用以致滥用而产生问题,这些问题应该首先解决。这一点对具有几百个类、几千个对象、对象状态动态变化以及演进的类结构的大型系统(如企业信息系统)开发来说尤是如此。在源程序中有基类,有调用,但往往基类会是非常脆弱的,往往使用不当就会bug频频,问题是指,在允许对超类(或多个超类,如果使用的是多重继承的话)的实现进行演化的同时,使其子类仍然有效并可用的问题。这在任何情况下都是一个严重的问题,特别是当我们考虑可以从系统开发团队的控制范围之外的外部资源中获取超类的时候,更是如此。考虑到这样的情景,你的应用继承了一些超类,而这些超类构成了操作系统、数据库系统。包可见性是java默认的。如果对java的属性或操作没有指定private、protected或public关键字(或对整个类没有指定public关键字),那么它们默认取得的可见性就是包可见性。包可见性意味着包中所含的所有其他类都可以访问这样的一个属性或操作。但是对所有其他包中的类来说,这个属性、操作或类看起来是私有的。保护的(和公共的)也具有包访问性,但反过来并不成立。这意味着同一包中的其他类能够访问保护特性,但如果派生类和基类处于不同的包中,派生类就不能访问那些具有包可见性的特性。

设计数据库访问和事务,应用程序需要与数据库交换数据,客户端程序必须采用数据库语言(通常为sql)来访问和修改数据库。资源子系统(以及rreader、rwriter等类)负责与数据库通信。然而,模型没有说明如何实现通信,此外,模型也没有解释如何保证业务事务的一致性。sql程序设计的层次,为了弄清楚客户端程序与数据库服务器是如何通信的,我们就要认识到sql可以表现为不同的形式,并且可以在程序设计抽象的不同层次上。第一次sql用做数据定义语言ddl。ddl是定义数据库结构(数据库模式)的规格说明语言。数据库设计者和数据库管理员dba是第一层sql的主要用户。第二层sql用做数据操纵语言dml或查询语言。然而,查询语言这个术语有点用词不当,因为第二层sql不仅能够用来查询数据,而且还能够用来修改数据。为保证查询能返回正确的结果,必须让程序员能够逐渐浏览查询所返回的记录,然后依次一个记录地决定如果处理这些记录。这种一次一个记录地处理能力称为临时表,而且第二层以上的sql都有这个功能。

时间: 2024-10-28 16:38:42

需求分析与系统设计(三)的相关文章

《需求分析与系统设计》读书笔记1

这个月开始对<需求分析与系统设计>的阅读,在读这本书之前我先看了看网上对这本书的书评,了解到这本书论述了需求分析和系统设计的迭代增量式过程,并讨论了软件生命周期的其他阶段(包括实现.测试和变化管理).本书提出了运用UML(统一建模语言)进行信息系统分析和设计的方法,以克服大型系统模型的复杂性:改进软件体系结构:提高软件可维护性和可扩展性:促进对象的分层结构:处理构件集成:改进对GUI和永久数据库对象建模等方面的方法和策略.这本书的内容丰富,这一段时间主要对这本书前三章进行了阅读. 在这段时间的

《需求分析与系统设计》读书笔记2

继续阅读,这段时间阅读了<需求分析与系统设计>的四到六章,对这本的中心思想了解更见深入,对作者关于软件开发中的需求分析阶段的思想有了一定的认识.作者对需求分析的方法和遇到问题的解决方法都有着自己读到的见解,这些作者提出的观点给予我很大的帮助. 本书的第四章是需求规格的说明,在这章中作者提出需要用图形和其他形式化模型来说明需求.需求规格说明用客户的叙述性需求作为输入,用构造规格说明模型作为输出,这些模型分为3组,即状态模型,行为模型和状态变化模型.对象的状态由它的属性和关联的取值来决定,状态规格

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

在对于<需求分析与系统设计>第一章的阅读中我知道一个项目的成型的大致流程,一个软件的生命周期以及在不同的阶段我们应该采用什么样的方法.在不同的生命周期阶段当中我们应该做些什么,应该注意什么.对于一个软件的开发的方法. 对于第二.三章的精读之后了解到学习对象技术的主要困难在于缺乏明确的出发点和清晰的研究途径.没有像我们曾经了解的自顶向下或自底向上的一种学习方法.学习面向对象技术是一种“从中间出发”的方法.对于一个对象,我们首先要先确认实例对象,并且区分实例对象和类对象.那么关于对象呢,我们需要掌

《需求分析与系统设计》读书笔记part3

经过一个月的阅读,终于把<需求分析与系统设计>这本书读完了,其中对需求和对设计方面的知识对我帮助很大.书中作者对需求分析的思想对我也有很大的启示,在我现阶段的学习中对需求的了解有了进一步的认知.这一阶段我读了这本书的最后几章,在这几章中作者主要对系统的设计做了一定的分析,同时让我学到很多东西. 第七章中主要讲了图形用户界面设计,界面设计是一个多学科的活动,其设计的中心问题是用户控制式,面向对象程序是事件驱动的,对象响应事件的内部通信由外部用户激活的事件来触发:它的设计必须遵循由项目采用的窗口界

&lt;&lt;需求分析与系统设计&gt;&gt;读书笔记之三

终于把<需求分析与系统设计>读完了,感受很多,虽然理解还不是透彻,但还是学到了不少知识.在软件需求规格说明中,需要用图形和其他形式化模型来说明需求,为了完整地说明一个系统,有必要采取多种模型.UML提供了许多集成化的建模技术来辅助系统分析师来完成这项工作.规格说明的过程是迭代增量式的.对成功的建模来说,使用case工具是必须的.需求规格说明产生三种模型:状态模型,行为模型,状态变化模型.需求规格说明涉及需求确定期定义的客户需求进行严格的建模,重点放在那些系统将要提供的所期望的服务上.在规格说明

《需求分析与系统设计》读书笔记part2

继续阅读,这段时间阅读了<需求分析与系统设计>的四到六章,对这本的中心思想了解更见深入,对作者关于软件开发中的需求分析阶段的思想有了一定的认识.作者对需求分析的方法和遇到问题的解决方法都有着自己读到的见解,这些作者提出的观点给予我很大的帮助. 本书的第四章是需求规格的说明,在这章中作者提出需要用图形和其他形式化模型来说明需求.需求规格说明用客户的叙述性需求作为输入,用构造规格说明模型作为输出,这些模型分为3组,即状态模型,行为模型和状态变化模型.对象的状态由它的属性和关联的取值来决定,状态规格

&lt;&lt;需求分析与系统设计&gt;&gt;读书笔记之一

<<需求分析与系统设计>>这本书论述了软件分析和设计的迭代增量式过程,讨论软件分析与设计的原理,方法和技术,并特别关注了设计阶段,对软件体系结构的内容进行了很大的扩充.本书强调对象技术与统一建模语言UML在企业信息系统开发中的应用,并讨论了使用web技术和数据库技术进行开发的方法.这本书集中在面向对象软件开发上,统一建模语言用于捕捉建模的人工制品,主要论述用逐步细化的方式进行开发,并且在整个开发生命周期中都是用UML这种建模语言.系统分析师,设计师和程序员使用同一种语言和工具,但有

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

第七章主要讲的是图形用户界面设计,这一部分在<人机交互>这门课中也讲到过,其中图形用户界面设计的原则是比较清楚的,所以这一章看起来比较简单.GUI的设计在其他几本书中是没有提到的.而且这一部分跟<人机交互>中讲到的又不一样.这一章介绍了UML的配置文件(剖面)——UX故事情节.图形用户界面的设计要从用户的角度出发. 第八章介绍了数据库的重要性.数据库在软件开发中起到至关重要的作用.数据库模型由3个层次:外部模型.逻辑模型和物理模型.本章重点讨论了逻辑模型.对象到数据库的映射其实就是

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

<需求分析与系统设计>在第七章中为我们介绍了每个软件的所谓的"面子工程"--用户界面的设计. 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口),对于每一个用户来说,当用户使用软件的第一注意事项就是界面.所以一个软件的第一印象往往决定于这个软件的界面是否好看.所以现在有专门做UI设计也能赚很多钱的.

《需求分析和系统设计》读书笔记之三

这一张的主要讲的是界面设计,我们在人际交互课程中也学到了.GUI的设计在其他几本书中是没有提到的.而且这一部分跟<人机交互>中讲到的又不一样.这一章介绍了UML的配置文件(剖面)——UX故事情节.图形用户界面的设计要从用户的角度出发. 第八章介绍了数据库的重要性.数据库在软件开发中起到至关重要的作用.数据库模型由3个层次:外部模型.逻辑模型和物理模型.本章重点讨论了逻辑模型.对象到数据库的映射其实就是UML类型模型到关系数据库中逻辑数据模型的映射.事务是数据库的逻辑工作单元,它开始于一致的数据