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

继续阅读,这段时间阅读了《需求分析与系统设计》的四到六章,对这本的中心思想了解更见深入,对作者关于软件开发中的需求分析阶段的思想有了一定的认识。作者对需求分析的方法和遇到问题的解决方法都有着自己读到的见解,这些作者提出的观点给予我很大的帮助。

本书的第四章是需求规格的说明,在这章中作者提出需要用图形和其他形式化模型来说明需求。需求规格说明用客户的叙述性需求作为输入,用构造规格说明模型作为输出,这些模型分为3组,即状态模型,行为模型和状态变化模型。对象的状态由它的属性和关联的取值来决定,状态规格说明提供系统的静态视图,通常情况下得首先识别类,方法包括名词短语法,公共类模式方法,用例驱动方法,CRC方法和混合方法;接着是为关联建模,依次是发现关联,说明关联;其次是为聚合和组合关系建模,之后是为泛化关系建模,对象建模,它们的建模方法与关联一样。行为规格说明从操作的角度描述了功能,是对需求分析与系统设计的用例,包括用例建模,活动建模,交互和公共接口建模。然而为状态变化建模即为对象状态建模,是从动态的角度描述功能,状态图用来为状态变化建模。第五章讲了从分析到设计,首先我认识了高级类建模包括:构造型,约束,导出信息,可见性,量化关联,关联类和参数化类等。构造性扩展了现有的UML的建模元素,它改变了一个现有元素的定义,解决设计模型问题的一个构造型的专门集合称为一个简档;任何建模元素都可以具有一个关联的约束,或者可以被构造型;注释符号可以包含正文来表示约束,它可以包含任何信息,为了保证注释是一个约束,它应该用关键字<constraint>来另外够造型;导出信息是一种作用到一个属性或一个关联上的约束,导出信息从其他模型元素中获得,可以导出属性,导出关联;关联类也叫做类的关联,关联类通常是当两个类之间存在一个多对多的关联,并且每个关联实例都有它自己的属性值的时候使用,它带有一个隐含的约束,它不能拥有它到所关联的对象所关联的副本,然而具体的类是独立于所关联的类的,没有这个限制,具体类的主码不用来指定相关类的属性。层次结构将复杂性从指数式降低到多项式,它引入对象的层次并且存在层与层之间的相互通信;复杂性控制的解决方案取决于如何将类组合为类的层次,从而简化网络的结构,这样,类就可以形成层次,以强调层与层之间的层次分解,同时允许在层内进行网络式交互来实现的;包用于划分一个应用程序的逻辑模型,用折起的图标表示;边界—控制—实体是基于类的三因素对象建模方法;类中有三类重要的关系:关联,聚合和泛化;聚合分为4种:ExclusiveOwns聚合,Owns聚合,Has聚合和Member聚合;聚合和代理是泛化和继承的一种重要的建模替代品。第六章中讲到体系结构与程序设计,在迭代与增量软件开发中,使用技术细节不断的对分析模型进行细化。一旦技术细节考虑软件/硬件,分析模型就变成了设计模型。系统设计包括两个方面的主要问题——系统的体系结构设计和系统中程序的详细设计。体系设计说是从系统模块方面对系统进行描述,包括确定系统的客户机构件和服务器构件的解决方案策略。体系结构定义类与包的分层组织、将进程分配给计算设施、复用和构建管理、体系结构设计解决多层物理体系结构及多层逻辑体系结构的有关问题。对每个模块内部工作的描述称为详细设计,详细设计为每个模块开发完整的算法和数据结构。这些算法和数据结构是针对底层实现平台的所有约束专门设计的。详细设计描述协作模型,协作模型是实现从用例中捕获的程序功能所需要的。

这阶段的阅读让我对需求分析了解更加深入,通过对这本书的研究发现书中的思想对我的启发很大,让我了解到在做需求分析时通过作图或其他方式能更好更快的解决问题,获取需求同时能更加清晰的分析需求做出相应的需求报告,对软件的开发有着很大的帮助。

时间: 2024-10-24 08:27:36

《需求分析与系统设计》读书笔记part2的相关文章

探索需求读书笔记二

第2章陈述需求中的含混性        攻击含混性是因为含混性需要成本.        尽可能早地攻击含混性,因为即使你最终消除了它,在产品开发的早先阶段改正所需要的成本要比以后改正的成本少很多很多.        如何攻击含混性是全书的主题.但首先,一定要记住用一种非常有趣的方法来使用你的智慧-探索应该是一种乐趣.        探索的基本步骤:1.向某个方向移动:2.看看在那里发现了什么:3.记录所发现的东西:4.有目的地分析所发现的东西:5.通过对所发现东西的分析和记录选择下一个方向:6.

探索需求 读书笔记三

1.    直接提问没有什么错.甚至如果你期望成为一名胜任的设计员,最好掌握直接提问.直接观察和常规的面谈技巧.然而,还是有一些主题在某个地方好好地隐藏着-- 我们,作为常人,并不擅长发现我们已经忽略的东西. 你需要其他的工具和技术来辅助直接提问,因为为了获得成功,完全直接提问的方法将需要一个完美的人. 决策树模型是一个用于辅助直接提问的显著的工具. 2.直接提问没有什么错.甚至如果你期望成为一名胜任的设计员,最好掌握直接提问.直接观察和常规的面谈技巧.然而,还是有一些主题在某个地方好好地隐藏着

《android开发艺术探索》读书笔记(五)--动画

接上篇<android开发艺术探索>读书笔记(五)--Drawable No1: 自定义动画:派生一种新动画只需要继承Animation这个抽象类,然后重写它的initialize和applyTransformation方法,在initialize方法中做一些初始化工作,在applyTransformation中进行相应的矩阵变换即可,很多时候需要采用Camera来简化矩阵变换的过程. No2: 属性动画PropertyAnimation 补间动画TweenAnimation 帧动画Frame

《android开发艺术探索》读书笔记(十三)--综合技术

接上篇<android开发艺术探索>读书笔记(十二)--Bitmap的加载和Cache No1: 使用CrashHandler来获取应用的crash信息 No2: 在Android中单个dex文件所能够包含的最大方法数为65536,这包含Android FrameWork.依赖的jar包以及应用本身的代码中的所有方法. No3: 使用multidex来解决方法数越界 apply plugin: 'com.android.application' android { compileSdkVers

《android开发艺术探索》读书笔记(十五)--Android性能优化

接上篇<android开发艺术探索>读书笔记(十四)--JNI和NDK编程 No1: 如果<include>制定了这个id属性,同时被包含的布局文件的根元素也制定了id属性,那么以<include>指定的id属性为准 No2: 绘制优化 1)onDraw中不要创建新的局部对象 2)onDraw方法中不要做耗时的任务 No3: 内存泄露优化 场景一:静态变量导致的内存泄露: 如果静态变量持有了一个Activity,会导致Activity无法及时释放. 解决办法:1使用Ap

《探索需求》读书笔记part2

“读完本书之后,你不会再相信那些过时的需求——不管他是誰向你提出的,也不管他是以一种多么严肃或疯狂的方式向你提出的.你将获得大量的探索客户真正需求的方法.”Ken de Lavigne IBM 质量研究中心高级成员.阅读这本书后作者对需求的理解与分析让我对需求分析有了新的理解,这断时间我阅读了这本书的第二部分开始之路. <探索需求>这本书第二部分开始之路依旧在需求的分析角度出发,作者用了大量的例子来阐述自己的观点,同时作者再讲自己的故事来发现需求和分析需求.在第五章中作者提出切入点的思想,所有

《需求探索》读书笔记1

“本书是现代需求技术的基石,我们强烈推荐需求工程师阅读本书.”这是UML China写在<探索需求>这本书后的一句话,这句话强烈的赞赏了这本书的价值.这个月我也开始了对这本书的阅读,到现在我已经阅读了这本书的第一篇,对这本书也有了初步的了解. <探索需求>这本书主要介绍了降低需求含混性的各种方法,强调的是通过不断的细化需求来最终减少实现的含混性.含混性,描述的是不清晰的程度.而对于软件开发来说,事实上含混性存在两个方面,其一就是本书讲的实现方式上的含混性:另一个就是对目标的含混性,

Android深度探索HAL读书笔记9

看了本书第九章,我学习到了: HAL(抽象硬件层)是建立在linux驱动之上的一套程序库,这套程序库是属于内核层之上的应用层——系统运行库层. Linux驱动代码类型:访问硬件寄存器的代码和业务逻辑代码. Linux内核采用GPL协议,该协议要求源代码必须开源,即linux驱动必须开源. Android增加HAL的目的:①避免应用程序直接访问linux驱动②保护私人财产,满足不想开源的linux驱动作者的要求,带HAL的linux驱动相当于将数据从HAL传到寄存器,即从寄存器传到HAL的“数据二

Android深度探索HAL读书笔记8

看了本书第八章,我学习到了: 蜂鸣器是开发板自带的一个硬件设备,控制蜂鸣器发声是通过向寄存器写入特定的值实现的.PWM驱动不同于LED 驱动,其由多个文件组成,在编译时将这些文件进行联合编译. 蜂鸣器也称为PWM(脉冲宽度调制),基本原理是通过脉冲来控制蜂鸣器的打开和停止. PWM连接到了TOUT1端口,使用端口F的GPFCON寄存器进行控制.宏S3C64XX_GPFCON表示寄存器GPFCON的虚拟地址.仅用最高两位(30.31位)控制PWM.最高两位为 10时,打开PWM:为00时停止PWM