软件创建的先决条件 3.1 先决条件重要性 优秀程序员的一个突出特点是他们采用高质量的过程来创建软件。这种过程在计划的开始、中间和末尾都强调高质量。 3.1.1 造成不足的原因 1、一些程序员并不作准备工作,因为他们抵制不了立刻开始进行编码工作的渴望。 2、管理人员往往不理解那些在创建先决条件上花费时间的程序员。 3.1.2 准备工作的论据 计划的作用: 从管理人员的角度来看,
计划是指确定一个项目所需要的时间、人力、物力和财力。 从技术人员的观点来看,计划是指
弄清楚你想要干什么,以免做出错误的工作而徒耗精力与钱财。 错误在软件食物链中存留的时间越
长,它的危害也就传播得越远。-------这说 明我们应该尽早地发现并消除错误。 3.2问题定义先决条件 在进行创建工作之前你要满足的第一个先决条件,便是必须弄清楚你想要解决的问题是什么。 问题定义只描述要解决的问题是什么,根本不涉及解决方法。 问题定义的工作是在需求分析之前进行,后者是对问题的更为详尽的分析。 问题定义应该从用户的观点出发,使用用户的语言进行定义。 3.3 需求分析先决条件 需求详细描述了一个软件系统需要解决的问题。 3.3.1 明确的需求是很重要的 明确的需求可以保证是由用户而不是程序员决定系统的功能。明确的需求防止程序员对用户需求进行猜测。 3.3.2 需求的变化 变化需求所付出的代价是“时间进度”和“成本”的代价。 建立一套更改控制过程监控需求的变化化。 用开发的方法来容纳需求的变化。 3.3.4 需求表 需求内容 (输入输出的定义、硬件软件接口、通信协议、用户界面、处理时间等) 需求的完善性 需求的质量 3.4 结构设计的先决条件(详细设计) 软件结构设计是较高级意义上的软件设计,它是支持详细设计的框架。 3.4.1 典型的结构要素 一个系统结构首先需要一个总体上的概括性描述。 在结构设计中,你应该能找出最终组织形式的几种方案。 在结构设计中,应该在程序中定义主要模块。 一个模块是一个能完成某一高级功能的子程序的组合。 在需求定义中列出的每一项功能,都应该有至少一个模块覆盖这项功能。如果一项功能由两个或更多的模块覆盖,那 么它们之间应该是互补的而不是相互冲突。 结构设计应该清晰地描述系统应付变动的策略。结构设计中应该说明用于延缓变动的策略。 结构设计应该给出使用的主要文件、表和数据结构。 不应该允许一个以上的模块访问数据结构,除非是通过访问子程序,以使得这种访问是抽 象的而且是可控的。 数据守恒定律:每一个进入的数据都应该出去,或者与其它数据一道出去,如果它不出去,那它就没有必要进来。 3.4.2 检查表 3.5 选择编程语言选择条件 C 是一种中级通用语言,本来是和 UNIX 操作系统相关的。C 有某些高级语言的特点,例 如,结构化数据、结构化控制流、对于机器的独立性、丰富的操作指令等。它也被称作“可移 植的汇编语言”,因为它广泛地使用了指针和地址,具有某些低级组成部分,如位操作,而且是 弱类型的。 3.6 编程约定 在高质量软件中,你可以发现结构设计的概念完整性与较低层次实现之间的密切联系。这 种联系必须与指导它的结构设计保持一致,而且,这种一致应该是内在的。这就是实现时在给 变量和子程序命名、进行格式约定和注释约定时的指导方针。 小结: · 如果想开发一个高质量的软件,必须自始至终重视质量问题。在开始阶段强调质量往 往比在最后强调质量更为有效。 · 如果问题定义工作做得不好,那么在创建阶段,所解决的问题可能并不是用户真正要 解决的问题。 · 如果需求分析工作做得不好,很可能因此而漏掉要解决问题中的重要细节。 |
|
来自: cupid8505 > 《我的学习之代码大全》