软件工程01:软件工程概述

1. 定义

软件:是包括程序数据及其相关文档完整集合

程序和数据是构造软件的基础,文档是软件质量的保证,也是保证软件更新及生命周期长短的必需品。

2. 特点

软件是一种逻辑实体,具有抽象性

软件开发过程中没有明显的制造过程 ,应理解为“创作”。

不存在机械磨损和老化问题,但存在软件退化问题

软件的开发和运行受到计算机系统的约束和限制。

软件开发至今未完全摆脱手工艺的开发方式。

软件是复杂的原因:(1).实际需求的复杂性 (2).程序逻辑的复杂性

3. 分类

根据软件服务对象: (1).通用软件 (2).定制软件

根据软件完成功能所处的层次不同: (1).应用软件 (2).中间件软件 (3).系统软件(如操作系统、驱动、数据库管理软件)

4. 发展

阶段 时间
程序设计阶段 20世纪50 至 60年代
程序系统阶段 20世纪60 至 70年代
软件工程阶段 20世纪70 至 90年代
现代软件工程阶段 20世纪90年代 至今

产生软件危机的原因:

(1). 软件系统本身的复杂性

(2). 软件开发的方法和技术不合理及不成熟;

5. 软件工程的要素

三要素:方法、工具、过程。

方法:提供了如何做的技术

工具:提供了自动或半自动软件支撑环境

过程:将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的

5. 软件工程的目标和原则

目标:生产具有正确性可用性以及开销适宜的软件产品。

最终目的:摆脱手工生产软件的状况,逐步实现软件研制和维护自动化

研究的内容:软件开发技术软件工程管理

原文地址:https://www.cnblogs.com/zkGaia/p/9002797.html

时间: 2024-11-10 00:53:00

软件工程01:软件工程概述的相关文章

python入门基础教程01 Python概述

01 Python概述 Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定.Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用.1 这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行. 目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多. 现代计算机系统简介 这里我们首先简要了解一下现代计算机的体系结构.现代计算机通常是由计算机硬

plsql programming 01 plsql概述

授权 从 oracle 8i 开始, oracle 用通过提供 authid 子句为 pl/sql 的执行授权模型, 这样我们可以选择使用 authid current_user(调用者权限)来执行这个plsql语句, 这时这个程序是用调用者(当前)模式的授权运行的. 与 SQL 整合 pl/sql 于 sql 紧密整合, plsql 无需任何 odbc, jdbc declare l_book_count INTEGER; begin select count(*) into l_book_c

Mooc软件工程-01软件基础和软件过程

1 软件的概念 含义 软件 = code + data + documents 也就是软件的代码, 软件相关的输入输出等数据, 和一切相关的文档 特点 抽象的, 无形的, 逻辑实体 不会被磨损 可以移植 软件是复杂的, 难设计难实现难维护 软件是昂贵的 2 软件危机和软件工程 软件危机 进度成本估算不准确 用户通常对完成的产品不满意 软件的质量通常是不可靠的 软件的可维护性差 没有可用文档 在计算机的比例越来雨大, 但是跟不上计算机的发展 软件工程 软件的实现是一个团队完成的, 这是一个工程项目

软工第一次作业-01 软件工程的实践项目的自我目标

1.对实践项目完成后学习到的能力的预期: 完成实践项目,首先有利于自己编程代码的能力,对软工项目的热情也能有所提高,熟悉并熟练掌握项目的开发过程.培养团队合作精神.在实践课程结束之前,希望自己能掌握单独完成一个简单项目的能力. 2.对项目课程的期望: 希望课程能深度的讲授项目开发的操作过程,如何应用.并且能给予团队之间更多配合交流的机会.能不拒绝同学的一些提问和疑惑. 3.对项目的愿景规划: 在初期,投入百分百的热情去学习与交流,努力加强团队意识.之后,会努力完成自己所要做的任务,在团队中尽可能

重温软件工程——对软件工程的初步了解

第一部分:软件工程的概述 一 软件=程序+软件工程    在看到这个公式时,我想大家也很容易理解这个,一个软件的实现都离不开程序的支持,程序是软件的“血肉”,那么仅仅有程序就可以了吗?答案是否定的,因为一个优秀的软件,离不开好的架构和设计方案,更离不开团队的共同协作,,,,,,,那这一系列的实现,一定需要相关的方法,而这些方法和思想,正是我们软件工程所要研究的部分,这就是我们软件”骨架“. 接下来,给大家举一个简单的例子:现在我们是一名建筑设计师,要建设北京的鸟巢体育场,目前所需的建筑材料和工人

软件工程:软件工程过程与方法

尽管程序员领着一份不错的薪水,可是他们也同样付出了巨大的精力与时间.随着软件规模的日益庞大,用户需求的不确定以及快速变更,使得软件开发已经不能停留在小作坊式的个人英雄时代,它已经发展为如今的依赖团队合作的行为,常规的管理方法已经无法满足软件开发的实际需求.而软件工程正是研究如何以系统性的.规范化的 .可定量的过程化方法高效开发与管理.维护软件的交叉性学科. 软件工程过程有哪些 常见的软件开发过程模型有哪些 UML中一般有哪些图 软件工程过程有哪些 软件工程是一门系统科学,是研究与应用如何以系统性

01监控概述

监控概述 初级 识别监控对象(分级) 理解监控对象(理论知识) 细分监控对象的指标 确定告警的基准线 预中级 工具化和监控分离 监控对象的分类 硬件监控(方法:机房巡检.IPMI.SNMP) 系统监控(对象:CPU.内存.IO[磁盘.网络]) 服务监控(对象:各类服务[Nginx|Tomcat|RabbitMQ|OpenStack|MySQL|*]) 日志监控(方法:Elastic Stack) 网络监控(方法:第三方.Smokeping) APM应用性能管理(工具:PINPoint) 流量监控

轻量级javaEE SSH 01: 概述 环境与工具篇

. 本系列的相关内容, 是这两年积累下来的, 本次整理成网页版本, 一方面共享给大家, 另一方面也方便自己查阅. 本文以图形方式展示轻量级SSH框架下的javaEE 需要使用环境与工具: 此处介绍轻量级JavaEE 以及tomcat, MySql, ant 此处介绍Maven, Apache, SVN部分: 本系列的相关内容, 是这两年积累下来的, 本次整理成网页版本, 一方面共享给大家, 另一方面也方便自己查阅.

01——Sheel概述

定义文件: /etc/shells 查看当前运行的Shell: echo $SHELL echo输出命令 -e:支持反斜线控制的字符转换 echo -e "\e[1;31m 你好 \e[0m" #30m=黑色,31m=红色,32m=绿色,33m=*** #34m=蓝色,35m=洋红,36m=青色,37m=白色 第一个脚本 #!/bin/bash #起始