什么是软件project?
Normal
0
7.8 pt
0
2
false
false
false
MicrosoftInternetExplorer4
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
mso-para-margin:0pt;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
今天将“软件測试和质量专栏”改为“软件project专栏”,意味着自己的博客将扩展到一个更广的范围,尽管核心还环绕測试和质量,但包含软件需求project、系统设计和项目管理等。所以特写一篇文章,作为开头和备忘。
什么是软件project?
从上世纪90年代初起,计算学科(Computing)的发展远远超越了计算机科学的边界,形成了计算机科学、计算机project、软件project、信息系统与信息技术等若干独立学科。计算机project从电子project学科中分离出来,旨在研究计算机硬件的相关project问题,而软件project从计算机科学中的一个学科方向发展成为与之并重的一门独立学科,重点研究怎样以系统的、可控的、高效的方式开发和维护高质量软件的问题。
1.软件project的定义
软件project学科诞生后,人们为软件project给出了不同的定义,比如最早的定义是由F.L. Bauer给出的,即“软件project是为了经济地获得可以在实际机器上高效执行的、可靠的软件而建立和应用一系列坚实的软件project原则”。而美国梅隆卡耐基大学软件project研究所(SEI)给出的定义则是软件project是以project的形式应用计算机科学和数学原理,从而经济有效地解决软件问题。但眼下普遍使用的软件project定义是由IEEE给出的,即软件project是将系统性的、规范化的、可定量的方法应用于软件的开发、执行和维护。
软件project概念实际存在两层含义,从狭义概念看,软件project着重体如今软件过程中所採用的project方法和管理体系,比如,引入成本核算、质量管理和项目管理等,即将软件产品开发看作是一项project项目所须要的系统project学和管理学。从广义概念看,软件project涵盖了软件生命周期中所有的project方法、技术和工具,包含需求project、设计、编程、測试和维护的所有内容,即完毕一个软件产品所必备的思想、理论、方法、技术和工具。
2.软件project的内涵
软件project学科包括为完毕软件需求、设计、构建、測试和维护所需的知识、方法和工具。软件project不局限在理论之上,更重要在实践上,可以帮助软件组织协调团队、运用有限的资源,遵守已定义的软件project规范,通过一系列可复用的、有效的方法,在规定的时间内达到预先设定的目标。针对软件project的实施,不管是採用什么样的方法和工具,先进的软件project思想始终是最重要的。仅仅有在正确的project思想指导下,才干制定正确的技术路线,才干正确地运用方法和工具达到软件project或项目管理的既定目标。
3.软件project是一门交叉性学科
软件project是一门交叉性的project学科,它是将计算机科学、数学、project学和管理学等基本原理应用于软件的开发与维护中,其重点在于大型软件的分析与评价、规格说明、设计和演化,同一时候涉及管理、质量、创新、标准、个人技能、团队协作和专业实践等。从这个意义上看,软件project能够看作由下列3部分组成。
- 计算机科学和数学用于构造软件的模型与算法;
- project科学用于制定规范、设计范型、评估成本以及确定权衡等;
- 管理科学用于计划、资源、质量、成本等管理。
比如,计算机辅助软件project(Computer Aided Software Engineering,CASE)是一组工具和方法的集合,能够辅助软件生命周期各阶段进行的软件开发活动。CASE吸收了CAD(计算机辅助设计)、软件project、操作系统、数据库、网络和更多计算机领域的原理和技术。这个样例也体现了这一点——软件project是学科交叉的、集成和综合的领域。

4.软件project学科范围
假设从知识领域看,软件project学科是以软件方法和技术为核心,涉及计算机的硬件体系、系统基础平台等相关领域,同一时候还要涉及一些应用领域和通用的管理学科、组织行为学科。比如,通过应用领域的知识帮助我们理解用户的需求,从而能够依据需求来设计软件的功能。
在软件project中必定要涉及组织中应用系统的部署和配置所面临的实际问题,同一时候又必须不断促进知识的更新和理论的创新。为了真正解决实际问题,须要在理论和应用上获得最佳平衡。
先进、成熟的软件project思想有哪些?
代码评审的最佳实践
什么是软件project?的更多相关文章
- 备战“软考”之软件project
说到"软件project"就有一种非常纠结的感觉!为什么呢?由于刚进入软考复习阶段,大家都把它放到了"比較"次要的地位,由于已经学过两遍,再加上它没有非常难理解 ...
- 软件project师的属性与发展
工作近十年了.[软件project师] 一直是我职业 title 的中心词,仅仅是前面的修饰语在不断变化,从0基础.中级.高级到资深. 事实上 [软件project师] 是一个非常泛化的定义.工作现实 ...
- 《软件project》课程报告 —国土资源执法监察管理信息系统建模
***********************************************声明*************************************************** ...
- 项目之软件project(我专业四年都未曾知道这四个字的含义,几句话便懂了)
潘鹏在CSDN上原创.如其它站点转载请注意排版和写明出处: 软件project的本质 一级标题 控制 质量 二级标题 成本 扩展 高内聚低耦合 效率 控制: 成本:企业要求的是以最快的速度完毕可 ...
- 面向对象的软件project——面向对象分析
为了解决软件危机.一些IT前辈国产软件project这个词汇,软件project它被引入到整个软件开发过程的维护. 软件project从程序的设计角度能够分为两类.一类是面向结构的软件project. ...
- 软件project(六)——需求分析
需求分析是软件开发期的第一个阶段,是关系到软件开发成败的关键步骤.需求分析的任务就是明白系统必须完毕那些工作,以下是对需求分析这一章做的简要总结. 导图: 解释说明: 我将 ...
- (UML总结三)UML与软件project
学习完UML.我们要把它和之前的软件project结合起来.软件project是从总体的角度说了软件开发的步骤.保证了所开发软件的质量.而UML作为一种统一建模语言.是用来设计软件蓝图的可视化建模语言 ...
- 软件project(一)——宏观总结
曾经看视频,看过去就忘.不想再这样子下去了,所以总结了好久.想让自己忘不了.这个过程花费时间有点长,可是假设让自己忘不了.一切都值了. 以下先来一张导图来总结一下<软件project>这门 ...
- 【软件project】——软工视频总结
软件project是一门研究用project化方法构建和维护有效的.有用的和高质量的软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面. 软工,基本的六阶段:制定计划 ...
随机推荐
- bash常用快捷键和命令
在使用Linux的时候,最常见的终端解释器就是bash了.bash下有很多技巧,我知道这么几个: 0.关于按键模式bash默认的按键模式是emacs风格的.你也可以通过set -i vi设定为vi风格 ...
- 一键复制功能 - Vue
经常遇到一键复制功能,简单记录一下.这里使用的是clipboard插件:https://clipboardjs.com/ 第一步 安装:npm install clipboard --save 第二步 ...
- Aspose.Words 自定义文档模版生成操作类
/// <summary> /// 操作word通用类 LIYOUMING add 2017-12-27 /// </summary> public class DocHelp ...
- svn错误 svnserve.conf:12: Option expected解决办法
经常有新手配置基于svnserve的subversion服务器后,在客户端访问subversion版本库时出现这个错误:svnserve.conf:12: Option expected为什么会出现这 ...
- mysql find_in_set函数详解
Mysql函数FIND_IN_SET()的使用方法 有了FIND_IN_SET这个函数.我们可以设计一个如:一只手机即是智能机,又是Andriod系统的. 比如:有个产品表里有一个type字段,他存储 ...
- js javascript 原型链详解
看了许多大神的博文,才少许明白了js 中原型链的概念,下面给大家浅谈一下,顺便也是为了巩固自己 首先看原型链之前先来了解一下new关键字的作用,在许多高级语言中,new是必不可少的关键字,其作用是为了 ...
- 《Android源码设计模式》--抽象工厂模式
No1: 4种MediaPlayer Factory分别会生成不同的MediaPlayer基类:StagefrightPlayer.NuPlayerDriver.MidiFile和TestPlayer ...
- Qt Creator在Windows上的调试器安装与配置
如果安装Qt时使用的是Visual Studio的预编译版,那么很有可能就会缺少调试器(Debugger),而使用MSVC的Qt对应的原生调试器是CDB(对应MinGW的Qt使用GDB调试器).本文介 ...
- JAVAEE——宜立方商城03:Nginx负载均衡高可用、Keepalived+Nginx实现主备
1 nginx负载均衡高可用 1.1 什么是负载均衡高可用 nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务, ...
- .NET Core2.1下采用EFCore比较原生IOC、AspectCore、AutoFac之间的性能
一.前言 ASP.NET Core本身已经集成了一个轻量级的IOC容器,开发者只需要定义好接口后,在Startup.cs的ConfigureServices方法里使用对应生命周期的绑定方法即可,常见方 ...