系统<<需求分析与系统设计>>读书笔记之二

  需求确定是关于社会,沟通和管理的技能。它是系统开发中需要技术最少的一个阶段,但是如果该阶段没有充分完成,其结果将会比不能完成其他阶段来得更糟。由于不理解,忽略或者曲解客户需求付出的代价在软件过程的以后阶段将是不可承受的。一个当代自适应企业的业务前景要求是,对业务能力进行探索,并确定满足不断变化的解决方案。业务过程界定IT项目和系统的需要。很多情况,IT解决方案仅仅是解决业务问题。另外一些情况下,IT解决方案是业务创新的真正推动者,并产生新的经济理念。无论哪种情况,IT解决方案都是一种基础设施服务,可初步提供重要的竞争优势,但最终成为竞争对手也会有的商品。业务需要采取主动,然而 ,由于新技术的动态发展,包括准备到定制的预包装解决方案,IT专家越来越被看作是业务解决方案的提供者,而并不仅仅是系统开发者。业务策略和IT流程的调整是系统规划措施的目标,在is开发过程中,被认为是标准的和应遵守的框架。将经营理念联系到相应的IT解决方案,最大的困难在于:业务人员和IT专家之间缺乏良好的沟通渠道这些渠道具有重要的社会和组织层面的因素,但最初的困难必定与一个建模语言的存在相关,这种建模语言应为描述业务过程提供一种图形解决方案。

  一旦需求中的矛盾和重叠已经解决,就产生了一组修正后的需求,需要对这些需求进行风险分析,并排列优先级。风险分析确认哪些很可能在开发阶段产生困难的需求,而排列优先级是为了在项目面临延迟的时候,方便地重新界定其范围。项目的可行性视项目具有的风险数量而异。风险是对项目计划的一种威胁。通过识别风险,项目经理能够尽力控制他们,需求可能由于各种因素而具有风险。需求可以按父子关系建立层次化结构。父级需求由子级需求组成,子级需求是父级需求有效的子需求。需求是变更的,在开发生命周期的任何阶段,需求都可能变更,可能删除已有需求或者增加新的需求。变更本身并不会导致困难,但没有管理的变更却会带来麻烦。开发越往前走,需求变更的开销越大。事实上,由于需求变更而将项目沿着开发轨迹向回拖的下游开销总是增大的,且总是呈指数增长的。改变一个刚创建的,还没和其他需求链接的需求仅仅是直接编辑的工作,而当同一个需求已经在软件中实现后再去改变它,就可能是令人望而却步的昂贵代价。变更可能与人为错误有关,但常常由于内部政策或外部因素而引起的,如竞争力,全球市场或技术进步。无论什么原因,需要强有力的管理政策来建立变更需求的文档,估计变更的影响,并实现变更。因为需求变更开销很大,每个变更需求必须建立一个规范化的业务用例,一个以前没有处理过的有效的需要从技术可行性对项目剩余部分的影响以及开销方面进行设计。需求变更一旦获得批准,就会被结合到相关的模型,并在软件中实现。

  需求确定阶段捕获需求,并且以自然语言描述来定义需求采用UML进行形式化的需求建模实在以后的需求规格说明阶段进行的。然后,所收集需求的高层可视化表示通常在需求确定阶段完成。作为最低需求,高层可视化模型需要确定系统范围标示主要用例。系统开发中需要考虑到的主要问题也是由于需求变更引起的范围蠕变。在需求中的某些变更不可避免的时候,我们必须确保请求的变更不会超出项目可接受的范围。因此,系统范围可以通过识别外部实体以及在外部实体和我们系统之间的输入和输出数据流来确定。我们系统获得输入信息,进行必要的处理,产生输出信息。任何不能被系统内部处理所支持的需求都不在项目范围内。  

时间: 2024-12-18 09:17:26

系统<<需求分析与系统设计>>读书笔记之二的相关文章

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

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

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

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

[.NET] 《Effective C#》读书笔记(二)- .NET 资源托管

<Effective C#>读书笔记(二)- .NET 资源托管 简介 续 <Effective C#>读书笔记(一)- C# 语言习惯. .NET 中,GC 会帮助我们管理内存,我们并不需要去担心内存泄漏,资源分配和指针初始化等问题.不过,它也并非万能,因为非托管资源需要我们自己进行清理,如文件句柄.数据库连接.GDI+ 对象和COM 对象等. 目录 十二.推荐使用成员初始化器而不是赋值语句 十三.正确地初始化静态成员变量 十四.尽量减少重复的初始化逻辑 十五.使用 using

《Linux/Unix系统编程手册》读书笔记8 (文件I/O缓冲)

<Linux/Unix系统编程手册>读书笔记 目录 第13章 这章主要将了关于文件I/O的缓冲. 系统I/O调用(即内核)和C语言标准库I/O函数(即stdio函数)在对磁盘进行操作的时候都会发生缓冲.通过缓冲可以在一定程度上将用户空间与实际的物理设备分离,还可以减少内核访问磁盘的次数. 先来看看关于内核缓冲区高速缓冲:read和write调用在对磁盘文件进行操作的时候不会直接访问磁盘,如下图所示. 例如:write(fd, "abc", 3) write调用会将"

MySQL技术内幕-InnoDB存储引擎-读书笔记(二)

MySQL技术内幕-InnoDB存储引擎-读书笔记(二) 作为php开发,使用mysql总是少不了的 系列文章博客链接 http://itsong.net/articles/466.html 第三章 文件 mysql与innodb几个类型的文件 参数文件,配置路径.初始化参数.内存大小等 日志文件,包括错误日志,二进制日志,慢查询日志,查询日志 socket文件,用unix域套接字,unix domain socket来进行连接时需要的文件,这一般是本机连接,比通常tcp快 pid文件,进程id

我编程,我快乐——读书笔记(二)

我编程,我快乐--读书笔记(二) 第二章 在产品上投资 1. 我之所以说自己有天赋,是因为我发现自己在工作中不断学习,并且不断进步. 2. 只有向这件产品中投入心血.汗水.眼泪和资金,才能使它真正具有价值. 3. 要主动问,不要等着别人来告诉你.授人以鱼不如授人以渔. 4. 如果你想要雇佣某人来为你工作,你会希望这个人总是要受那些专家的支配吗?我不愿意.我想要的是一个能够自立的员工. 5. 与客户的互动式非常重要的,清楚地了解客户的要求比似懂非懂然后自己填写细节要好得多. 6. 学习行业是如何运

《图解tcp/ip》读书笔记(二)

<图解tcp/ip>读书笔记(二) 本周主要阅读的是本书的第三章--数据链路. 当然了,从某些角度讲,我认为这一章就是计算机网络的最基本的内容之一.整章讲述了数据链路层的作用和相关技术,主要描述了以太网.无线通信.ppp.公共网络以及其他的一些数据链路一些细节性的技术. 由于之前已经学习过相关计算机网络的课程,因此,就不再详细的记录整个阅读内容了,很多让我突破以前思维定式的一些知识,我挑一些列在下面. 其实这些知识花几分钟.几个小时,就可以得到,或者查阅互联网会得到比这本书更新的技术,但是,有

《C#图解教程》读书笔记之二:存储、类型和变量

一.类型初窥:掀起你的盖头来 (1)C程序是一组函数和数据类型,C++程序是一组函数和类,而C#程序是一组类型声明: (2)类型是一种模板:模板本身不是数据结构,但它详细说明了由该模板构造的对象的特征: (3)C#提供了16种预定义类型:13种简单类型(数值类型:int,float,double,decimal等:非数值类型:bool,char),3种非简单类型(object,string,dynamic): 所有的预定义类型都直接映射到底层的.NET类型.C#的类型名称其实就是.NET类型的别

《Linux/Unix系统编程手册》读书笔记7 (/proc文件的简介和运用)

<Linux/Unix系统编程手册>读书笔记 目录 第11章 这章主要讲了关于Linux和UNIX的系统资源的限制. 关于限制都存在一个最小值,这些最小值为<limits.h>文件中的常量. 通过cat 命令查看: [email protected]:~/Code/tlpi$ cat /usr/include/limits.h /* Copyright (C) 1991, 1992, 1996, 1997, 1998, 1999, 2000, 2005 Free Software