_009_java_软件生命周期

 一般说来,软件开发都会经历以下生命周期:

软件分析:分析问题领域,了解用户的需求。

软件设计:确定软件的总体架构,把整个软件系统划分成大大小小的多个子系统,设计每个子系统的具体结构。

软件编码:用选定的编程语言来编写程序代码,实现在设计阶段勾画出的软件蓝图。

软件测试:测试软件是否能实现特定的功能,以及测试软件的运行性能。软件部署:为用户安装软件系统,帮助用户正确地使用软件。

软件维护:修复软件中存在的Bug,当用户需求发生变化时(增加新的功能,或者修改已有功能的实现方式),修改相应的软件。

为了提高软件开发效率,降低软件开发成本,一个优良的软件系统应该具备以下特点:

可重用性:减少软件中的重复代码,避免重复编程。

可扩展性:当软件必须增加新的功能时,能够在现有系统结构的基础上,方便地创建新的子系统,不需要改变软件系统现有的结构,也不会影响已经存在的子系统。

可维护性:当用户需求发生变化时,只需要修改局部的子系统的少量程序代码,不会牵一发而动全身, 修改软件系统中多个子系统的程序代码。

----------------------------------------------------------------------------------

这里的系统结构是指系统由多个子系统组成,以及子系统由多个更小的子系统组成的结构。

----------------------------------------------------------------------------------

 如何才能使软件系统具备以上特点呢?假如能把软件分解成多个小的子系统,每个子系统相对独立,把这些子系统像搭积木一样灵活地组装起来就构成了整个软件系统,这样的软件系统便能获得以上优良特性。软件中的子系统具有以下特点:

结构稳定性:软件在设计阶段,在把一个系统划分成更小的子系统时,设计合理,使得系统的结构比较健壮,能够适应用户变化的需求。

可扩展性:当软件必须增加新的功能时,可在现有子系统的基础上创建出新的子系统,该子系统继承了原有子系统的一一些特性, 并且还具有一些新的特性,从而提高软件的可重用性和可扩展性。

内聚性:每个子系统只完成特定的功能,不同子系统之间不会有功能的重叠。为了避免子系统之间功能的重叠,每个子系统的粒度在保持功能完整性的前提下都尽可能小,按这种方式构成的系统结构被称为精粒度系统结构。子系统的内聚性会提高软件的可重用性和可维护性。

可组合性:若干精粒度的子系统经过组合,就变成了大系统。

子系统的可组合性会提高软件的可重用性和可维护性,并且能够简化软件的开发过程。

松耦合:子系统之间通过设计良好的接口进行通信,但是尽量保持相互独立,修改一个子系统,不会影响到其他的子系统。

当用户需求发生变化时,只需要修改特定子系统的实现方式,从而提高软件的可维护性。


阅读更多
个人分类: _002_Java
博主设置当前文章不允许评论。

没有更多推荐了,返回首页

关闭
关闭
关闭