《软件工程》-第二章随笔

软件开发过程中,软件项目失败并不罕见。20世纪80年代,软件项目失败的原因大多是由于过程缺乏规范。软件开发过程中,并无详细的开发规划,这样的过程像一个“黑盒子”,我们并不能完全了解过程中会发生的任何事情,也无法估计软件成品的质量。由此,软件过程规逐渐范化,软件开发过程也有了一定的计划。软件过程的基本运动包括初步的问题提出,即背景了解,市场调差等,还有了解软件需求规格说明,软件设计过程规划,软件的实现预确认。

软件开发过程规范化,自然不会只有一种统一的套路。软件过程有各种模型:瀑布模型,快速原型模型,增量模型,螺旋模型,形式化方法模型,基于组件的开发模型。瀑布模型是一种从上到下按序进行的软件过程模型,虽然井井有条却也存在用户需求不明确,并不能适应环境变化等缺点。快速原型模型是建立一个初步原型,在不断地进行优化。增量模型是一点点的将客户的需求添加进去,每一步的添加过程都相同,直到最后形成一个令人满意的成品。螺旋模型是瀑布模型与快速原型模型的结合体。形式化方法模型现将软件需求形式化数学描述,再将数据描述一次次形式化转化为可执行程序。基于组件的开发模型是一种新兴模型,选取现有组件进行选取组装和修改,从而形成产品。

微软公司的软件过程模型由规划,设计,开发,稳定和发布5个阶段组成,每个阶段都有固定的依据与目标。它的开发策略是递进式的,产品功能是一点点进行完善的。

时间: 2025-01-31 03:57:14

《软件工程》-第二章随笔的相关文章

第二章随笔

通过学习这一章节了解并熟练掌握了如何在Ubuntu Linux环境下的Android开发环境的配置.我们需要配置Linux驱动的开发环境,还需要配置开发Android应用程序以及Android NDK程序的开发环境,除此还需要一些辅助工具测试Linux驱动及调用开发板.首先先在Linux中安装JDK,在书中介绍了JOK的下载地址以及如何进行配置JDK.然后需要搭建Android应用程序的开发环境.我们需要先安装Android SDK,在书中也了解到了安装的地址也熟悉的掌握了Android SDK

Android深度探索与HAL驱动开发(卷1)-- 第二章随笔

Android软件开发是指创建新的Android操作系统的过程.通常是使用Android软件开发工具包(SDK)利用Java语言进行开发. Android SDK Android软件开发工具包(SDK)包括一套全面的开发工具.这些措施包括调试器,库文件,一个基于QEMU的手机模拟器,文档,示例代码和教程.目前支持的开发平台,包括可运行Linux的计算机,Mac OS X 10.5.8以上版本,和Windows XP或更高版本.截至2015年3月, Android 自带的SDK本身不可再用,但软件

软件体系结构第二章随笔

主要知识框架: 5种软件体系结构的模型->‘4+1视图模型’ 二者关联:后者是前者有机统一在一起形成的 ‘4+1视图模型’:逻辑视图,开发视图,进程视图,物理视图,场景视图 软件体系结构的核心模型:5种元素,模型 生命周期模型:软件开发过程,生命周期 软件体系结构抽象模型 问题: 在逻辑视图中如何表示两个类关联在一起共同提供服务? 场景描述使四个视图有机联系起来,在2-11和2-13两图中,如何看待这句话?

集体智慧编程_第二章(提供推荐)_1

前言:最近正在拜读Toby Segaran先生写的集体智慧编程,首先感谢Toby Segaran先生将知识以书本的方式传播给大家,同时也感谢莫映和王开福先生对此书的翻译,谢谢各位的不辞辛苦.首先在写随笔之前,跟各位分享一下我的编程环境:win7系统,python版本是2.7.10,开发环境我选择的是pycharm程序.本书的第一章为集体智慧导言,主要介绍的何为集体智慧和机器学习的相关概念和其局限性,以及与机器学习相关的例子和应用场景.下面开始机器学习第二章--提供推荐的相关内容. 本章主要内容:

Machine Learning In Action 第二章学习笔记: kNN算法

本文主要记录<Machine Learning In Action>中第二章的内容.书中以两个具体实例来介绍kNN(k nearest neighbors),分别是: 约会对象预测 手写数字识别 通过“约会对象”功能,基本能够了解到kNN算法的工作原理.“手写数字识别”与“约会对象预测”使用完全一样的算法代码,仅仅是数据集有变化. 约会对象预测 1 约会对象预测功能需求 主人公“张三”喜欢结交新朋友.“系统A”上面注册了很多类似于“张三”的用户,大家都想结交心朋友.“张三”最开始通过自己筛选的

关于《大道至简》第二章的收获

今天阅读了大道至简的第二章,这一章的标题是懒人造就了方法.文章以愚公和李冰作为例子,讲述了好的方法是如何产生的.由此我们可以想到身边的一些例子,假如我们要给一些学生出算数题,题量不大的情况下我们可以直接出题,当要求题量的时候这就是一个大工程了.为此,我们可以写一个简单的软件实现出题的功能.虽然写这个软件会花费一些时间,但是完成之后会省下很大的精力. 我们应该学会将源代码分写在几个文件中,而不是所有的都写在一起,因为都放在一个文件中,到了后期的维护可能会是很大的问题,因此Unit关键字出现了,将一

【网络原理】期末复习笔记 第二章 物理层

第二章 物理层 2.1物理层的基本概念 物理层定义:解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是具体的传输媒体. 物理层的主要任务为:确定与传输媒体的接口的特性 机械特性:接口形状,大小,引线数目 功能特性:电压强度决定信号大小 电器特性 :规定电压范围 过程特性:建立连接时各个相关部件的工作步骤. 2.2 通讯模型(通讯的目的是传递数据) 信息:文字/图片/视频 数据:信息在传输之前需要编码,编码之后的信息就是数据 信号:数据在通信线路上传递需要变成光信号.电信号 码元:时间间隔

深入浅出Zabbix 3.0 -- 第二章 Zabbix Web操作与定义

第二章  Zabbix Web操作与定义 本章介绍Zabbix 中一些基本概念的定义和web前端页面的操作,包括Zabbix中使用的一些术语的定义,Web页面中用户管理.主机和主机组的管理,以及监控项.模板.触发器.告警的管理和操作,还有Graphs.Screens.Maps及Reports等.通过本章的学习掌握一些基本概念并能够通过Web页面的操作完成对Zabbix的管理. 2.1 定义 hosts(主机) Zabbix中需要监控的服务器.交换机及其他设备我们都统一称作host,这些设备与Za

构建之法第二章个人技术和流程

如果说第一章我还有点概念,那么第二章我可以说一窍不通,什么是VSTS,什么是单元测试,什么是回归测试,还是什么是效能分析--好多的新名称,第一次看见,是那么的没有头绪.要不是百度了,仅仅看书,我完全不知VSTS--Visual Studio Team System,是由微软开发的一套具有高生产力.高集成性.可扩展的生命周期开发工具. 2.1.1节图文并茂的告诉我,单元测试重要作用,可能是自己的能力不足,相关知识了解的太少了,一边看还一边想,单元测试怎么写?写在哪里?什么时候写?就算是按照书本上的