快捷搜索:

软件工程概论

• 软件=程序+数据+文档 是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。 – 程序=数据结构+算法 是按事先设计的功能和性能要求编写的指令序列; – 数据=结构化数据+非结构化数据 是使程序能正常操纵信息的数据结构; – 文档=文字材料+图表说明 是与程序开发、维护和使用有关的图文材料。

软件特点: 1)具有抽象性 2)无明显的制造过程 3)存在退化问题 4)对计算机系统有着不同程度的依赖性 5)尚未完全摆脱人工的开发方式 6)软件本身是复杂的 7)成本相当昂贵 8)相当多的软件工作涉及社会因素

软件的分类

软件工程概念:

IEEE对软件工程的定义为: 1)将系统化、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件 2)对1)中所述方法的研究

具体说来,软件工程是以借鉴传统工程的原则、方法,以提高质量,降低成本为目的指导计算机软件开发和维护的工程学科。它是一种层次化的技术。

软件工程层次图

软件工程研究的内容

软件工程研究的内容主要包括以下两个部分:

软件开发技术。主要研究软件开发方法、软件开发过程、软件开发工具和环境。

软件开发过程管理。主要研究软件工程经济学和软件管理学。

软件开发的含义: 建模是解决问题的一般途径 模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内各模型元素以及他们之间的语义关系。 软件模型: 软件工程框架: 软件工程的目标: 正确性,可用性,开销合宜。 软件工程的活动: 主要包括需求,设计,实现,确定和支持活动。

软件工程新视野: 软件工程就是解决如何正确、高质、高效地 写出软件

经典软件工程是在经典信息技术体系中,给 定底层硬件与运行环境,给定应用需求,指导(软件过程与管理)和辅助(开发工具与 环境)开发团队(10人以上)正确、高质、 高效(风险和成本控制)地写出软件

新一代信息技术底层环境复杂多变,应用需 求难以给定,99%的开发团队低于10人, 经典软件工程 更不够用

软件定义一切(software defined everything)成为软件工程新思路

经验分享 程序员 职场和发展