软件与软件工程的概念

第一章 软件与软件工程的概念

读书笔记:主要参考教材《软件工程概论》和PPT

 

  1. 软件的概念
    1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。
    2. 程序是按事先设计的功能和性能要求执行的指令序列。
    3. 数据是使程序能正常操纵信息的数据结构。
    4. 文档是与程序开发,维护和使用有关的图文材料。
  2. 软件特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性
  3. 软件的分类
    1. 系统软件:操作系统 数据库管理系统 设备驱动程序 通信和网络处理程序等
    2. 支撑软件(工具软件)

      1. 纵向支撑软件:分析、设计、编码、测试工具等;

      2. 横向支撑软件:项目管理工具,配置管理工具等

    3. 应用软件:工程与科学计算软件 商业数据处理软件 ERP软件 计算机辅助设计/制造软件 系统仿真软件 智能产品嵌入软件 事务管理、办公自动化软件

    4. 可复用软件:标准函数库、类库、构件库等

  4. 软件危机:软件的发展速度远远滞后于硬件的发展速度,不能满足社会日益增长的软件需求。软件开发周期长、成本高、质量差、维护困难。
  5. 软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

  6. 系统工程的目标:运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短的周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。
  7. 软件生存期:软件定义、软件开发、运行维护
  8. 软件工程方法概述
    1. 目前使用最广泛的软件工程方法学:传统方法学(结构化方法学),面向对象方法学。
    2. 三要素:方法、工具和过程
  9. 软件工具概述
    1. 软件工具是指能支持软件生存周期中某一阶段(如系统定义、需求分析、设计、编码、测试或维护等)的需要而使用的软件工具。
    2. 常用软件工具:需求分析与设计工具、编码工具与排错工具、测试工具
  10. 软件工程知识体系及知识域
    1. 软件工程教育(3个历史时期)
      1. 1978年以前:软件工程教育以计算机专业的一门孤立的课程形式存在。
      2. 1978—1988年期间:早期的研究生学位教育,开始建立软件工程专业的研究生学位教育项目。
      3. 1988年以后:快速发展的研究生学科教育,使软件工程的理论快速发展,其中,卡内基·梅隆大学软件工程研究所(SEI)的影响不可忽视。
    2. 软件工程知识体系指南的内容 SWEBOK指南将软件工程知识体系划分为15个知识域(knowledge areas,KA),这些知识域又划分为三类: 软件工程基础类、软件生存期过程类、软件工程管理类。

转载于:https://www.cnblogs.com/xaq0325/p/5237722.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring的@Transactional注解踩坑

Transactional介绍 Spring为开发人员提供了声明式事务的使用方式,即在方法上标记Transactional注解来开启事务。大家在日常的开发中很多业务代码对数据进行操作的时候一定是希望有事务控制的。 比如电商卖东西业务,代码的逻辑是商家先生成一个订单&…

java 23种设计模式

https://www.cnblogs.com/malihe/p/6891920.html https://www.runoob.com/design-pattern/factory-pattern.html https://www.cnblogs.com/JavaHxm/p/11016315.html

git多分支频繁切换导致IDEA工具maven工程项无法识别java文件的一种解决方法

由于频繁的进行git多分支的切换,导致本地maven工程依赖切换失败,进而导致项目无法识别java工具,多次rebuild项目均以失败而告终。 提供一种有效的正确方式: 在IDEA的terminal输入命令 mvn clean mvn install -Dmaven.test.skipt…

MySQL中去除字段中的回车符和换行符

https://blog.csdn.net/u012586848/article/details/50997865

简说SQLite

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。什么是ACID?指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性&#xff0…

MySQL中count(*)用法

count()函数:一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加。最后返回累计值 对不同count()统计函数…

Java “\”与\\的替换

Java replaceAll方法中,必须用“\\”表达一个"",因为Java中“\”是转义字符,通常会误以为“\”就能表示"",实际上,replaceAll算法的实现运用了正则表达式,所以这里经历了两次转化,即是replaceAll(…

PHP闭包(Closure)初探(转载 http://my.oschina.net/melonol/blog/126694?p=2#comments)

匿名函数 提到闭包就不得不想起匿名函数,也叫闭包函数(closures),貌似PHP闭包实现主要就是靠它。声明一个匿名函数是这样: ?123$func function() {}; //带结束符可以看到,匿名函数因为没有名字&#xff0…

bootstrap 学习网址

http://edu.jb51.net/bootstrap/bootstrap-tables.html

手把手教你--JAVA微信支付(H5支付)

http://www.pianshen.com/article/901316384/ https://blog.csdn.net/qq_16927377/article/details/80542682

寻找子串

中国电信2016年IT研发工程师笔试题 12 给定一个已经排好序的字符串数组,空字符串散布在该数组中,编写一个函数寻找一个 给定字符串的位置。 解法:循环搜索第一个字符,第一个匹配则进行统计个数,当匹配个数等于子串长度时,则可以输…

css教程

https://www.runoob.com/css/css-tutorial.html

当下大部分互联网创业公司为什么都愿意采用增量模型来做开发?

现在互联网正在飞速的发展,各种各样的互联网创业公司如雨后春笋般的涌现。而在互联网初创企业中广泛运用的增量模型无疑是大家关注的重中之重,本文主要谈谈我个人对增量模型在互联网创业公司得到推广原因的初步理解。 1.把目标软件拆分为实现其部分功能增…

beetl 取list下标的问题

[DEBUG] 11:44:23.194 org.beetl.ext.nutz.LogErrorHandler.processExcption(LogErrorHandler.java:32) - 属性访问出错 11:44:23:属性获取异常(ATTRIBUTE_INVALID):[] 位于21行 资源:/platform/wage/calculation/detail/edit.html 属性访问出错 18| 19| <%for(item in map[…

横竖屏切换时候Activity的生命周期的总结

1、新建一个Activity&#xff0c;并把各个生命周期打印出来 2、运行Activity&#xff0c;得到如下信息 onCreate--> onStart--> onResume--> 3、按crtlf12切换成横屏时 onSaveInstanceState--> onPause--> onStop--> onDestroy--> onCreate--> onStart…

bootstrp-table 获取checkbox选中行的数据id

https://blog.csdn.net/qq_20603425/article/details/84253782

软件工程个人作业01;

设计思路“ 1 for循环30次&#xff1b; 2 首先随机输出运算符 2.2 String数组a[]{”“&#xff0c;”*”&#xff0c;“—”&#xff0c;“”} 2.3 随机输出0--3&#xff08;c表示)中整数&#xff0c;做为数组标号da[c] 2.4整数运算随机数出0--99之间整数 3.进行分数和整数区别…

oracle数据库安装跳坑

安装版本 &#xff1a;oracle 11g 常规安装就可以了。需要注意的是有篇教程里写到出现“不满足最低配置的时候”要进行相关代码修改。我第一次是这样做&#xff0c;后来进入数据库出现了错误&#xff0c;第二次安装&#xff0c;我直接忽略他的提示&#xff0c;进行常规的安装&a…