《软件工程》总结——第一章

首先介绍一下”软件“

《IEEE》对软件给出了如下定义

软件是计算机程序、规程以及运算计算机系统可能需要的相关文档和数据。

根据软件服务对象的范围不同,一般可以将软件划分为通用软件和定制软件两种类型。

软件的特性:

1.软件是复杂的;2.软件是不可见的;3.软件是不断变化的;4.大多数软件是定制的,而不是通过已有构建组装成的。

软件危机:

1.软件开发的成本和进度难以准确估计,延迟交付甚至取消项目的现象屡见不鲜;2.软件存在着错误多、性能低、不可靠、不安全等质量问题;3.软件成本在计算机系统的整个成本中所占的比例越来越大;4.软件维护及其困难,而且很难适应不断变化的用户需求和使用环境。

上面已经介绍软件的定义和特点,下面来介绍一下“软件工程“的一些定义

1968年10月,Fritz Bauer首次提出了“软件工程”的概念:软件工程是为了经济地获得能够在实际机器上高效运行的可靠软件而建立和使用的一系列好的工程化原则;

《IEEE》给出了一个更全面的定义:软件工程是:①将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即将工程化应用到软件上;②对①中所述方法的研究。

软件工程的三要素:过程、方法和工具。三个要素结合起来就是软件的质量。

上面提到了软件质量,那么什么是软件质量?简单的说:软件质量是软件产品与明确的和隐含的需求相一致的程度,他通常由一系列的质量特性来描述。例如:除了要求软件正确运行之外,人们课程还希望软件运行的响应时间符合要求、软件使用方便快捷、程序代码易于理解等。需要强调的是。软件质量并不取决于开发人员的观点,它通常与客户、用户、维护人员等提出的要求密切相关。

下面介绍一些计算机辅助软件工程(CASE):

分析设计工具:Rose、RequisitePro、Together、Enterprise Architect、Argo UML等;

测试工具:Junit、Robot、WinRunner、LoadRunner、TestDirector等;

配置管理工具:VSS、ClearCase、CVS、Firefly等;

项目管理工具:MS Project、RUP、PMOffice、P3E等。

软件工程同其他行业一样,同样面临着挑战。主要挑战有:1. 遗留系统的问题;2. 高可信软件开发的要求;3. 软件开发方式的变化。

一个专业成熟发展的重要标志是具备一套完整的知识体系,我们软件工程也有自己的知识体系——软件工程知识体系(SWEBOK)。

SWEBOK项目的目的是为软件工程学科的边界提供一致确认的特征,为支持该学科的知识体系提供指导,其具体目标如下:

(1) 描述软件工程学科的内容和特征;

(2) 确定软件工程知识体系的各个专题;

(3) 促进软件工程体系在世界范围内的共识;

(4) 明确软件工程与其他相关学科(诸如计算机科学、项目管理、计算机工程、数学等)的关系,并设定软件工程学科的边界;

(5) 为软件工程课程计划的开发和职业资格的认证提供依据。

SWEBOK的组成:

1. 软件需求;2. 软件设计;3. 软件构造;4. 软件测试;5. 软件维护;6. 软件配置管理;7. 软件工程管理;8. 软件工程过程;9. 软件工程工具与方法;10. 软件质量。

俗话说”国有国法,行有行规“,我们软件工程的行规就是软件工程职业道德规范:

IEEE/ACM职业道德准则:

公众:软件工程人员应始终与公众利益保持一致;

客户和雇主:在与公众利益保持一致的原则下,软件工程人员应满足客户和雇主的最大利益;

产品:软件工程人员应当确保他们的产品以及改进符合尽可能高的专业标准;

判断:软件工程人员应当具备公正和独立的职业判断力;

管理:软件工程管理者和领导者应拥护和倡导合乎道德的有关软件开发和维护的管理方法;

职业:在与公众利益一致的原则下,软件工程人员应当提高职业的信誉;

同行:软件工程人员对其同行应持平等和支持的态度;

自我:软件工程人员应当终身学习专业知识,促进合乎道德的职业实践方法。

软件工程人员的职业道德建设:

1. 遵纪守法是软件工程人员应具备的基本素质;

2. 服务客户、造福社会是软件工程人员必须牢固树立的观念;

3. 诚实信用是软件工程人员职业道德的核心所在。

时间: 2024-10-03 15:14:01

《软件工程》总结——第一章的相关文章

读《构建之法:现代软件工程》第一章有感

在阅读了<构建之法:现代软件工程>第一章绪论后,我软件工程有了一定的了解,同时以一名机械学生为立场也有所感悟. 以前我只是简单的认为软件就是一个应用,你只需要去点击.exe文件就可以使用这个软件.而在阅读了邹欣老师的<构建之法:现代软件工程>后,我懂得软件=程序+软件工程,我们现在不应再停留于软件的用户体验.交互界面,更应该看到软件背后支撑它的程序代码等.软件工程是一个学科交叉的过程,它与许多学科都相关:计算机科学.计算机工程.管理学.数学.项目管理学.质量管理.软件人体工学.系统

《软件工程》-第一章随笔

本章主要是软件的概述.软件是计算机程序,规程以及运行计算机系统可能需要的相关文档和数据.软件主要分为两种,一种是面向市场公开的通用软件,另一种是在某个特定约束条件下开发的定制软件.软件是复杂的,不可见的,不断变化的,且在软件技术日趋成熟的今天,大多数软件仍然是定制的,而非已有构件组装而成.20世纪70年代开始,计算机应用从简单的数据计算到涉及到各种商务领域.20世纪90年代至今,网络的迅速发展使软件系统从封闭走向开放.而随着软件的迅速发展,软件的开发也随之遇到了一系列软件危机.软件日趋成熟,软件

软件工程概论第一章概括

第一章题目的名字为概述,听名字就应该知道第一章应该是对事物的一个总结,通读之后,才知道这个事物就是软件工程这个名词. 本章首先介绍了软件这个名词,对软件的种类做了详细的介绍,而后对软件的发展简单的说了一下,并说明了现在软件存在的行业. 其次对软件工程这个词做了详细的介绍,从软件设计的发展以及构造方法的理论方面做了介绍,也对软件工程方面的危机简单的介绍了一下. 最后对于整个软件设计的过程在理论方面详细解释了一下,其中涉及到对于软件质量的重视态度,其中的SWEBOK项目是软件工程的一个重要概括,经过

现代软件工程讨论第一章-第四章

第一章 1.代码如下 #include <iostream> #include <cstdio> #include <time.h> using namespace std; int main(){ srand(time(0)); while(1){ printf("随机生成的一个小学四则运算题目,除法省去余数\n"); int num1 = rand() % 10; int num2 = rand() % 10; int index = rand(

浅谈对《构建之法——现代软件工程》第一章的理解

---恢复内容开始--- 一.精读第一章后对专业术语的整理 <构建之法——现代软件工程>一书第一章向我们主要介绍了计算机科学的领域.软件工程与计算机科学的关系.软件的特性以及软件工程的定义与组成部分. 1.通过对第一章的学习,我们了解到了软件的 几种分类: 系统软件:操作系统.设备驱动程序.工具软件等 应用软件:办公软件.通信软件.游戏视频软件等 恶意软件:软件病毒等 以及软件的几种特殊性:1.负责性:2.不可见性:3.易变性:4.服从性:5.非连续性: 2.软件工程与计算机科学的关系 首先,

软件工程概论第一章

本章主要介绍了软件的概念(软件是计算机程序,规程以及运行计算机可能需要的相关文档和数据.程序是计算机设备可以接受的一切指令和说明,为计算机提供所需的功能和性能,数据是事买,概念或指令的结构化表示,能够被设备接受,理解或处理),本章主要介绍了软件的概念(软件是计算机程序.规程以及运行计算机系统可能需要的相关文档和数据.程序是计算机设备可以接受的一切指令和说明,为计算机提供所需的功能和性能. 数据是事实.概念或指令的结构化表示,能够被设备接受.理解或处理.).软件的类型.软件的特性.软件的发展史以及

软件工程概论第一章阅读笔记

在这章中,我对软件工程有了一定的理解. 软件工程是为了解决软件危机而产生的一类学科. 对于软件危机,有如下解释:1 由于软件开发经验.数据难积累,是的开发工作计划难制定 2 程序员与用户难以交流 3 软件开发过程不规范 4 随和软件规模增大,其复杂性指数型增加 5 缺少有效的软件测评手段. 或许有些人会认为,质量和生产率之间是对立的,但事实上这是错误的观点.在正确的软件工程方法的指导下,质量与生产率可以同时提高.由此可见软件工程的重要性.

软件工程概论第一章--概述

本章主要从软件,软件工程,软件工程知识体系和软件工程职业道德规范等方面展开,其中定义了软件:软件是计算机程序,规程以及运行计算机系统可能需要的相关文档和数据.还详细介绍了软件的特性:复杂,不可见,不断变化,大多数软件是定制的,不是通过已有构件组装而成.软件发展的四个阶段和软件危机也做了详细的介绍. 软件工程方面,定义了软件工程:软件工程是将系统的.规范化的.可定量的方法应用于软件开发.运行和维护,即将工程化应用到软件上:对上述的方法的探究.介绍了软件工程的三要素:过程.方法和工具.软件质量的特性

《软件工程》第一章疑难问题

1.面向对象分析与设计方法与传统软件工程方法区别在哪里? 2.实现软件复用的关键因素除了软件构件技术还有哪些? 3.构件技术与面向对象设计中的对象很相似,但它们之间存在很大差异,具体差异在哪些方面? 4.软件开发模型和软件生命周期有什么区别? 5.软件生命周期模型和开发模型有何关系? 6.如何选择合适的软件开发模型?

《构建之法:现代软件工程》第一章有感

<构建之法:现代软件工程>一开头即提出:软件=程序+软件工程 可以说我们作为机械学院的学生以前所接触到的都只是程序这一软件的一部分而已,和我们真正应用.日常接触的软件有着很大的区别.软件工程则更是一个系统的工程与软件工程相关的学科有除计算机学科外还有管理学,系统工程,工业设计等9门学科,软件工程包括软件需求分析.软件设计.软件构建.软件测试.软件维护等等领域.软件工程的开发活动包括:构建管理.源代码管理.软件设计.软件测试.项目管理等是一个系统的工程. 而且作为机械的学生,我认为软件设计是现代