首页 > 其他分享 >《代码大全》阅读笔记02

《代码大全》阅读笔记02

时间:2023-09-27 21:44:49浏览次数:26  
标签:02 需求 迭代 项目 笔记 开发 准备 前期 大全

第三章 软件创建的先决条件

一. 前期准备的重要性:在本节中主要讲述了前期准备在整个软件开发过程中的重要性。

创造出高质量的项目的实践方法是在项目的前期,中期和后期都强调质量。
项目的后期主要是测试,只是质量保证的一个策略,虽然会发现一些Bug,但是类似“程序的结构
错误”,“使用错误的方法制造了这个产品”。
项目的中期,主要是项目的构建环节,项目的构建的依据在哪儿,依据还是前期准备的需求说明
书和设计说明书。所以说,前期准备的是否充分,已经为整个项目的成功或者失败打下了基础。
项目的前期,既然项目的中期和后期的质量很大程度上都依赖于前期的准备,那么前期的准备理
所当然需要强调质量了。

关于开始构建之前做前期准备的论据,作者从逻辑,类比和数据三个角度,分别描述了做前期准备的重要性。

总结:前期准备很重要,非常需要准备充分,非常需要高质量。为什么呢?因为这样可以降低项
目开发的风险,直接一点就是,为高质量的中期后期的项目开发奠定扎实的基础。

二. 辨明你所从事的软件的类型:迭代开发法对前期准备的影响,什么是序列式开发法,也称传统瀑布开发模式,

就是将项目的生命周期分成几个阶段,完成一个阶段之后,进入下一个

阶段。在项目初期西化所有的需求,并希望不再改变。什么是迭代式开发法,
也成增量式的开发,一点一点的添加。在这个过程中项目的需求是可以不断的变化,开发者在变
化的需求下,不停的调整项目的开发计划,使之更符合需求。
迭代开发可以减少前期准备的损失,但是并不是完全的减少。
无论使用序列式的开发还是迭代式的开发,只要进行前期准备,都可以减少成本。迭代式的开发
通常有很多的理由去选择,但是有前期准备的迭代式往往比没有前期准备的迭代式更具优势,更吸引人。

三. 问题定义的先决条件:

讲述如何辨认是否已经写好问题定义。

要使用描述一个问题一样去描述,不得加入任何解决方案。
问题定义,应该使用客户的语言去写,尽量避免专业性的语言与术语。
错误的问题定义产生的后果:花大量时间去解决无关紧要的问题。

四. 需求的先决条件:给程序员确定目标,而不用程序员猜测用户想要什么。

避免争论。当需求不明确的时候,每个人对需求的理解可能都不一样,很容易引起争论。面红耳赤。
有助于减少编程开发之后程序的变更。
需求是程序员对问题定义的提出解决方案的第一步。掌握着整个项目开发的发展方向。

需求变更的主要来源:随着客户参与项目的时间增长,他们对项目的理解也就越深入,也让他们
自己更清楚的了解自己的需求。

在构建期间处理需求的变更

使用本节末尾的需求核对表来评估你的需求的质量。
确保每一个人都知道需求变更的代价。这里包括客户与开发人员。
建立一套变更控制程序。一个专门处理需求变更的机制。方便合作与交流。
使用能适应变更的开发方法。分阶段交付系统的方法。增量式的开发方法。
放弃这个项目。特别糟糕的时候,放弃吧。
注意项目的商业案例。考虑其需求形成功能之后,存在的商业价值有哪些。

标签:02,需求,迭代,项目,笔记,开发,准备,前期,大全
From: https://www.cnblogs.com/-GYP/p/17734406.html

相关文章

  • 日常记录--day10--2023-9月26日--周二
    日程:今天只有上午有课,7点起床,吃了个早饭去上课,早上第一节数据结构,学习了队列,还讲了相关应用。中午午休一个小时,下午起来干了点别的,完善了之前的代码,晚上7-9点听了下代码随想路,学了会javaweb。学了什么:可恶的Javaweb,复习了数据结构。PS:不想学习,想要成为月饼盒;......
  • 日常记录--day11--2023-9月27日--周三
    日程:今天只有上午有节英语课,睡过头了,9点20才起床,怕赶不上就没有吃早饭。中午小睡半个小时,下午没课,起来学习了一下Javaweb,预习了数据结构,锻炼了一下,晚上7-9点继续javaweb。学了什么:可恶的Javaweb,继续学习Javaweb。PS:不想学习,想要成为餐巾纸;......
  • 20230927打卡
    早晨,我迎着晨光起床,迎接新的一天。心情愉悦,我准备好迎接今天的挑战。在英语课堂上,老师用生动的教学方式让我们沉浸在英语的海洋中。我们学习了词汇的拓展和语法的巩固,通过练习和互动,我逐渐增强了对英语的理解和应用能力。下午的时间里,我投入到了学习中。琐碎的代码和复杂的逻辑,对......
  • 每日总结2023/9/27(mapreduce案例)
    参考例文、MapReduce经典案例实战_mapreduce编程案例-CSDN博客map代码packagecn.com.sise.mapreduce.invertedindex;importjava.io.IOException;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapreduce.Reducer;publicclassInvertedIndexReducerext......
  • 202309272035-《maven依赖已下载,但还是报红,解决办法》
    1. 勾选设置,maven,选中“始终更新快照”。  2.点击“更新” ......
  • 《软件工程:一种实践方法》阅读笔记二
    《软件工程:一种实践方法》是一本经典的软件工程教材,它以系统化的方式介绍了软件工程的核心概念和方法。读完这本书后,我对软件工程的理解更加深入,同时也获得了许多实用的技巧和经验。首先,这本书强调软件开发应该是一种工程化的过程,与传统的手工制作相比,它需要使用科学的方法和规范......
  • SpringBoot学习4(02整合项目+前端)
    1.添加web界面在resources包下的static包中导入需要用的包,编写html。 1.1测试一下 页面控制台中成功获取数据 1.2页面显示:查询全部信息 1.3添加功能实现 新建按钮的点击事件为   @click="handleCreate()"点击新建后弹出添加页面,该页面的确定提交按钮点击事......
  • JOISC 2020
    ビルの飾り付け4/Building4令\(f_{i,0/1,j}\)表示到第\(i\)位,第\(i\)位选的是\(A_i/B_i\),\(1\simi\)选了\(j\)个\(A_i\)是否合法。可以发现,对于一个\(f_{i,0/1,j}\),合法的\(j\)一定是一段区间,那么就完了。#include<iostream>#include<cstdio>#include<c......
  • 202309272022-《idea编辑器,maven解析依赖慢,解决办法》
    法一:1.Preference2.Search"maven"keyword,,3.选中“运行程序(runner)”,4.在右侧“vm选项”一栏,输入:  -DarchetypeCatalog=internal 至于为什么,我也说不出一二。 法二:https://blog.csdn.net/weixin_43912822/article/details/114173413......
  • 2023年台州市网络安全大赛Writeup
    WebeasyLDContent-Type:image/png绕过上传.so文件可以看到前面的利用都是基于其相关命令加载了strncmp函数,通过构造对strncmp函数的劫持来实现的,如果有些命令不加载strncmp函数的话其就无法正常运行起来,这个时候有一种思路就是所有的命令进行全量劫持从而达到全局劫持的效果,相......