软件工程学概述
一、前言
本文将讲述软件工程导论的第一章相关知识点,主要都是概念部分,本文仅做整理,便于期末复习。本文主要分为四个部分:软件危机、软件工程、软件生命周期以及软件过程
二、软件危机
1.典型表现
-
对软件开发成本和进度估计不准确
-
用户对已完成的软件系统不满意
-
软件质量不可靠
-
软件不可维护
-
软件没有适当文档资料
-
软件成本在总成本中占比上升
-
软件开发生产率提高速度远不及计算机应用迅速普及深入趋势
2.产生原因
-
与
软件本身特点
有关 -
与
软件开发与维护的方法不正确
有关
3.消除危机途径
-
对计算机软件有正确认识
-
推广使用成功技术与方法
-
开发和使用更好的软件工具
三、软件工程
1.概述
软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
2.软件本质特征
-
软件工程关注于
大型程序构造
-
软件工程
中心课题是控制复杂性
-
软件经常变化
-
开发软件
效率很重要
-
和谐合作是开发软件关键
-
必须有效支持它的用户
-
两种背景的人创造产品这个特性与前两个特性紧密相关
3.软件工程基本原理
-
用分阶段的生命周期计划严格管理
-
坚持
阶段评审
-
实行严格的产品控制
-
采用现代程序设计技术
-
能清楚审查
-
开发小组人员应
少而精
-
承认不断改进软件工程实践的必要性
4.软件工程方法学
1️⃣传统方法学
传统方法学也称为生命周期方法学或结构化范型。它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
传统方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。每个阶段的开始和结束都有严格标准,对于任何两个相邻的阶段而言,前一阶段的结束标准就是后一阶段的开始标准。在每一个阶段结束之前都必须进行正式严格的技术审查和管理复审。
审查的一条主要标准就是每个阶段都应该交出“最新式的”(即和所开发的软件完全一致的)高质量的文档资料,从而保证在软件开发工程结束时有一个完整准确的软件配置交付使用。
采用生命周期方法学可以大大提高软件开发的成功率,软件开发的生产率也能明显提高。
目前,传统方法学仍然是人们在开发软件时使用得十分广泛的软件工程方法学
2️⃣面向对象方法学
与传统方法相反,面向对象方法把数据和行为看成是同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法
四个要点
-
把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件
-
把所有对象都划分成类(class)
-
按照父类与子类的关系,把若干个相关类组成一个层次结构的系统
-
对象彼此间仅能通过发送消息互相联系
优点
降低了软件产品的复杂性,提高了软件的可理解性,简化了软件的开发和维护工作。面向对象方法特有的继承性和多态性,进一步提高了面向对象软件的可重用性
四、软件生命周期
软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。维护时期的主要任务是使软件持久地满足用户的需要
五、结语
接下来会讲述有关于软件开发模型相关知识点,有任何问题可以评论留言