1.1 软件的生命周期
3个阶段:开发阶段(development),使用阶段(use),维护阶段(maintenance)。
1.2 软件开发阶段
4个阶段:分析阶段,设计阶段,实现阶段,测试和调试阶段。
1.2.1 分析阶段
1.2.2 设计阶段
算法:在 有限时间内获得问题解决方案的逐步求解的过程。
1. 结构化设计方法
又名自定向下的设计方法,逐步求精方法,模块化程序设计方法
在结构化设计方法中,问题被分解为若干子问题,然后分别对每个子问题进行分析和求解。所有子问题的解合并起来就是原始问题的解。
2. 面向对象设计方法 OOD
基本原则:
封装性:将数据和操作集成在一个单元(对象)中的能力。
继承性:从已有数据类型中派生新数据类型的能力。
多态性:使用相同表达形式来实现不同操作的能力。
1.2.3 实现阶段
主要使用面向对象设计方法并辅以结构化设计方法。
举例:编写一个将计量单位英寸转换为厘米的函数。转换公式是:1英寸=2.54厘米。以下函数用来实现这个功能。
1 #include<iostream> 2 using namespace std: 3 double inchesToCentimeters(double inches) 4 { 5 if(inches<0) 6 { 7 cerr<<"The given measurement must be nonnegative"<<endl; 8 retuern -1.0; 9 } 10 else return 2.54*inches; 11 }
注意:对象 cerr 对应于无缓冲的标准错误流。cout 的输出首先进入缓冲区,cerr 的输出结果直接送往标准错误流,通常是用户屏幕。
前置条件:指定调用某个函数前必须满足的条件和语句。
后置条件:指定函数调用完成后程序流程的语句。
函数 inchesToCentimeters的前置条件和后置条件可以这样描述。
1 #include<iostream> 2 using namespace std: 3 4 //Precondition: The value of inches must be nonnegative. 5 //Postcondition: If the value iof inches is < 0, the function returns -1.0; 6 // otherwise, the function returns the equivalent length in centimeters. 7 double inchesToCentimeters(double inches) 8 { 9 if(inches<0) 10 { 11 cerr<<"The given measurement must be nonnegative"<<endl; 12 retuern -1.0; 13 } 14 else return 2.54*inches; 15 }
时间: 2024-10-12 04:12:33