JAVA基础(41)---软件开发概述

版权声明:如需转载请标明出处 https://blog.csdn.net/yj201711/article/details/83956708

java是一门纯粹的面向对象的编程语言。面向对象有两个核心概念:类和对象(人是一个类,每个具体的人:张三、李四就是一个对象)

软件开发概述

软件的生命周期

软件的生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期,周期内有问题定义(立项)、可行性分析(经济可行性,实用可行用)、总体描述(需求分析)、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。

生命周期的每一个周期都有确定的任务,并产生一定规格的文档(资料),提交给下一个周期作为继续工作的依据。按照软件的生命周期,软件店开发不再只单单强调“编码”,而是概括了软件开发的全过程。软件工程要求每一周期工作的开始只能必须建立在前一个周期结果“正确”前提上的延续;因此,每一周期都是按“活动——结果——审核——再活动——直至结果正确”循环往复进展的。

软件生命周期的七个阶段:

1、问题的定义及规划

此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

2、需求分析

在确定软件开发可行的情况下 ,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。“唯一不变的是变化本身”,同样需求也是整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。

3、软件设计

此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。

4、程序编码

此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一、符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。

5、软件测试

在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程主要分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

6、系统转化

将软件有旧系统转换为新系统,也就是运行系统的方法,转换方法有平行、分批、分发、立即、实现五种转化方法。

7、运行维护

软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,如那件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。

软件的设计目标

                            正确性、健壮性、灵活性、可重用性、高效性    

  1. 正确性:也就是满足应用程序的需求
  2. 健壮性:是指软件对于规范要求以外的输入情况的处理能力。也就是说,在异常情况下,软件能够正常运行的能力
  3. 灵活性:就是可以允许代码修改平稳的发生,而不会波及到很多其他的模块
  4. 可重用性:也就是重复使用的意思
  5. 高效性:一般指两个方面,一是执行效率,二是存储效率

良好设计的特征可扩展性、灵活性、可插入性、高内聚低耦合

  1. 可扩展性:新功能容易加入,而且不会影响已有功能,即不“僵硬”
  2. 灵活性:修改一个地方,不会影响其他,即不“脆弱”
  3. 可插入性:用一个类替换另一个类,只要它们实现相同接口即可,即低“黏度”

面向对象的三大特征继承性、封装性、多态性

  1. 继承性:特殊类的对象具有其一般类的对象的全部属性和行为,即称特殊类对一般类的继承
  2. 封装性:把对象的属性和行为组合成一个独立的单位或部件,并尽可能隐蔽对象的内部细节,而只保留必要的对外接口,使之4与外部发生联系。
  3. 多态性:是指不同类型的对象接收相同的消息时,产生不同的行为。

软件的设计原则

软件的开发思想

面向过程:是一种以事件为中心的编程思想。就是分析出解决问题所需的步骤,然后用函数把这些步骤实现,并按顺序调用。

面向对象:用线性的思维。与面向过程相辅相成。在软件开发过程中,宏观上,用面向对象来把握事物间复杂的关系,分析系统。微观上,仍然面向使用过程。

面向过程的思维方式是分析综合,面向对象的思维方式是构造。

总的来说:面向对象是将事物高度抽象化;面向过程是一种自上而下的编程。面向对象必须先建立抽象模型,之后直接使用模型就行了。

猜你喜欢

转载自blog.csdn.net/yj201711/article/details/83956708