1.面向对象的软件开发方法简介:
1).把软件系统看成是各种对象的集合,更接近人类自然思维方式。
2).软件需求的变动往往都是功能的变动,而功能的执行者---对象一般不会有大的变化,按照对象设计出来的结构比较稳定。
3).对象包括属性(数据)和行为(方法),对象把数据及方法的具体实现方式一起封装起来,这使得方法和与之相关的数据不再分离, 提高了每个子系统的相对独立性,从而提高了软件的可维护性。
4).支持封装,抽象,继承和多态,提高了软件的可重用性,可维护性和可扩展性。
2.面向对象开发的核心思想和概念:
3.软件开发经理的生命周期
软件分析:分析问题领域,了解用户的需求
软件设计:确定软件的总体架构,把整个软件划分成大大小小的多个子系统,设计每个子系统的具体架构
软件编码:用选定的编程语言来编写程序代码,实现再设计阶段勾画出的软件蓝图
软件测试:测试软件能否实现特定的功能,以及测试软件的运行性能
软件部署:为用户安装软件系统,帮助用户正确的使用软件
软件维护:修复软件中存在的BUG,当用户需求发生变化时(增加新的功能,或者修改已有功能的实现方法),修复相应的软件部分
4.如何让软件系统具备以上的特点呢 ?
软件中的子系统应具备以下条件
结构稳定性:软件在设计阶段,在把一个系统划分成多个子系统时,设计合理,使得系统的结构比较健壮,能够适应用户变化的需求
可扩展性:当软件必须增加新的功能时。可在现有子系统的基础上创建出新的子系统,该子系统继承了原子系统的一些特性,并且还具备一些新的特性,从而提高软件的可重用性和可扩展性
内聚性:每个子系统只完成特定的功能,不同子系统不会有功能重叠。为了避免子系统之间的功能重叠,每个子系统粒度都要尽可能小,按这种方式构成的系统结构被称为精粒度系统结构。子系统的内聚性会提高软件的可重用性和可维护性。
可组合性:若干精粒度的子系统经过组合,就变成了大系统。子系统的可组合性会提高软件的可重用性和可维护性,并且简化了软件的开发过程
松藕性:子系统间相互独立,修改一个子系统,不会影响到其他的子系统。当用户需求发生改变时,只需要修改特定子系统的实现方式,从而提高系统的可维护性。