c语言程序设计案例教程(第2版)笔记(五)-软件开发基础知识
零散知识点:
- 软件的主要特征
- 软件是一种逻辑产品,而不是有型的物质;
- 软件需要设计、开发,但不是传统意义上的产品制造;
- 软件不会磨损,但软件需要维护,即:修改代码或增加模块;
- 虽然软件行业正在向基于组件的组装方式发展,但是大多数软件仍旧需要定制
- 软件的生命周期
- 软件的生命周期是指从某个软件的需求被提出并开始着手开发到这个软件被最终废弃的整个过程。通常在这个过程中,包括制定计划、需求分析、系统设计、程序编码、系统测试、系统运行及维护阶段。
- 软件开发过程模型
- 软件开发过程模型是指软件开发全过程、活动和任务的结构框架,它能够清晰、直观地表达软件开发的全过程,明确各阶段所需要完成的具体任务,并对开发过程起到指导和规范化作用。
- 软件开发方法学
- 程序设计风格
- 文档化;
- 具有明显的标识符命名;
- 恰当的程序注释;
- 良哈的程序书写风格;
- 缩进的形式;
- 清晰的语句结构;
- 表达式的书写要符合人们的习惯;
- ……
- 程序错误
- 语法错误;
- 运行错误;
- 逻辑错误
- 软件测试
- 软件测试的目的:用最小的代价发现尽可能多的错误。
- 软件测试的常用方法:黑盒测试和白盒测试。
- 黑盒测试:不考虑程序的内部结构和处理逻辑。黑盒测试是对程序接口进行测试,只检查程序是否满足功能要求,程序是否能够正确地接收输入数据并正确地输出结果,因此黑盒测试称为功能测试。
- 白盒测试:立足于程序的内部结构。通过选择恰当的测试用例,检验程序是否可以按照预定的逻辑线路正确地工作,因此白盒测试称为结构测试。
- 软件测试的主要阶段:单元测试、集成测试和确认测试。
本博客内容为原创,版权所有违者必究,转载请注明来源 http://www.cnblogs.com/sunshine-blog/
c语言程序设计案例教程(第2版)笔记(五)-软件开发基础知识的更多相关文章
- c语言程序设计案例教程(第2版)笔记(四)—指针、分配存储空间、文件
零散知识点: 指针类型:每个变量占用的首单元地址称为这个变量的存储地址. “&”为“取地址运算符”.格式:& 变量名.功能:返回指定变量的存储地址. “*”为“取内容运算”.格式:* ...
- c语言程序设计案例教程(第2版)笔记(二)—函数、递归
零散知识点 模块化:将一个问题分解成若干个子问题的过程成为模块化. 模块化的优点:不但可以将一个复杂的问题分解成几个相对简单的问题:还可以提高程序代码的重用性. 函数:函数是构成C程序的基本单位.函数 ...
- c语言程序设计案例教程(第2版)笔记(六)—字符串处理实例
字符串处理 功能描述:从键盘输入一个文本行后,为用户提供菜单选择,实现字符串一些操作——显示文本行.查找并替换指定子串.删除指定子串.统计指定子串数目. 实现代码: #include<stdio ...
- c语言程序设计案例教程(第2版)笔记(三)—变量、结构体
零散知识点: 变量 :C语言中,每个变量必须先定义后引用.所谓变量存在是指系统为这个变量分配一块存储空间,此时对变量的操作,就是对变量所对应的存储空间中存放的数据进行操作.人们将变量占据 ...
- c语言程序设计案例教程(第2版)笔记(一)—零散、输入输出、最小公倍数、选择排序、冒泡排序
零散知识点: 非格式化输入输出:getchar().putchar() 格式化输入输出 :scanf().printf() 字符串输入输出 :gets() 或 scanf().puts() 或 ...
- 【Python基础教程第2版】——第一讲:基础知识
1.长字符串:(用三引号如'''或者"""来引起来) >>> print """This is a very log st ...
- 【STM32H7教程】第25章 STM32H7的TCM,SRAM等五块内存基础知识
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第25章 STM32H7的TCM,SRAM等五块内 ...
- 【RL-TCPnet网络教程】第29章 NTP网络时间协议基础知识
第29章 NTP网络时间协议基础知识 本章节为大家讲解NTP (Network Time Protocol,网络时间协议)和SNTP(简单网络时间协议,Simple Network Time ...
- 【STM32H7教程】第61章 STM32H7的MDMA基础知识和HAL库API
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第61章 STM32H7的MDMA基础知识和HAL ...
随机推荐
- try catch finally执行顺序 (return / 变量覆盖)
finally有return 始终返回finally中的return 抛弃 try 与catch中的return 情况1:try{} catch(){}finally{} return x; try{ ...
- Spring实战Day2
创建对象之后如何体现对象之间的依赖? Spring容器负责创建Bean和依赖注入,那么Spring是怎么将Bean装配在一起的呢? Spring提供了三种方式装配机制 1.隐式的bean发现机制和自动 ...
- 全新开始fighting
a.python准备工作 Python种类: JPython IronPython JavaScriptPython RubyPython CPython ********** ...
- oracle dtrace for linux
https://docs.oracle.com/cd/E37670_01/E37355/html/ol_config_dtrace.html#
- Callable线程
写一个Callable线程 import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; im ...
- DELPHI7调用BERLIN中间件的中文字段名乱码的解决办法
MSSQL数据库的表使用中文字段名,BERLIN开发的DATASNAP中间件,DELPHI7调用中间件的查询方法返回数据给CLIENTDATASET.DATA,发现中文字段名乱码,中文字段名的值可以正 ...
- Meteor事件
使用事件是非常简单的.我们将学习如何使用tag,class 和id作为事件选择器. 让我们创建HTML模板三大要素.第一个是 p 标签,第二个是 myClass 类,最后一个是myId. meteor ...
- hdu 3183 A Magic Lamp(给一个n位的数,从中删去m个数字,使得剩下的数字组成的数最小(顺序不能变),然后输出)
1.题目大意是,给你一个1000位的数,要你删掉m个为,求结果最小数. 思路:在n个位里面删除m个位.也就是找出n-m个位组成最小数 所以在区间 [0, m]里面找最小的数.相应的下标标号i 接着找区 ...
- POJ 题目1204 Word Puzzles(AC自己主动机,多个方向查询)
Word Puzzles Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 10244 Accepted: 3864 S ...
- Redis入门教程(二)— 基本数据类型
阅读以下内容时,手边打开一个redis-cli一起输入,输入命令敲击回车键前在心中想好你的答案,如果结果不合你的预期,请分析原因,使极大地提高学习效率.如果没有条件,每个数据类型后有代码运行结果,供你 ...