当前位置:
首页 > 教材教辅 > 中职/高职 > 软件项目开发与管理案例教程pdf/doc/txt格式电子书下载

软件项目开发与管理案例教程pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

软件项目开发与管理案例教程pdf/doc/txt格式电子书下载

书名:软件项目开发与管理案例教程pdf/doc/txt格式电子书下载

推荐语:

作者:牛德雄著

出版社:电子工业出版社

出版时间:2014-02-01

书籍编号:30467707

ISBN:9787121223648

正文语种:中文

字数:102908

版次:1

所属分类:教材教辅-中职/高职

全书内容:

软件项目开发与管理案例教程pdf/doc/txt格式电子书下载







前言


教育部十六号文件《关于全面提高高等职业教育教学质量的若干意见》明确指出要“加强素质教育,增强学生的职业能力,加大课程建设与改革的力度”。本书尝试摒弃传统软件工程的学科性教学,围绕软件开发需要的职业能力培养,组织与设计教学内容。


传统的软件教学重点在知识与技术教学,其不足主要表现在:概念与理论知识多、力求知识理论体系的完善;软件开发技术、方法的教学针对性不强;每个软件的开发过程中,各阶段间的过渡技术显得脱节;教学内容对程序编码的指导作用不明显等。所以,学生难以理解与领悟其中的内容,特别在实际操作上难以做到学以致用。另外,软件开发与管理模式灵活多样,知识体系庞大,要完整掌握难度大。


针对上述问题,笔者在进行教学内容设计时,分析高职学生的特点,以软件开发专业人才应知应会的知识、能力作为培养目标,并围绕这些目标进行教学内容的设计。本书教学内容的设计具有以下特点:


● 内容的取舍以实用为原则,为职业能力培养目标服务。


● 以软件开发过程典型工作任务为重点,力争在技术上连贯。


● 教学情境的设计深入浅出,以任务驱动的形式组织教学,使学生容易消化。


● 加强各阶段教学内容在技术层面的衔接,突出了软件设计到编码技术上的过渡。


● 内容组织中,体现了“项目导向、任务驱动”的教学。突出展现了软件开发引导案例的技术连贯及其实现,再通过它突出体现软件开发的重要理论知识。


● 整个教学内容以一个项目(物流系统)为载体,将软件开发的理论、方法、工具、开发过程等融为一体。最后一章还提供这些案例的完整文档,让读者(特别是软件专业的学生)能掌握软件开发报告的编写。


软件开发过程主要有需求分析、软件设计、编码与测试、软件维护等活动,它们构成了软件开发过程的主要任务阶段。但是这些活动之间的组织不是简单线性的,它们之间的组织关系非常灵活,有多种经典模式。这就是为什么这些内容在实际开发中难以被掌握的原因。


软件开发各重要阶段的教学,就是本课程的教学重点内容,其实它们又是教学难点内容。这些教学内容及它们在技术层面的过渡往往被以前的教材忽略,或连贯性不强。本书以项目为导向,通过任务驱动组织这些内容,从而解决了上述重点与难点的教学内容及衔接问题。


另外,本书的组织利于软件开发人员的学习。比如第1~3章,目的是培养学生了解软件开发过程,让初学者知道软件是如何开发的,使学生掌握软件编码前的一些概念,并掌握传统需求分析、软件设计的过程与基本方法。而后续第4、5章是面向对象的方法,学生在已学习需求分析和软件设计的基础上,采用流行的面向对象的方法进行需求、设计与建模,并体现了面向对象的设计向面向对象编码技术上的过渡。第6章介绍了软件的编码与实现,在软件的编码过程中,测试非常重要,只有通过测试才能得到实用软件。第7章介绍了软件使用中的维护。第8章则通过一个软件开发案例,综合应用前面介绍的面向对象软件开发方法,介绍软件开发的过程及文档的编写。


本书条理清晰、内容实用、技术连贯;书中内容的表述力争做到深入浅出,使易混淆的概念、方法等容易被理解与掌握。本书内容的过渡在技术上连贯,体现了“项目导向、任务驱动”的教学,利于培养学生的软件开发能力。本书内容有助于软件开发其他课程的学习与借鉴。


本书由广东科学技术职业学院的牛德雄、龙立功担任主编,其中,第1章、第4章、第5章由牛德雄、龙立功编写;第2章、第3章由杨叶芬编写;第6章由熊君丽编写;第7章由扶卿妮编写;第8章由牛德雄、施茂航编写。另外,魏云柯设计了本书所用到的图,移动中心教学企业顶峰公司参与了教材内容的设计。在此一并表示感谢。


为了方便教师教学,本书配有电子教学课件及相关资源,请有此需要的教师登录http://61.145.231.44:8080/skills/solver/classView.do?classKey=5560098教材网站,在“课程资源”的教材资源、教学课件、教学案例处下载;或到华信教育资源网(www.hxedu.com.cn)免费注册后下载,如有问题,可在网站留言板留言或与电子工业出版社联系(E-mail:hxedu@phei.com.cn)。


目前,国内外关于软件工程、软件开发与管理方面的资料非常多,新理论、新技术层出不穷。如何更好地取舍与组织适合高职学生教学的内容需要不断探索。由于时间仓促,书中难免存在疏漏和不足,恳请同行专家和读者能给予批评和指正。


编者


第1章 软件开发与管理概述


学习目标


[知识目标]


■ 理解程序、软件、系统3个层次概念及其区别。


■ 理解程序设计、软件开发、系统应用3个层次的活动。


■ 了解软件开发过程主要阶段的概念与任务,包括需求分析、软件设计、编码实现、软件测试和软件维护等阶段。


■ 了解几种常见的软件开发模型。


■ 了解软件的结构化开发方法、面向对象开发方法。


■ 了解软件开发辅助工具的相关概念。


■ 了解软件项目管理内容和制作项目进度计划。


■ 了解软件质量、质量管理及质量保证体系相关内容。


[能力目标]


■ 能将软件项目按软件开发过程分解任务,并进行任务管理安排。


■ 能用Microsoft Project制作项目开发进度计划,并打印出进度表。



1.1 软件与软件开发概述



1.1.1 程序、软件与系统


刚开始学习软件时,一般先是学“程序”的设计。但程序与软件是一回事吗?


程序是计算机执行代码组成的指令集。读者在刚开始学习程序设计时,往往是先学程序设计基础知识,了解程序设计思想及逻辑算法的概念。但随着学习的深入,逐步到了具有一定“实用”价值的软件开发阶段,这时需要进一步学习软件开发的理论、过程规范等。


从学习阶段来讲,程序设计是软件设计学习的初期阶段;从软件组成来讲,程序设计是软件开发的部分。软件中的各个程序,是整个软件系统的有机组成部分,在软件的运行过程中,它们之间可能需要进行复杂的交互。这也说明了软件的结构复杂,软件开发与管理难度大。


1.软件相关概念


计算机软件又称“软件”,是相对于计算机“硬件”的概念,它是具有可用性的逻辑“物品”,也是一种“产品”。计算机软件是具有使用价值的计算机(软件)产品的一个完整配置。


从产品构成上来说,软件由下面3个部分组成:


(1)程序代码。


(2)软件文档。


(3)数据结构和数据。


这3个部分的组成,构成了完整的软件,程序代码只是软件的部分组成。而程序代码又是由各个部分的程序代码组成的一个整体,人们很容易将这个程序代码与软件概念等同。程序代码和软件的关系如图1.1所示。

软件项目开发与管理案例教程pdf/doc/txt格式电子书下载

图1.1 软件与程序代码的关系

这些程序代码整体,再加上软件文档、数据结构与数据等构成了软件的配置,也就是该软件。软件的开发,需要基于这些配置才能有效顺利地进行。软件开发的理论与方法是人们经历了长期的实践与探索才形成的一个较完整的体系。即从早期的程序设计的五花八门,到现在的软件工程思想、技术方法,再到软件开发标准规范,逐步形成了现代的软件开发与管理理论。


系统是指为某个目标而有机地结合的一个较完整的整体,如硬件系统、软件系统、应用软件系统、财务软件系统等。系统具有“生命”与“边界”;系统的结构是由各相互合作的子系统组成的。系统的运行需要硬件条件与软件条件,是在人的操作下进行的。软件系统是计算机系统的一个必要组成部分。


程序、软件、系统(软件)是既有区别又有联系的概念,有着各自不同的范畴与知识领域,且理解角度不同。在学习软件开发时,要立足软件的范畴与体系,围绕“软件产品”的结构、功能、设计与实现过程等各方面知识与技能。


2.软件的特点


软件相对于硬件来说,具有以下特点:


(1)软件是逻辑的,而不是物理的产品。因为逻辑实际只存在于人的头脑当中,所以软件的开发过程极难控制。


(2)软件是由人开发形成的,没有明显的制造过程。软件成本集中于“开”上,因而软件项目不能完全像硬件制造项目那样来管理。


(3)软件由人的“开发”劳动而成,到目前为止,软件开发尚未完全摆脱人的手工方式。所以,个人因素在软件开发过程中所占的重要性比重很大。


(4)软件成本相当高,具体包括开发费用和维护费用。


(5)软件本身是复杂的,维护困难且维护成本高。


软件的特点决定软件的开发与管理复杂。


3.程序设计、软件开发与系统应用与支持


软件设计开发的学习是从程序设计开始的。这时程序设计的规模较小,实现的目标少、实用性不高。随着软件开发知识的深入,进入软件设计与开发领域知识与技能的学习。


程序设计是程序级代码的设计与实现,主要体现在程序处理过程中逻辑的设计与实现上,其相当于软件设计中的“详细设计”。而软件设计不是简单的程序设计的叠加,各个程序之间是有机联系的。由于软件设计复杂,规模大,一般软件设计需要一个宏观蓝图的规划,即所谓的“总体设计”。通过总体设计将复杂的大问题分解成小问题,直到软件中程序代码的设计(即详细的设计)。软件开发还包括需求分析、编码实现与软件测试等阶段。


所以,程序设计是在软件的“整体”结构下的各有机组成部分的程序代码的设计。


例如:一个财务管理软件,它包括该软件的程序代码、使用文档、数据与数据库等;而程序则是该软件中以可执行的程序文件、源程序文件等;而安装使用后,便与计算机硬件、网络等构成一个财务管理系统,而运行的财务软件部分则称为财务系统软件。


软件开发的最终产品是可供应用的软件系统。软件系统能为用户提供一定的应用服务。系统运行与应用对应的工作岗位有:软件系统实施、用户培训、系统操作、系统维护、系统技术支持等。


表1.1为软件开发各阶段特征及工作任务类型。

表1.1 程序设计、软件开发和系统支持的区别

软件项目开发与管理案例教程pdf/doc/txt格式电子书下载


1.1.2 软件开发的特征


1.软件的设计与开发的复杂性特征


如前所述,软件本身是个复杂体,软件的设计与开发也是个复杂的过程。


软件设计与开发的复杂性特征:


(1)软件要满足用户的使用需求,软件的设计要从用户需求开始。


(2)软件设计开发常常是多人组成的团队进行的复杂工作,需要团队成员之间进行交流与合作。


(3)软件开发“文档”在项目的开发与管理中是一个基础性内容,文档是团队成员交流与合作的基础,也是管理与规范的基础。


(4)软件的开发需要通过对项目的管理与控制,使各方面工作秩序化。


(5)某个软件开发团队的模式相对稳定,是由该团队的成员特点共同决定的,但团队的管理水平和能力有不同的层次,需要不断地改进。


(6)软件的质量是软件设计与开发的生命。


2.软件文档及其作用


软件开发知识:软件开发文档


在软件开发中,团队成员之间进行技术交流、分析与设计的表达、管理计划与过程控制、技术资料归档等,均需要软件文档。软件文档在软件开发过程中起着非常重要的作用。初学者开始时感觉不到软件文档的重要性,觉得它是可有可无的。但随着软件开发的深入,文档的重要性就会逐步体现出来。


软件文档包括开发文档、产品文档、管理文档3类。


(1)开发文档是描述开发过程本身的文档,如需求分析文档、软件设计文档、软件测试文档等。


(2)产品文档是描述开发过程的产物,如培训手册、用户指南、产品手册、产品宣传册或广告等。


(3)管理文档是记录项目管理的过程信息,如开发过程的每个阶段的进度和进度变更的记录、软件变更情况的记录、开发阶段评审记录、职责定义等。


软件文档具有以下作用:


(1)软件文档是软件项目管理的依据。


(2)软件文档是软件开发过程中各任务之间联系的凭证。


(3)软件文档是软件质量的保证。


(4)软件文档是用户手册、使用手册的参考。


(5)软件文档是软件维护的重要支持。


(6)软件文档是重要的历史档案。


软件开发所涉及的文档主要有以下几种。


(1)可行性研究报告。


可行性研究报告说明该软件在技术上、应用上、经济上是否可行,即是否值得开发、是否开发得出、是否违背社会法律和人们的道德规范,如果可行则应该怎样开发等,供决策者参考。


(2)项目开发计划。


项目开发计划是指为软件项目实施制定出具体的计划,该计划包括各部分工作任务的负责人员、开发进度、开发经费预算、所需要的硬件和软件资源等。


(3)软件需求说明书。


软件需求说明书也称软件规格说明书,是对所开发软件的功能、性能、用户界面、运行环境等作出的详细说明。它是用户与开发人员双方对软件需求取得的共同理解和协议,通过该文档确定下来并作为今后开发工作的基础。


(4)数据要求说明书。


数据要求说明书对数据的逻辑结构及各数据项的描述,以及对数据采集、数据约束的各项要求的说明,为今后生成和维护数据库、数据文档做准备。


(5)概要设计说明书。


概要设计说明书是软件概要设计阶段的工作成果,是软件总体设计内容,它说明功能分配、模块划分、程序总体结构、输入/输出以及接口设计、运行设计、数据结构设计、出错处理设计等,为详细设计奠定基础。


(6)详细设计说明书。


详细设计说明书描述每一模块内部是如何实现的,包括实现算法、逻辑处理流程等。


(7)用户手册。


用户手册详细描述使软件正常运行的步骤,以及软件的功能、性能、用户操作界面,使用户了解如何使用该软件。


(8)操作手册。


操作手册为操作人员提供了该软件各种运行情况的有关知识,特别是操作方法的具体细节、注意事项等。


(9)测试计划。


为做好各种测试,需要为如何组织测试制定实施计划。计划应包括测试的内容、进度、条件、人员、测试用例等,并且包括各测试用例的执行步骤及预期结果和运行的偏差范围等。


(10)测试分析报告。


测试用例执行完后,通过编写测试计划执行情况的说明,对测试结果予以分析,并提出测试结论意见,形成测试分析报告。


(11)项目开发总结报告。


软件项目开发完成之后,通过总结软件开发执行情况,如进度、成果、资源利用、成本和投入的人力等进行总结,为今后的开发提供借鉴。同时还对整个开发工作进行评价,总结出经验和教训,以不断提高团队的能力。



1.2 软件开发


软件开发是个复杂的工作任务,且其中包括多个领域的知识,主要有以下几个方面:软件开发过程、软件开发方法、软件开发工具、软件项目管理等。



1.2.1 软件开发过程


软件的开发不同于程序阶段的开发,它是个复杂的系统工程。虽然软件开发是逻辑产品的创造过程,没有一个明显制造过程的特点,但在开发工作过程中的主要工作任务是明确的,即包括:需求分析、软件设计、编码实现、测试、项目管理等。这些任务有着各自明确的内容,它们之间内容虽不同但却相互联系与衔接,形成复杂的工作流程,这个复杂的工作流程就是所谓的软件开发过程。软件开发过程一般不是一个固定的模式。不同的相互衔接模式,构成了软件开发的工作过程的不同模型。


软件开发过程从问题定义,再到需求分析、软件设计、编码实现、软件测试,直到交付使用,最简单的过程如图1.2所示。


软件开发过程中的各个任务阶段之间的关系,不是一种简单的流程,如有线性的瀑布式、有螺旋上升的迭代式等。

软件项目开发与管理案例教程pdf/doc/txt格式电子书下载

图1.2 简单的软件开发过程示意

1.软件开发过程的主要任务活动


软件开发知识:软件开发的工作任务


软件开发不只是程序编码工作,它还包括需求分析、软件设计、编码、软件测试、软件维护等工作任务。


软件开发过程一般包括的任务活动有:问题定义、需求分析、软件设计、编码实现、软件测试、软件维护等。


(1)问题定义。


从高层次了解“用户要计算机和软件做什么”,确定软件的功能及边界。只有了解了计算机和软件要干什么,才能安排好下一步的工作。该工作一般由系统分析师根据调研现实情况,通过精确的文字陈述出来。


(2)需求分析。


需求分析的任务是精确地描述软件系统必须“做什么”,确定系统具有哪些功能。该任务是由需求分析师通过分析得到软件的需求,并通过需求分析文档精确地表达出来。该文档是下一步软件设计的基础。


(3)软件设计。


软件设计的任务是软件设计师将软件要做的功能,即上一步的软件需求转化为要做的内容与规划蓝图,以设计文档的形式表现出来。软件设计回答“怎么做”的问题,包括宏观与结构层面的设计,以及各程序内部处理过程的设计,即所谓的概要设计和详细设计。


(4)编码实现。


编码实现是程序员将上一步的软件设计蓝图,通过某种程序语言一个一个地完成软件的程序代码,然后将它们集成起来形成一个可使用的完整软件。


(5)软件测试。


软件测试是测试员将已经编写好的软件进行操作以发现问题。测试员测试的主要依据是软件需求、软件设计等。软件测试是软件质量保证的重要手段,测试要尽可能地发现软件中的问题,这是个非常复杂的工作,测试一般包括单元测试、集成测试、验收测试等。


(6)软件维护。


软件维护是软件交付使用后,为了保证软件正常的使用,以及满足用户使用时的各项要求而进行的维护工作。一般来说,如果软件在没被废弃前,都需要进行软件维护。


其实,上述各阶段任务是对要开发的“软件”的一个层次的抽象与描述。每个阶段需要上一阶段作为输入,再加上本阶段任务的“工作”,便是后续阶段的输入。软件开发各个阶段的任务,需要一直做到用户使用满意为止。


软件开发各阶段中的任务和要完成的工作内容如表1.2所示。

表1.2 软件开发任务对应的角色、职责

软件项目开发与管理案例教程pdf/doc/txt格式电子书下载

2.软件开发过程模型


软件开发知识:软件开发过程模型


不同的软件开发企业可能采取不同的开发过程方式,并形成了相对固定的开发模式,这些相对固定的开发模式称为软件开发过程模型。这些过程模型有:瀑布模型、快速原型模型、增量模型、螺旋模型、统一过程模型等。


软件开发各个阶段任务,是从产品的提出到开发完成并进行应用。但各工作阶段任务之间的连接不是完全相同的,有线性的、递增的、迭代的、螺旋上升等不同情况,即所谓的不同软件开发过程模型,如图1.3~图1.6所示。

软件项目开发与管理案例教程pdf/doc/txt格式电子书下载

图1.3 线性的瀑布模型

软件项目开发与管理案例教程pdf/doc/txt格式电子书下载

图1.4 快速原型模型

(1)瀑布模型。


瀑布模型是将软件开发过程的各个阶段任务规定为自上向下的线性过程,按照这种线性顺序连接的软件开发过程模型。该模型利于传统的结构化开发方法,但缺乏灵活性,用于解决由于需求的不确定性和不准确性带来的问题非常困难。

软件项目开发与管理案例教程pdf/doc/txt格式电子书下载

图1.5 增量模型

软件项目开发与管理案例教程pdf/doc/txt格式电子书下载

图1.6 螺旋模型

(2)快速原型模型。


通过先快速建立反映用户需求的原型,以便与用户更好地沟通,准确全面地获取用户的需求。快速原型直观且利于反复修改。当通过快速原型准确全面地获得用户需求后,则可以进行正式开发,既可以在原型的基础上修改完善,也可以完全抛弃该原型,重新进行开发。


(3)增量模型。


增量模型是通过逐步提交软件可操作的软件部件的开发过程。在该模型中,软件是通过一个个增量部分“逐渐”开发出来并提交使用的。用户对每个增量的使用和评价都可作为下一个增量或版本需要完善的任务,这个过程在每个增量提交后不断重复,直到最终产品的完成。增量模型具有较大的灵活性,适合软件需求不确定的或有较大风险的软件项目。


(4)螺旋模型。


螺旋模型是将软件开发的需求分析、软件设计、编码实现、软件测试进行循环迭代开发。每一次迭代都在前次迭代的基础上再进行分析、设计、编码和测试工作。在进行迭代时,要经过重新需求定义、风险分析,再进行工程实现,以供用户评估的过程。每一次迭代既是对上一次迭代的完善与提升,也是下一次迭代的基础与前提。


(5)统一软件开发过程(UP)模型。


UP是一种开放式的软件工作过程。它是通过需求和风险驱动,以软件构架为中心的迭代和增量方法。每次迭代都具有需求、分析、设计、实现、测试等核心工作。强健的软件架构和设计,能避免源程序的无序堆砌;迭代和增量方法能避免一些风险。每一次迭代都通过任务驱动,如需求、风险等。UP模型综合应用各种方法、技术、过程,以UML为整个开发过程的视图工具,将整个过程作视为一个统一综合体。


UP是通用的软件开发过程,在使用时必须为软件开发组织定制,然后为每个项目定制。因为所有的项目都不同,如果教条地使用UP方法并不能很好地工作。



1.2.2 软件开发方法学和软件工程


软件开发知识:软件开发方法


软件开发方法可以认为是用一套已定义好的某种技术集和工具来组织软件开发的过程。人们在软件开发中创建了很多种方法,并逐步形成了两种方法体系,即传统的结构化软件开发方法和面向对象的软件开发方法。


1.软件开发方法学


软件开发领域除了编码,以及分析、设计、测试等技术方面外,还有管理,体系非常复杂、庞大。为了保证软件开发的成功,人们探索了一些软件开发的方法,它们对软件产业的发展起到了不可估量的作用。


软件开发方法是人们用已经定义好的技术集和工具表示来组织软件生产过程的方法。其方法一般表示一系列的步骤,每个步骤都与相应的技术和符号相关。软件开发方法又称软件工程方法学,它是通过某种工程步骤、方法、工具形成的一种相对固定的工程与方法体系。


软件开发方法学包括两大类:传统的软件开发方法、面向对象的开发方法。


传统的软件开发方法又称结构化开发方法、面向过程的软件开发方法,它用结构化方法进行分析、设计、实现、测试、维护,并分别用结构化模型建立分析模型、设计模型。


面向对象的开发方法是以对象作为基本元素构建系统的方法,如面向对象方法分析阶段建立面向对象分析模型,设计阶段建立面向对象设计模型,开发语言采用面向对象程序设计语言。


采用面向对象程序设计语言,如Java语言编写程序,并不能说明采用的是面向对象的方法,因为完全可能采用传统的结构化方法的需求分析模型、软件设计模型,实现阶段采用面向对象语言。由于传统方法的各个过程的元素(以模块为单位)相关性不强、差异性大,这也是其成功率不高的原因;而面向对象的各个过程都是以“对象”的概念相关联,具有许多优点,利于修改与维护,软件开发成功率高。


传统的软件设计以“模块”为单位,常以面向对象的编码语言实现这些“模块”及“模块”之间的交互关系。面向对象的软件设计主要以“系统”与“对象”为单元,并以面向对象的编码语言实现。


两种方法的优缺点:模块与编码语言的元素没有对应,各个阶段的过渡难,各阶段之间容易“失真”。类与对象在面向对象的各个阶段都是一致的概念,所以面向对象开发的各个阶段过渡容易。


(1)传统的软件开发方法采用结构化模型,即结构化分析模型、结构化设计模型工具来给软件建模。


(2)面向对象软件开发方法采用面向对象模型,即面向对象分析模型、面向对象设计模型工具给软件建模。


2.软件工程相关概念


软件开发方法学中,除了技术方面(如分析技术、设计技术、编码技术、测试技术等)外,还有软件开发管理。而软件开发管理就是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源(如人力资源、软硬件资源等),使工作有序地进行,以逐步达到既定开发目标。


软件工程的定义:采用工程的概念、原理和方法来开发和维护软件,把经过时间考验而证明的正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。


在软件开发过程中,技术和管理都非常重要,二者缺一不可。但长期以来,在实际工作中,重视技术得多,对过程管理重视得少。特别是对于大型的软件开发,没有好的过程管理,团队的开发容易处于无序状态,很难保证开发的进度与质量。



1.3 软件项目管理内容


通过软件分析与设计,从技术上将要做的任务搞清楚后,下面就是执行的问题了。技术和管理是软件开发过程中不可或缺的两个方面。


技术是软件开发过程中分析、设计、实现、测试、维护等采取的各种技术、方法,以完成所分配的任务。但这些工作任务能否有条不紊地顺利进行,还需要管理来加以控制。通过软件项目管理能保证在软件开发过程中有秩序地达到目标。软件项目管理贯穿于软件开发的始终。


例如通过软件设计,绘制了工作蓝图与要做的任务,技术上指导了开发的秩序化,但实际工作过程中,需要管理进行控制与落实。


所谓“项目”,是指在一定约束条件下(如人力、时间、资金、环境等)具有特定目标的一项要完成的一次性任务。而“项目管理”则可认为是在一个确定的时间范围内,为了完成一个既定目标,通过特定的临时性运行组织,有效地计划、组织、领导和控制,充分利用既有资源的一种系统管理方法。通过项目管理,使得该组织能有序地完成任务。


软件开发知识:项目的要素


根据“项目”的定义,项目主要包含要完成的任务、限定的时间、需要的成本、利用的资源等几个方面要素。


所以,软件项目管理则是在软件开发过程中,将项目进行分解、细化成不同的相互衔接的工作任务,通过制定计划、分配相应的人员和其他资源,进行监督、跟踪、协调与控制,使项目组织有序地工作,直至项目完成的过程与活动。


因此,项目管理有:任务活动、时间、资源、成本等要素。其中,定义与分解任务活动、安排活动、估算活动资源是进行有效项目管理的关键。


引导案例:确定软件项目管理内容


软件项目管理内容主要包括:


(1)制定项目进度计划。


(2)人员的组织与安排。


....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示