Code Complete

                                                                Software construction

1.problem definition

2.requirements development

3.construction planning

4.software architecture,high-level design

5.detailed design

6.coding and debugging

7.unit testing

8.integration testing

9.integration

10.system testing

11.corrective maintenance

Metaphors-文字写作这一隐喻暗示着软件开发过程是一种代价昂贵的是错过程,而非仔细的规划和设计。

隐喻是启示而不是算法。因此他们往往有一点随意。

隐喻把软件开发过程与其他你熟悉的活动联系在一起,帮助你更好地理解。

有些隐喻比其他一些隐喻更贴切。

通过吧软件的构建过程比作是房屋的建设过程,我们可以发现,仔细的准备是必要的,而大型项目和小型项目之间也是有差异的。

通过把软件开发中的实践比作是智慧工具箱中的工具,我们又可以发现,每位程序员都有许多工具,但并不存在任何一个能适合于所有工作的工具,因地制宜地选择正确工具是成为能有效编程的程序员的关键。

不同的隐喻彼此并不排斥,应当使用对你最有益处的某种隐喻组合。

Typical Architectural Components

1.Program Organization

2.Major Classes

3.Data Design

4.Business Rules

5.User Interface Design

6.Resource Management

7.Security

8.Performance

9.Scalability

10.Interoperability

11.Internationalization/Localization

12.Input/Output

13.Error Processing

14.Fault Tolerance

Key Construction Decisions

你可能感兴趣的:(Code Complete)