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?的更多相关文章

  1. 备战“软考”之软件project

    说到"软件project"就有一种非常纠结的感觉!为什么呢?由于刚进入软考复习阶段,大家都把它放到了"比較"次要的地位,由于已经学过两遍,再加上它没有非常难理解 ...

  2. 软件project师的属性与发展

    工作近十年了.[软件project师] 一直是我职业 title 的中心词,仅仅是前面的修饰语在不断变化,从0基础.中级.高级到资深. 事实上 [软件project师] 是一个非常泛化的定义.工作现实 ...

  3. 《软件project》课程报告 —国土资源执法监察管理信息系统建模

    ***********************************************声明*************************************************** ...

  4. 项目之软件project(我专业四年都未曾知道这四个字的含义,几句话便懂了)

    潘鹏在CSDN上原创.如其它站点转载请注意排版和写明出处: 软件project的本质 一级标题 控制 质量 二级标题  成本  扩展  高内聚低耦合 效率 控制: 成本:企业要求的是以最快的速度完毕可 ...

  5. 面向对象的软件project——面向对象分析

    为了解决软件危机.一些IT前辈国产软件project这个词汇,软件project它被引入到整个软件开发过程的维护. 软件project从程序的设计角度能够分为两类.一类是面向结构的软件project. ...

  6. 软件project(六)——需求分析

           需求分析是软件开发期的第一个阶段,是关系到软件开发成败的关键步骤.需求分析的任务就是明白系统必须完毕那些工作,以下是对需求分析这一章做的简要总结. 导图: 解释说明:        我将 ...

  7. (UML总结三)UML与软件project

    学习完UML.我们要把它和之前的软件project结合起来.软件project是从总体的角度说了软件开发的步骤.保证了所开发软件的质量.而UML作为一种统一建模语言.是用来设计软件蓝图的可视化建模语言 ...

  8. 软件project(一)——宏观总结

    曾经看视频,看过去就忘.不想再这样子下去了,所以总结了好久.想让自己忘不了.这个过程花费时间有点长,可是假设让自己忘不了.一切都值了. 以下先来一张导图来总结一下<软件project>这门 ...

  9. 【软件project】——软工视频总结

    软件project是一门研究用project化方法构建和维护有效的.有用的和高质量的软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面. 软工,基本的六阶段:制定计划 ...

随机推荐

  1. 美团外卖商家获取订单-signToken取值

    需要抓取美团历史订单,请联系QQ:858-048-581所需工具: findller chrome 获取外卖历史订单地址为: http://e.waimai.meituan.com/v2/order/ ...

  2. GUC-12 ScheduledThreadPool

    import java.util.Random; import java.util.concurrent.Callable; import java.util.concurrent.Executors ...

  3. LAMP环境使用Composer安装Laravel

    安装Composer 因为使用的Ubuntu服务器,所以我们使用apt安装: 1 $ sudo apt install composer 安装Laravel 首先创建一个项目目录,进入新目录使用Com ...

  4. webview内部跳转判断

    重写webview内的方法 webView.setWebViewClient(new WebViewClient() { @Override // 在点击请求的是链接是才会调用,重写此方法返回true ...

  5. MapReduce与批处理------《Designing Data-Intensive Applications》读书笔记14

    之前的文章大量的内容在和大家探讨分布式存储,接下来的章节进入了分布式计算领域.坦白说,个人之前专业的重心侧重于存储,对许多计算的内容理解可能不是和确切,如果文章中的理解有所不妥,愿虚心赐教.本篇将和大 ...

  6. 五、django rest_framework源码之版本控制剖析

    1 绪论 Djangorest_framework的版本控制允许用户更改不同客户端之间的行为,且提供了许多不同的版本控制方案.版本控制由传入的客户端请求确定,可以基于请求URL,也可以基于请求标头. ...

  7. 美团在O2O场景下的广告营销

    美团作为中国最大的在线本地生活服务平台,覆盖了餐饮.酒店.旅行.休闲娱乐.外卖配送等方方面面生活场景,连接了数亿用户和数百万商户.如何帮助本地商户开展在线营销,使得他们能快速有效地触达目标用户群体提升 ...

  8. iOS 11开发教程(十二)iOS11应用视图始祖——UIView

    iOS 11开发教程(十二)iOS11应用视图始祖——UIView 在Swift中,NSObject是所有类的根类.同样在UIKit框架(UIKit框架为iOS应用程序提供界面对象和控制器)中,也存在 ...

  9. Java并发(十七):ConcurrentHashMap

    先做总结: 1.HashMap HashTable ConcurrentHashMap HashMap:线程不安全 HashTable:线程安全,每个方法都加了 synchronized 修饰.类似 ...

  10. 模板 快速询问GCD

    快速询问两个数的GCD 我觉得只有智障会卡这个玩意儿-- const int maxn = 1e6; const int Sqrt_N = 1e3; int pre[maxn + 1] , decom ...