1构造之法
1.1软件=程序+软件工程
核心推论:软件=程序+软件工程
软件=程序+软件工程
软件工程是计算机科学的重要领域,包括程序的实现、测试、维护和文档化等。程序不仅仅是数据结构和算法,还包括实际应用中的需求分析、设计、测试和维护。一个好的程序员不仅需要掌握数据结构和算法,还需要具备良好的编程习惯、团队协作和沟通能力。
软件工程是将系统的、有序的、可量化的方法应用到软件开发、运营和维护上的过程。它涉及到多个领域,包括计算机科学、计算机工程、管理学等。软件工程的目标是提高软件开发、运营、维护的效率,并提高软件的质量、用户满意度、可靠性和可维护性。为了实现这些目标,软件工程采用各种流程和工具,例如软件开发流程、编译工具、源代码管理工具等。例 如Microsoft Visual Studio x GitHub . Eclipse s ClearCase 和ClearQuest,这些工具和流程可以帮助工程师更高效地开发软件,提高软件的质量和可靠性。
1.2.1软件的特殊性
软件工程包含15个知识领域,
Software Requirements
2. Software Design
3. Software Construction
4. Software Testing
5. Software Maintenance
6. Software Configuration Management
7. Software Engineering Management
8. Software Engineering Process
9. Software Engineering Models and Methods
10. Software Quality
11. Software Engineering Professional Practice
12. Software Engineering Economics
13. Computing Foundations
14. Mathematical Foundations
2. Software Design
3. Software Construction
4. Software Testing
5. Software Maintenance
6. Software Configuration Management
7. Software Engineering Management
8. Software Engineering Process
9. Software Engineering Models and Methods
10. Software Quality
11. Software Engineering Professional Practice
12. Software Engineering Economics
13. Computing Foundations
14. Mathematical Foundations
15. Engineering Foundations
其中1-12描述软件工程学科本身的知识领域,13-15描述软件工程的基础知识领域。
1.2.4软件匚程的11标 创造’‘足够好”的软件
软件工程的目标是创造“足够好”的软件,消除Bug是其中的一个要素。Bug是指软件行为与用户期望不符,是否为Bug取决于用户和开发者的角度。软件工程需要解决软件开发效率、用户满意度、可靠性和可维护性问题。