软件的概念

软件是在计算机系统支持下能够完成特定功能和性能的程序、数据和相关文档
软件 = 知识+程序+数据+文档

软件危机

软件危机是指落后的生方式无法满足迅速增长的计算机需求,从而导致软件开发和过程维护出现一系列严重问题的现象。

软件工程的概念

软件工程定义的第一部分内容要求,软件开发、维护、和运行的过程是系统的规范的
软件工程的第二部分说明软件工程需要相关的科学研究做基础,需要方法学的支持。

软件过程模型

软件过程模型定义软件开发活动,给出他们之间的逻辑关系,管理软件工程进度表,为软件开发提供框架和方法。

软件过程模型—瀑布模型

1、软件过程模型又叫软件生命周期模型
2、特点:线性结构,前一阶段后后一阶段紧密联系,每一阶段之后都有评审活动。
3、局限性
确定需求后才能进行后续工作,不适应需求的变化
用户见面晚。
纠错晚,成本高。

软件过程模型—带反馈瀑布模型

特点:基于瀑布模型,每个阶段都有一个反馈线
综上,瀑布模型比较适合规模小,需求比较稳定的软件产品开发

软件过程模型—增量过程模型

特点:将需求分解,划分为一系列的增量,每个增量也划分为几个阶段
缺点:分解困难,针对相交情况的处理
优点:
核心功能见面再早、风险小
保持良好的体系架构
增量规模不能大(<20K行代码)

软件过程模型—原型建造模型

1、快速开发原型的途径:
2、快速建模的途径:
界面建模:
利用敏捷软件开发的方法快速开发一个工作原型;
找若干个类似软件向客户展示部分功能
3、原型分类:抛弃型,应用型
4、优点:与用户见面快,并发成功率高,适合需求不大确定的大系统
5、缺点:周期长,开发成本高

软件过程模型—螺旋模型

螺旋模型=瀑布模型+快速模型+风险分析
适合大型软件的开发。

软件过程模型—构件模型

软件过程模型—通用过程模型

敏捷开发

个体和交互胜过过程和工具
客户合作胜过合同谈判
响应变化要胜过遵循计划

软件工程----过程模型、敏捷开发相关推荐

  1. 软件工程——第五章(敏捷开发)

    1.敏捷软件开发的宣言 "我们正在通过亲身实践以及帮助他人实践的方式来揭示更好的软件开发之路,通过这项工作,我们认识到: 个人和这些人之间的交流胜过了开发过程和工具 可运行的软件胜过了宽泛的 ...

  2. 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022年)

    软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022 年) 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022 年) ...

  3. 软件工程(三)——敏捷开发和理解需求

    笔者正在学习<软件工程-实践者的研究方法>这本书,记录下一些读书笔记,共勉! 1.敏捷 市场条件变化十分迅速,客户和最终用户的需求在演变,从业者必须使软件工程工作保持敏捷,要限定过程应是灵 ...

  4. 软件工程:传统软件工程 vs 敏捷软件开发

    转自我的博客园文章: http://www.cnblogs.com/katniss-smile/p/5982643.html 首先给出软件工程和敏捷软件开发的定义: 软件工程(Software Eng ...

  5. 【软件工程】瀑布模型 原型模型 增量模型 螺旋模型 喷泉模型 RUP过程模型 敏捷过程

    Content 瀑布模型(生命周期模型) 原型模型 增量模型 综合瀑布模型与原型模型 螺旋模型 喷泉模型 RUP过程模型 敏捷过程 详细内容 参考链接 1.瀑布模型.快速原型模型.增量模型.螺旋模型 ...

  6. 软件工程敏捷开发01

    1. 软件工程敏捷开发,每日站立会议:进行了组内成员的任务分派,把今天的任务做了具体的任务分配,把已知的问题提交到个人索引卡 2. 将分配好的任务做完,总结遇到的问题,并结合今后的问题进行讨论和组内成 ...

  7. [软件工程--个人作业] 敏捷开发读后感

    敏捷开发--软件开发的高大上方法 一开始看到敏捷开发这个名字,就对里面的"敏捷"这个词产生了疑问,什么叫做敏捷开发,难道开发软件工程还要像奥运会一样"在追求更高更快更强的 ...

  8. 《SaaS软件工程 云计算时代的敏捷开发》PDF版

    点击下载:[<SaaS软件工程 云计算时代的敏捷开发>](https://pan.baidu.com/s/1upWJEYOni1XLsPBnrrMVhQ)![这里写图片描述](https: ...

  9. [软件工程学习笔记]浅谈敏捷开发

    在移动电子设备如此普及的今天,看着琳琅满目的手机APP市场,你不知道下一秒什么会突然变得炙手可热,什么会瞬间销声匿迹.顺应时代的潮流,软件开发也从重型过程向轻量型敏捷发展.作为软件的开发者,这些都是值 ...

最新文章

  1. 使用第三方SDK(如微信、qq、快看、头条等),调用接口405 Method Not Allowed
  2. 运维工具SaltStack
  3. JSR349(Bean Validation 1.1)
  4. Hadoop centos 6.5 配置
  5. 使用github管理Eclipse分布式项目开发
  6. oracle24550,ORA-24550 Signal Received Error From Client Based Application
  7. 程序员漫画:别人眼中的程序员vs真实的程序员
  8. 各类锁(互斥锁,自旋锁,读写锁,乐观锁,悲观锁,死锁)
  9. RocketMQ(十)——Consumer消费进度(Offset)的管理
  10. ssh+json开发实例
  11. matlab自家自减,【求助】VC环境下自增(++)自减(--) - 信息科学 - 小木虫 - 学术 科研 互动社区...
  12. python版本可执行可嵌入_Python程序打包成exe可执行文件的方法探究
  13. stack-based buffer overflow basic paper
  14. NorthWind基本数据库添加问题
  15. 基于egret的点光源光线效果的实现
  16. face_recognition 人脸识别
  17. winhex添加删除字节
  18. 期末|研究生英语写译教程(提高级/第三版)课后练习答案
  19. FTP到主机上删除文件
  20. 原创|我常用的3款脑图工具

热门文章

  1. teleport最新版不支持mysql_Teleport服务端配置详解
  2. seaJS简介与使用
  3. 多个excel合并软件
  4. JZOJ ???? 细胞
  5. ANSYS Workbench仿真(二):Mesh(大纲)①
  6. javascript实现表单提交加密
  7. Docker基础知识及坑
  8. dm归档文件配置、sql 日志的开启和关闭以 及基本的操作、创建定时备份和删除备份的作业、数据库物理、逻辑备份还原
  9. (二十七)RecyclerView 常用封装、修复及优化
  10. Windows dos命令cacls和Icalcs