1.先决条件的重要性
? 如果你只在一个计划即将结束时强调质量,那你注重的只是测试;如果你在一个计划的中间强调质量,那么你强调的是创建活动 ;如果在一个计划的开始强调质量,这意味着你计划并要求设计一种高质量的产品
-
准备不足的原因:
-
克服不了立刻进行编码的渴望
-
管理人员的不理解
-
-
创建前必须做准备工作的论据
-
求助于逻辑推理
? 有时候你自己并不十分清楚自己想要的到底是什么码刚开始是这样。这时,就会比清楚知道用户需求的人要付出更多努力,但是,这总比做出一件错误的东西,然后把它扔掉,再从头开始的成本要低得多
-
求助于类比
?程序员处于软件开发食物链的最后一环。结构设计吃掉需求分析;详细设计者以结构设计者为食,而他自己又成为编码者的食物
-
? 3.求助于数据
? 在软件开发初期引入的错误往往比后来引入的错误传播的面更广,这也使得早期错误会极大地提高成本。
-
2.问题定义先决条件
? 在进行创建工作之前你要满足的第一个先决条件,便是必须弄清楚你想要解决的问题是什么 ;问题定义的工作是在需求分析之前进行,后者是对问题的更为详尽的分析
3.需求分析先决条件
-
为何需要正式的需求/span>
?明确的需求可以保证是由用户而不是程序员决定系统的功能。如果需求是很清楚的,那么用户可以对其进行评定,并确认自己是否同意。如果需求不很清 楚,那么程序员在编程过程中就不得不自己决定系统功能,明确的需求防止对用户需求进行猜测
-
稳定需求的神话
? 稳定的需求可以说是软件开发的法宝。有了稳定的需求,软件开发工作可能从结构设计到详细设计到编码,都平稳、顺利的进行
-
创建阶段如何应付需求变化
-
利用检查表评估需求分析质量
-
使每个人知道变化需求付出的代价
-
建立一套更改控制过程
-
使用开发的方法容纳变动
-
放弃项目
-
-
检查表
需求内容
关于需求的完善性
· 在开发开始前暂时得不到的信息是什么否规定了不够完善的区域/span>· 需求定义是否已经完善到了可以成为软件标准的地步/span>· 需求中是否有哪一部分令你感到不安没有根本不可能实现,而仅仅为了取悦老板和用户才加进来的容/span>
关于需求的质量
· 需求是否是用用户的语言制定的户也这样认为吗/span>· 需求中是否每一条之间都尽量避免冲突/span>· 需求中是否注意了避免规定设计工作/span>· 需求在详细程度方面是否保持了一致性;有没有应该更详细些的需求没有应该更简略些的/span>· 需求是否明确得可以分为一些独立的可执行部分,而每一部分又都很明了/span>· 是否每一条都与问题和答案相关否每一条都可以追溯到产生它的环境中/span>· 是否每一条需求都可以作为测试依据否可以针对每一条进行独立测试以确定是否满足需求/span>· 是否对可能的改动作出了规定括每一改动的可能性/span>
4.结构设计先决条件
-
典型的结构要素
-
程序的组织形式
-
变动策略
-
购买而不是建造的决定
-
主要的数据结构
结构设计应该给出使用的主要文件、表和数据结构
-
关键算法
-
-
检查表
· 软件的总体组织形式是否清晰明了括对于结构设计的总体评论与描述。· 模块定义是否清楚括它们的功能及其与其它模块的接口。第三章 软件创建的先决条件 26· 需求定义中所提出的所有功能,是否有恰当数量的模块覆盖/span>· 结构设计是否考虑了可能的更改/span>· 是否包括了必要的购买/span>· 是否阐明了如何改进重新启用的代码来满足现在的结构设计需求/span>· 是否描述并验证了所有主要的数据结构/span>· 主要数据结构是否隐含在存取子程序中/span>· 规定数据库组织形式和其它内容了吗/span>· 是否说明并验证所有关键算法/span>· 是否说明验证所有主要目标/span>· 说明处理用户输入的策略了吗/span>· 说明并验证处理输入/输出的策略了吗/span>· 是否定义了用户界面的关键方面/span>· 用户界面是否进行了模块化,以使对它所作的改动不会影响程序其它部分/span>· 是否描述并验证了内存使用估算和内存管理/span>· 是否对每一模块给出了存储空间和速度限制/span>· 是否说明了字符串处理策略否提供了对字符串占用空间的估计/span>· 所提供的错误处理策略是不是一致的/span>· 是否对错误信息进行了成套化管理以提供一个整洁的用户界面/span>· 是否指定了坚固性级别/span>· 有没有哪一部分结构设计被过分定义或缺少定义了是否明确说明了/span>· 是否明确提出了系统目标/span>· 整个结构在概念上是否是一致的/span>· 机器和使用实现的语言是否顶层设计依赖/span>· 给出做出每个重要决定的动机了吗/span>· 你作为系统实现者的程序员,对结构设计满意吗/span>
5.选择编程语言先决条件
6.编程约定
7.花在先决条件上的时间
? 用于问题定义、需求分析和软件结构设计的时间,随项目需要的不同而不同。一般来说,一个运行良好的项目通常把 20~30%的时间用于先决条件
8.改变先决条件以适应项目
9.总结
.如果想开发一个高质量的软件,必须自始至终重视质量问题。在开始阶段强调质量往往比在最后强调质量更为有效。· 程序员的份内工作之一便是向老板和同事宣传软件的开发过程,包括在编程开始前从事先决条件准备工作的重要性。· 如果问题定义工作做得不好,那么在创建阶段,所解决的问题可能并不是用户真正要解决的问题。· 如果需求分析工作做得不好,很可能因此而漏掉要解决问题中的重要细节。在创建工作后更改需求,要比在需求分析阶段进行更改的成本高 20 到 100 倍。所以,在开始编程前一定要确认需求定义工作一切正常。· 在编程前规定好约定,在创建工作结束后再改变代码来满足约定几乎是不可能的。· 在创建活动开始之前如果无法完成准备工作,可以尝试在不太稳固的基础上进行创建活动。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!