今天将“软件測试和质量专栏”改为“软件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师周兆熊给IT学子的倾情奉献

    软件project师周兆熊给IT学子的倾情奉献 [来信] 贺老师: 你好,我是中兴通讯的一名软件开发project师,名叫周兆熊. 近期看了您的新书<逆袭大学:传给IT学子的正能量>,感觉 ...

  3. Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结

    Atitit.  高级软件project师and 普通的差别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握经常使用的概念(ORM,IOC.AOP,eve ...

  4. 专业化本地项目管理软件-project提供下载

    project2019是一款高效实用的专业化本地项目管理软件,project2019官方版功能强劲,为用户提供了任务.报表和商业智能等管理功能,project2019软件便捷好用,可以帮助你将自己的团 ...

  5. 项目计划软件 project安装包的下载和安装教程

    目录 简介 安装配置过程 总结: 简介 Project是由微软公司开发的项目管理软件,旨在帮助个人和团队有效地管理项目进度.资源分配.协作和报告等工作,从而提高项目的质量和效率.Project维护项目 ...

  6. 项目管理软件project下载安装配置图文教程

    目录 前言 配置安装过程 总结 前言 Project是一种计划.组织和管理任务的工具,通常用于团队协作和项目管理.它可以帮助用户创建任务列表.分配任务.设置截止日期.跟踪进度.分析数据等.Projec ...

  7. Keil软件Project显示隐藏.h头文件的方法

    在Project内的任意文件夹或文件上点击右键,选择Show Include File Dependencies,.c文件边上就会出现+号,可以查看.h头文件,相反,取消选择就可以隐藏.h头文件

  8. 计算机项目管理优先网络图,计算机基础第13章 项目管理工具软件Project 2016.pptx...

    计算机基础(第4版);计算机基础;13.1 项目的启动;13.1.1 Project 2016界面概述 启动Project?2016后,用户首先进入欢迎界面,用户可根据要创建的文档类型不同,选择合适的 ...

  9. 没人比程序猿更讨厌软件

    原文作者:Jeff Atwood 几个月前.我们买了一台新的数码相机,为的是更好地记录我们家小宝贝的成长过程.採购的事情由我太太负责. 她小心地打开相机的包装盒,给相机装上电池.然后就開始了首次试拍. ...

最新文章

  1. 广东计算机好的2a学校,广东专插本2A院校排名情况
  2. Linux中W与Who命令的使用
  3. html自定义鼠标右键,js自定义鼠标右键的实现原理及源码
  4. mysql更新代码_mysql update语句的用法
  5. 直播回顾:准确性提升到 5 秒级,ssar 独创的 load5s 指标有多硬核?| 龙蜥技术
  6. 用php实现Google /Baidu Ping服务快速收录
  7. 5. 使用字符串库函数
  8. 说说VNode节点(Vue.js实现)
  9. arduino nano实现Ps2手柄控制舵机旋转至任意角度
  10. DXR 实时光线追踪技术概览
  11. <hr> 标签:定义水平线
  12. IDEA全局配置图文教程
  13. 计算机英语教案模板,优秀全英文教案模板
  14. ESP8266利用Bliker、小爱同学和本地按钮控制4路开关
  15. 阿里旺旺自动回复工具开发二
  16. [Swift]LeetCode810. 黑板异或游戏 | Chalkboard XOR Game
  17. TextView设置SpannableString 添加图片和点击事件(仿微信点赞列表)
  18. NP=P,一种解决方案
  19. 【Unity3D进阶4-4】Unity3D AR的开发
  20. 看尚电视adb安装当贝桌面,并开机自启

热门文章

  1. centos开放端口
  2. HackerRank python练习——Chocolate Feast
  3. 如何在Adapter中正确的使用Context
  4. Delphi xe3 下配置 MAC OS X 编程调试模式
  5. android传感器 列表,android获取传感器列表
  6. 生活中的技术——从数学的角度量化计算征友的满意度,just funny:)
  7. 琼脂糖结合双孢蘑菇凝集素(ABL);Agarose bound-ABL
  8. 画论42 茅一相《绘妙》
  9. 简单实用的铁道部12306.cn网站自动化登录( 更新版 )
  10. Java创建二叉树,并使用递归算法求二叉树中叶子结点的数目