系统开发的[挑战][危机][解决]

复杂软件系统的挑战

1. 实现用户的功能

2. 简单灵活的界面

3. 不同用户使用系统会出现不同的界面(不同的权限)

4. 一个系统被多个团队开发,如何集成开发的模块(必须要有一个标准的开发流程)

5. 代码的可扩展性(系统不断的完善,不断的添加功能)

6. 可能需要团队在不同的地方开发

7. 测试覆盖率比较难

可能产生的危机

1. 超出预算

2. 需要重做

3. 没有按期交付产品

4. 用户的功能没有能实现

解决复杂系统的问题的方法:将复杂系统分成更小的组件(To divide the system into smaller components)

1. 算法的方法或者结构的方法(Algorithmic Approach or Structured Approach)

In algorithmic design approach,modules are divided into sub-modules till a basic unit is reached.This is the approach learnt in Structured Programming course .

2. 数据驱动的方法(Data-Driven Approach)

In the Data-Driven Approach,a set of inputs are processed to given a set of outputs.This is useful in information based systems like database systems .

3. 面向对象的方法(Objected Oriented Approach)

In the Object Oriented design approach ,the focus is on the objects that compose the problem  domain,their behavior and communication between the objects.

原文地址:https://www.cnblogs.com/yqskj/p/2052601.html