软件定义 以及软件过程模型

各类定义

软件定义: 计算机程序、文档,运行程序必须的数据、方法、规则。方法和规则在文档中说明,在程序中实现。

软件工程定义
把系统化、规范化、可度量的途径应用于软件开发、运行和维护过程中;研究其实现途径

软件分类:系统软件,支撑软件,应用软件
系统软件
居于计算机系统中最靠近硬件的一层。其它软件一般都通过系统软件发挥作用。它与具体的应用领域无关,如编译程序和操作系统等。编译程序把程序人员用高级语言书写的程序翻译成与之等价的、可执行的低级语言程序;操作系统则负责管理系统的各种资源、控制程序的执行。在任何计算机系统的设计中,系统软件都要予以优先考虑。
支撑软件
协助用户开发软件的工具性软件。支撑软件是在系统软件和应用软件之间,提供应用软件设计、开发、测试、评估、运行检测等辅助功能的软件,有时以中间件形式存在。随着计算机科学技术的发展,软件的开发和维护代价在整个计算机系统中所占的比重很大,远远超过硬件。因此,支撑软件的研究具有重要意义, 直接促进软件的发展。当然,数据库管理系统、 网络软件等也可算作支撑软件。
常见支撑软件:软件开发环境
1、软件开发环境(Software Development Environment,SDE)是指在基本硬件和宿主软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。
2、数据库管理系统
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。

软件危机定义
在计算机软件开发和维护过程中遇到的一系列严重问题
软件危机主要表现
(1)开发成本和进度估计不准
延迟交付、取消项目
(2)用户对已交付软件不满意
开发人员对用户信息交流不充分,产品不符合用户需求
(3)软件产品质量靠不住
软件产品保证技术(审查、复审、测试)未坚持不懈应
用软件开发全过程
(4)软件可维护性差
开发时未考虑,很多错误难以改正
(5)软件没有适当文档资料 文档资料应在软件开发过程中产生,保证最新

软件生存周期
定义:软件生命周期(Software Life Cycle,SLC)是软件的产生直到报废或停止使用的生命周期
过程:
1、可行性研究与计划
2、需求分析
3、 总体设计
4、详细设计
5、实现(编码和单元测试)
6、集成测试: 将经过单元测试模块组装起来进行测试;通过测试使软件达到预定要求。
7、确认测试:由用户按需求规格说明书规定进行测试。
8 使用和维护

软件过程模型(生存周期模型)定义及分类

生存周期模型定义
实际从事软件开发工作时,软件规模、类型、 开发环境及技术方法等因素会影响到阶段划分, 及各阶段的执行顺序,形成不同生存周期模型, 又称过程模型。

分类:瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型

瀑布模型
优点:(质量好)
提高软件质量,降低维护成本,缓解软件危机。
缺点:(需求方面灵活性差)
模型缺乏灵活性,无法解决需求不明确问题。用户不经过实践提出完整准确需求不切实际。
特点:
1.阶段具有顺序性和依赖性
前一阶段结束后一阶段开始,前一个阶段输出文档,后一个阶段输入文档。
2.推迟实现观点
瀑布模型在编码前设置系统分析、系统设计,推迟程序物理实现,保证前期工作扎实。
3. 质量保证观点
瀑布模型每阶段坚持两个重要做法:
一是每阶段都必须完成完整、准确的文档。软件开发时人员间通信、运行时期维护的重要依据。
二是每阶段结束前对文档评审。

在这里插入图片描述
传统瀑布模型过于理想化,但人在工作过程中 不可能不犯错误,所以实际瀑布模型带反馈环。

在这里插入图片描述

快速原型模型 快速建立反映用户主要需求的原型系统,反复由用户评价修正需求,开发出最终产品。
优点:(需求分析,交互)
1、 确定需求上优于瀑布模型(通过原型与用户交互);
2、提供学习手段,通过开发原型和演示原型对开发者和使用者了解系统都有积极作用;
3、有的软件原型可以成为最终产品的一部分。
缺点:(快,结构不好)
快速建立的系统结构加连续修改可能导致产品质量低下原型系统的内部结构可能不好。
在这里插入图片描述

增量模型(渐增模型)
区别于瀑布和快速原型模型:
瀑布和快速原型模型是一次把满足所有需求产品提交给用户。增量模型是分批向用户提交产品。
开发软件时将软件产品作一系列增量构件设计、编码、集成和测试。
在这里插入图片描述

螺旋模型 ( 加入风险分析,常指导大型软件项目)
优点:
大型软件开发项目有较好的风险控制;
缺点:
需要风险评估的经验;
笛卡尔坐标四象限表达四方面活动:
制定计划 ,风险分析 ,实施工程 ,客户评估
沿螺线自内向外每旋转一圈开发出更完善新版本。

在这里插入图片描述

喷泉模型(面向对象方法的生存周期模型)
优点:
无缝,可同步开发,提高开发效率,节省开发时间, 适应面向对象软件
缺点:
可能随时加各种信息、需求与资料,需严格管理文档,审核的难度加大
特点:
1 迭代:
求精,系统某部分常被重复工作多次,相关功能在每次迭代中逐渐加入演进系统。
2 无缝:
分析、设计、编码各阶段间不存在明显边界。 在这里插入图片描述

发布了142 篇原创文章 · 获赞 0 · 访问量 2605

猜你喜欢

转载自blog.csdn.net/yunxiu988622/article/details/105160340