软件工程基础笔记
前言
本文分享的是博主学习软件工程后整理的一些方便记忆的笔记,如有错误,欢迎指出,大家相互学习。什么是软件工程
软件工程是指采用工程的概念、原理、技术和方法指导软件的开发与维护。是建立并使用完善的工程化原则,以较经济的手段获得,能在实际机器上有效运行的可靠软件的一系列方法;它的主要思想强调在软件开发过程中需要应用工程化原则。其核心思想是把软件当作一个工程产品来处理。
软件工程包括3个要素:方法、工具、过程
- 方法是完成软件工程项目的技术手段
- 工具支持软-件的开发、管理、文档生成
- 过程支持软件开发的各个环节的控制、管理
软件危机
软件危机泛指在计算机软件的开发和维护过程中遇到的一系列严重的问题,集中表现在成本,质量,生产效率等几个方面。
软件危机主要表现在:
① 软件需求的增长得不到满足。用户对系统不满意的情况经常发生。
② 软件开发成本和进度无法控制。开发成本超出预算,开发周期大大超过规定日期的情况经常发生。
③ 软件质量难以保证。
④ 软件不可维护或维护程度非常低。
⑤ 软件的成本不断提高。
⑥ 软件开发生产率的提高赶不上硬件的发展和应用需求的增长。
软件定义与软件特点
软件定义
软件指的是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。
程序、数据和相关文档
程序 : 软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令序列
数据 : 使程序能正常操纵信息的数据结构
文档 : 与程序的开发、维护和使用有关的图文资料
软件的特点
- 软件是一种逻辑实体,具有抽象性;
- 软件的生产与硬件不同,它没有明显的制作过程
- 软件在运行、使用期间不存在磨损、老化问题;
- 软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;
- 软件复杂性高,成本昂贵;
- 软件开发涉及诸多的社会因素。
软件的生命周期
什么是软件生命周期
软件生命周期是指软件产品从提出、实现、使用维护到停止使用退役的整个过程。可分为软件定义,软件开发及软件维护3个阶段。
软件生命周期中,能够准确确定软件系统必须做什么和必须具备哪些功能的阶段是:需求分析。
软件的分类
软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。
应用软件
应用软件是为解决特定领域的应用而开发的软件。
例如,事务处理软件,工程与科学计算软件,实时处理软件,嵌入式软件,人工 智能软件等应用性质不同的各种软件。
系统软件
系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。
如操作系统,编译程序,汇编程序, 网络软件,数据库管理系统等,所以选项B属于系统软件。
软件工程过程
软件工程过程是把软件转化为输出的一组彼此相关的资源活动。
包含4种基本活动:
(1)P(plan)——软件规格说明;
(2)D(do)——软件开发;
(3)C(check)——软件确认;
(4)A(action)——软件演进。
软件开发技术和软件工程管理
1、软件工程的理论和技术性研究的内容主要包括软件开发技术和软件工程管理。
2、软件开发技术包括软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。
3、软件开发方法包括分析方法,设计方法和程序设计方法。
4、软件工程管理包括软件管理学,软件工程经济学,软件心理学等。
5、软件管理学包括人员组织,进度安排,质量保证,配置管理,项目计划等。
6、软件工程经济学是研究软件开发中成本的估算,成本效益的方法和技术。
软件工程的原则
软件工程的原则:
抽象,信息隐蔽,模块化,局部化,确定性,一致性,完备性,可验证性。
需求分析
需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。
需求分析阶段的工作
需求获取,需求分析,编写需求规格说明书,需求评审。
需求分析方法
(1)结构化需求分析方法
①面向数据结构的Jackson方法(ISD);
②面向数据流的结构化分析方法(SA);
③面向数据结构的结构化数据系统开发方法(DSSD);
(2)面向对象的分析的方法(OOA)
从需求分析建立的模型的特性来分:静态分析和动态分析。
本次的文章就写到这,希望大家喜欢😁😁😁
如果文章知识点有错误的地方,请指正!和大家一起学一起进步
如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦
链接: 软件工程基础笔记(二).