前言:本课程真的就是讲述整个软件工程行业全部流程和所需的所有技术要点,可以说是程序员入门终极指南(笑)。对于未来想要做程序员的宝子十分重要。
课程信息:
所用教材:
《软件工程导论(第6版)》清华大学出版社
课堂学时分配(仅供参考):
- 第一章 软件工程概述(4学时)
- 第二章 可行性分析(4学时)
- 第三章 需求分析(6学时)
- 第四章 概要设计(4学时)
- 第五章 详细设计(4学时)
- 第六章 软件实现(6学时)
- 第七章 软件维护(2学时)
- 第八章 面向对象方法学引论(4学时)
- 第九章 面向对象分析(4学时)
- 第十章 面向对象设计(4学时)
- 第十一章 面向对象实现(2学时)
- 第十二章 软件项目管理(4学时)
重点与难点:
- 重点
- 软件工程的基本原理、思想和工程思维方法
- 软件过程与开发模型
- 需求工程
- 传统的结构化方法学
- 面向对象方法学
- 软件测试的基本策略和测试用例设计方法
- 软件项目管理
- 难点
- 基于数据流模型的结构化分析与设计方法
- 基于UML的面向对象分析与设计方法
- 软件测试方法、过程及工具
- 基于软件过程改进的软件项目管理
以上就是本课程的主要学习内容与重难点分析,相信大家也可以看出来,难点和终点比较平均,而对于第三章和第六章来说则比较重要(指考试上),所以说要有重点地学。
下面就是我们的第一章节内容,Let's Go!!!!!!!!
第一章 软件工程概述(上)
目录:
1、软件 ① 软件的定义 历史上不同时间不同国家对于软件都有着不同的软件定义,在这里就挑选两个比较经典的定义来解释:
1983年IEEE的软件定义:
- 计算机程序、文档、运行程序必须的数据、方法、规则
- 方法和规则在文档中说明,在程序中实现
简化软件定义:
- 软件=程序+文档+数据+知识
② 软件的特点
- 软件是无形的、看不见的逻辑实体
- 软件是复杂的(软件很单纯,复杂的是人)
- 软件的开发成本高
- 软件易于复制
- 软件质量要求较高
易混点:(1) 软件不会“磨损”但是会退化;(2)软件的开发尚未完全摆脱手工作坊的开发方式.
③ 软件的分类
按照软件的功能划分可以划分为系统软件、支撑软件和应用软件三类。 按照软件规模的划分可以划分为微型、小型、中型、大型、基大型、极大型。 ④ 软件的角色 它本身是一种产品,同时也是一种传递产品的工具。(谜语人既视感)2、 软件危机 ① 软件危机的介绍 例子:千年虫危机、购票系统崩溃现象 软件危机的定义:在计算机软件开发和维护过程中遇到的一系列严重问题 软件危机包含的问题:
- 如何开发软件,以满足软件日益增长的需求
- 如何维护额数量不断膨胀的已有软件
软件危机的典型表现:
(1)对软件开发和进度的估计常常很不准确;(2)用户对完成的软件系统不满意的现象经常发生;开发人员对用户信息交流不充分,产品不符合用户需求;(3)软件产品的质量往往靠不住;(4)软件常常不是可维护的;(5)软件通常没有适当的文档资料。
②产生软件危机的原因
客观原因:
- 逻辑部件而不是物理部件
- 规模庞大,程序复杂性随程序规模增加指数上升(越来越复杂,难以修改更新)
主观原因:
- 软件专业人员对软件开发和维护有不少糊涂概念,在实践过程中或多或少采用了错误的方法和技术(过程技术错误)
- 对用户要求没有完整准确的认识就匆忙着手编写程序。许多用户在开始时不清楚真正的需求,开发人员做大量调查研究工作,才能全面、准确、具体了解用户需求。(需求定义不明确)
- 软件从定义、开发、使用和维护,直到最终抛弃,要经历一个漫长的时期。(生命周期长)
此外,还有一些其他的原因(软件产品必须有一个完整的配置组成、软件开发的不同阶段进行修改需要付出的代价是不同的等等)
那我们要如何去消除软件危机呢?(奇怪的反问,见下)
③消除软件危机的途径
- 正确认识计算机软件,摒弃“软件就是程序”的错误概念;
- 良好的组织管理措施
- 开发和使用更好的软件工具
- 推广使用在实践中总结出来的开发软件的成功技术和方法,并研究探索更有效地技术和方法
为解决软件危机,既要有技术措施,又要有必要的组织管理措施。
软件工程正是从管理和技术两方面研究如何更好的开发和维护计算机软件的一门新兴学科。
标签:定义,学时,危机,导论,软件工程,软件,方法,详解 From: https://www.cnblogs.com/qichengxiaoqi/p/16799099.html