软件是一种特别的产品,随着规模和复杂性的进步以及应用领域的扩大逐渐形成了工程。
是计算机中与硬件相互依存的另一部分,包括程序、数据和说明文档。
程序是按照设计要求和性能指标设计的指令序列
数据是程序能够正常操纵信息的数据结构
说明文档是用于开发和维护软件程序的各种图文资料。
软件工程是软件的工程性方法,涵盖了所有生命周期,并提供了一整套工程性方法来指导软件开发。
软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科。
包含:1. 软件开发技术 2. 软件项目管理
软件工程三要素:方法、工具、过程
软件工程应包括的知识(10个):软件需求、软件设计、软件构建、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量
指计算机软件的开发和维护过程中所遇到了一系列严重问题。
包括分析、设计、实现、测试和维护等。
软件工程目标:正确性、可用性、费用合算
软件工程活动:需求、设计、实现、确认、支持
软件工程原则:适宜开发范型、合适设计方法、高质量工程支持
是为了获得高质量软件所需要完成的一系列步骤。
生命周期模型把生命周期划分成那些阶段以及执行顺序,也称为软件过程模型。
常见模型:瀑布模型、快速原型模型、增量模型、螺旋模型
应用场景: 大型软件项目;需求明确;需求变化少
特点:
优点:
缺点:
应用领域: 客户不熟悉软件、沟通理解困难
优点:
缺点
适用范围: 需求比较明确、架构稳定
优点:
缺点:
适用范围: 大型复杂的系统
优点:
缺点:
五个阶段: 规划、分析、设计、实施、运行维护
Jackson方法的表示: 顺序、选择、重复
自底向上的归纳、自顶向下的分解,尽可能运用人类自然思维方式
要点:
三大重要特征: 封装、继承、多态
基本概念: 对象、类、封装...
核心概念: 对象、类