《软件项目管理教材(PPT 39页)》由会员分享,可在线阅读,更多相关《软件项目管理教材(PPT 39页)(39页珍藏版)》请在金锄头文库上搜索。
1、LOGO软件项目管理软件项目管理求实创新求实创新课程安排(课程安排(08级)级)v课堂授课:课堂授课:915915周,周一三五,周,周一三五,4242学时学时v实验:实验:11151115周,周五周,周五7-87-8,606606实验室实验室v考试方式:闭卷考试方式:闭卷课程目的课程目的v了解软件项目管理的知识范畴了解软件项目管理的知识范畴v掌握软件项目管理的基本方法掌握软件项目管理的基本方法v理解软件项目管理的重要性理解软件项目管理的重要性课程内容课程内容v项目管理项目管理v软件项目管理知识范畴软件项目管理知识范畴v软件项目全生命周期的阶段划分软件项目全生命周期的阶段划分v软件项目启动阶段的
2、知识与管理软件项目启动阶段的知识与管理v软件项目需求分析阶段的知识与管理软件项目需求分析阶段的知识与管理v软件项目设计阶段的知识和管理软件项目设计阶段的知识和管理v软件项目编码阶段的管理软件项目编码阶段的管理软件项目管理软件项目管理课程内容(续一)课程内容(续一)v软件项目测试阶段的管理软件项目测试阶段的管理v软件系统试运行阶段的知识和管理软件系统试运行阶段的知识和管理v软件项目验收软件项目验收v软件项目综合分析与评价软件项目综合分析与评价软件项目管理软件项目管理课程内容(续二)课程内容(续二)v软件项目全局化管理思想软件项目全局化管理思想v软件项目的风险分析与评估软件项目的风险分析与评估v软
3、件项目快速开发方法软件项目快速开发方法v软件项目支持工具软件项目支持工具v软件项目管理案例分析软件项目管理案例分析软件项目管理软件项目管理教材与参考书教材与参考书v教材:软件项目管理教材:软件项目管理 主编主编 薛四新薛四新 贾郭军贾郭军 机械工业出版社机械工业出版社 2004.52004.5v参考书一:软件项目管理案例教程(参考书一:软件项目管理案例教程(2 2版)版) 韩万江韩万江 姜立新姜立新 编著编著 机械工业出版社机械工业出版社 2009.42009.4v参考书二:软件项目管理参考书二:软件项目管理 (英)(英)Bob Hughes Mike Cotterell Bob Hughes
4、 Mike Cotterell 著著 机械工业出版社机械工业出版社 2010.72010.7软件项目管理软件项目管理内容要点内容要点软件软件项目项目管理管理主要概念主要概念习题习题计算机解决哪些问题计算机解决哪些问题v计算问题计算问题v业务处理业务处理v人类生活人类生活软件软件计算问题计算问题v计算机是为弹道计算而发明的计算机是为弹道计算而发明的 v最早的高级程序设计语言是最早的高级程序设计语言是FortranFortran,主,主要用于编写计算程序要用于编写计算程序v机械设计制造、建筑、航空、航天、气机械设计制造、建筑、航空、航天、气象等广泛领域有大量的计算问题需要解象等广泛领域有大量的计算
5、问题需要解决决软件软件计算机解决哪些问题计算机解决哪些问题 业务处理业务处理vCobolCobol语言的诞生,解决业务处理问题,语言的诞生,解决业务处理问题,制造了制造了Y2KY2K( Year 2000 Year 2000,千年虫)问题,千年虫)问题v计算机应用领域:金融(银行、证券、计算机应用领域:金融(银行、证券、保险)、政府、企业(保险)、政府、企业(ERPERP)、通信行业、)、通信行业、物流行业(超市、便利店)物流行业(超市、便利店)vERPERP:物资资源管理、人力资源管理、财:物资资源管理、人力资源管理、财务资源管理、信息资源管理务资源管理、信息资源管理v其他:航空票务、酒店预
6、订、铁路票务、其他:航空票务、酒店预订、铁路票务、电子商务电子商务软件软件计算机解决哪些问题计算机解决哪些问题 人类生活人类生活v通信交流(电话、短信、邮件、通信交流(电话、短信、邮件、IMIM) v新闻媒体(网站、网络广播、网络电视、网络新闻媒体(网站、网络广播、网络电视、网络新闻视频)新闻视频)v教育(文化教育、职业教育)教育(文化教育、职业教育)v娱乐(音乐、电影、游戏)娱乐(音乐、电影、游戏)v个人业务(网络银行、手机银行、股票基金交个人业务(网络银行、手机银行、股票基金交易、网络购物)易、网络购物)v读书兴趣爱好(阅读软件,读书网站、论坛、读书兴趣爱好(阅读软件,读书网站、论坛、博客
7、、微博)博客、微博)v运动健康(运动游戏、体感游戏)运动健康(运动游戏、体感游戏)v人际交往(社区网络人际交往(社区网络) )软件软件计算机解决哪些问题计算机解决哪些问题 软件基本概念软件基本概念v应用软件(应用软件(Application softwareApplication software):包括最终用户的):包括最终用户的计算机应用,例如文字处理软件、视频游戏和为特定计算机应用,例如文字处理软件、视频游戏和为特定用户群开发的用户群开发的ERPERP软件。软件。v中间件(中间件(MiddlewareMiddleware):用于控制和协调分布式系统。):用于控制和协调分布式系统。v编程语
8、言(编程语言(Programming languagesProgramming languages):定义计算机程):定义计算机程序的语法和语义。例如一些成熟的银行应用是序的语法和语义。例如一些成熟的银行应用是19591959年年发明的发明的COBOLCOBOL语言编写的。新的应用通常用近期发明的语言编写的。新的应用通常用近期发明的编程语言编写。编程语言编写。v系统软件(系统软件(System softwareSystem software):包括操作系统,用于):包括操作系统,用于管理计算机资源。今天(何时?)大型(规模)应用管理计算机资源。今天(何时?)大型(规模)应用运行于远程的机器上。
9、比如网站(运行于远程的机器上。比如网站(WebsitesWebsites)被认为)被认为(谁?)是系统软件。最终用户通常通过图形用户接(谁?)是系统软件。最终用户通常通过图形用户接口(口(GUIGUI)如浏览器来使用系统。)如浏览器来使用系统。软件软件软件基本概念(续)软件基本概念(续)v测试件(测试件(TestwareTestware):用于测试硬件和软件的套件。):用于测试硬件和软件的套件。v固件(固件(FirmwareFirmware):是底层软件,通常存储于电子可编):是底层软件,通常存储于电子可编程存储器上。固件如同其名被看作硬件被其他软件调程存储器上。固件如同其名被看作硬件被其他软
10、件调用执行。用执行。v盒装软件(盒装软件(ShrinkwareShrinkware):现在越来越少见了,指用盒):现在越来越少见了,指用盒子打包放在零售店销售的软件。子打包放在零售店销售的软件。v设备驱动程序(设备驱动程序(Device driversDevice drivers):建立软件与磁盘驱):建立软件与磁盘驱动器、打印机、光盘驱动器、计算机显示器等硬件设动器、打印机、光盘驱动器、计算机显示器等硬件设备的数据通信界面,使硬件之间能够方便地交换数据。备的数据通信界面,使硬件之间能够方便地交换数据。v编程工具(编程工具(Programming toolsProgramming tools)
11、:用于上述软件的开):用于上述软件的开发。程序员用它来调试程序,或对既有的系统进行逆发。程序员用它来调试程序,或对既有的系统进行逆向工程的分析和检查源代码兼容性。向工程的分析和检查源代码兼容性。软件软件软件分类软件分类v系统软件(系统软件(System softwareSystem software)v编程软件(编程软件(Programming Programming softwaresoftware)v应用软件(应用软件(Application Application softwaresoftware)软件软件系统软件系统软件v设备驱动程序设备驱动程序 v操作系统操作系统 v服务器服务器 v
12、通用工具通用工具 v视窗系统视窗系统软件软件-软件分类软件分类 编程软件编程软件v编译器编译器v调试器调试器v解释器解释器v连接器连接器v文本编辑器文本编辑器软件软件-软件分类软件分类 应用软件应用软件v商业软件商业软件v计算机辅助设计计算机辅助设计v数据库数据库v决策软件决策软件v教育软件教育软件v图像编辑图像编辑v工业自动化工业自动化v数学软件数学软件v医疗软件医疗软件软件软件-软件分类软件分类 应用软件(续)应用软件(续)v分子模拟软件分子模拟软件v量子化学和固体物理软件量子化学和固体物理软件v仿真软件仿真软件v电子表格电子表格v远程通讯远程通讯v视频游戏视频游戏v文字处理文字处理软件软
13、件-软件分类软件分类 软件特点软件特点v软件是一种逻辑实体软件是一种逻辑实体v软件是人类智力产品软件是人类智力产品v软件开发过程复杂软件开发过程复杂v软件需要长期维护软件需要长期维护v软件成本昂贵软件成本昂贵v软件可以复制软件可以复制软件软件软件特点软件特点v软件是一种逻辑实体软件是一种逻辑实体 软件是抽象的无形的,没有物理实体,但是可以记录软件是抽象的无形的,没有物理实体,但是可以记录在介质上。软件必须通过测试、分析、思考、判断去在介质上。软件必须通过测试、分析、思考、判断去了解它的功能、性能以及其他特性。软件正确好坏与了解它的功能、性能以及其他特性。软件正确好坏与否,需要等到在机器上运行之
14、后才能知道。这给软件否,需要等到在机器上运行之后才能知道。这给软件的设计、生产和管理带来诸多困难。的设计、生产和管理带来诸多困难。v软件是人类智力产品软件是人类智力产品 软件是人们通过智力劳动,依靠知识和技术等手段生软件是人们通过智力劳动,依靠知识和技术等手段生产的信息系统产品,是人类有史以来生产的高复杂度、产的信息系统产品,是人类有史以来生产的高复杂度、高成本、高风险的工业产品。软件涉及到人、社会和高成本、高风险的工业产品。软件涉及到人、社会和组织的行为和需求,涉及到几乎所有领域的知识。组织的行为和需求,涉及到几乎所有领域的知识。软件软件软件特点(续一)软件特点(续一)v软件开发过程复杂软件
15、开发过程复杂 20 20世纪世纪6060年代末年代末7070年代初爆发的软件危机,使人们充年代初爆发的软件危机,使人们充分清楚地认识了软件开发的复杂性。所有软件开发必分清楚地认识了软件开发的复杂性。所有软件开发必须按照软件工程管理的方法进行,严格管理软件项目须按照软件工程管理的方法进行,严格管理软件项目的进度、质量和成本。有必要使用有效的软件开发环的进度、质量和成本。有必要使用有效的软件开发环境和工具,以提高软件开发效率。境和工具,以提高软件开发效率。v软件需要长期维护软件需要长期维护 软件维护与硬件维修维护有着本质的差别,不能简单软件维护与硬件维修维护有着本质的差别,不能简单地通过更换部件来
16、实现。在软件生命期中,需要随时地通过更换部件来实现。在软件生命期中,需要随时对暴露出来的故障进行修改。随着社会以及技术的变对暴露出来的故障进行修改。随着社会以及技术的变化进步,人的需求、社会的行为规范、组织的需求和化进步,人的需求、社会的行为规范、组织的需求和业务流程,国家的法律等也会发生变化,这些变化都业务流程,国家的法律等也会发生变化,这些变化都需要对既有软件进行修改和维护。需要对既有软件进行修改和维护。 软件软件软件特点(续二)软件特点(续二)v软件成本昂贵软件成本昂贵 由于软件应用范围广泛和需求复杂等原因,许多软件由于软件应用范围广泛和需求复杂等原因,许多软件往往是一个巨型系统,需要投
17、入大量的人力、物力和往往是一个巨型系统,需要投入大量的人力、物力和财力进行开发,导致软件成本昂贵。财力进行开发,导致软件成本昂贵。v软件可以复制软件可以复制 软件一旦开发成功,就不需要再制作,可以无限地复软件一旦开发成功,就不需要再制作,可以无限地复制同一内容的副本。所以软件质量必须在开发阶段得制同一内容的副本。所以软件质量必须在开发阶段得以控制。由于软件功能和性能可以通过修改而改变,以控制。由于软件功能和性能可以通过修改而改变,因此软件通常有多种版本。因此软件通常有多种版本。软件软件计算机技术发展的重大事件计算机技术发展的重大事件vIBM360IBM360vUNIXUNIX操作系统操作系统v
18、苹果个人电脑苹果个人电脑vMS-DOSMS-DOSv因特网因特网v智能手机(智能手机(Smartphones)Smartphones)软件软件IBM360v计算机从晶体管时代进入集成电路时代计算机从晶体管时代进入集成电路时代v预算预算5050亿美元,研制经费亿美元,研制经费5 5亿,生产设备投资亿,生产设备投资1010亿,推销和租赁垫资亿,推销和租赁垫资3535亿(曼哈顿工程亿(曼哈顿工程2020亿美亿美元,第一颗原子弹)元,第一颗原子弹)v一圈一圈360360度:既代表着度:既代表着360360电脑从工商业到科学电脑从工商业到科学界的全方位应用,也表示界的全方位应用,也表示IBMIBM的宗旨
19、:为用户全的宗旨:为用户全方位服务方位服务远程通讯远程通讯v第一个交互式操作系统第一个交互式操作系统v软件开发:软件工程师软件开发:软件工程师20002000人,软件费用超过人,软件费用超过硬件硬件软件软件重大事件重大事件 IBM360(续)(续)v兼容性:用相同的方式处理相同的指令,享用兼容性:用相同的方式处理相同的指令,享用相同的软件,配置相同的磁盘机、磁带机和打相同的软件,配置相同的磁盘机、磁带机和打印机,而且能够相互连接在一起工作印机,而且能够相互连接在一起工作v系列化:系列化:6 6个型号的大、中、小型电脑和个型号的大、中、小型电脑和4444种新种新式的配套设备。从功能较弱的式的配套
20、设备。从功能较弱的360/51360/51型小型机,型小型机,到功能超过到功能超过5151型型500500倍的倍的360/91360/91型大型机,都是型大型机,都是清一色的清一色的“兼容机兼容机”软件软件重大事件重大事件 UNIX操作系统操作系统v美国美国AT&TAT&T公司于公司于19711971年在年在PDP-11PDP-11上运行的操作上运行的操作系统(系统(19691969年开始在年开始在Digital PDP-7Digital PDP-7的迷你计算的迷你计算机开发,最后运行于机开发,最后运行于PDP-11PDP-11)v使用使用C C语言编写(语言编写(C C语言诞生)语言诞生)v
21、具有多用户、多任务的特点,支持多种处理器具有多用户、多任务的特点,支持多种处理器架构架构v改变了批处理(改变了批处理(Batch ProcessingBatch Processing)的工作方)的工作方式式v促进了小型机等计算机的普及(后来的工作站促进了小型机等计算机的普及(后来的工作站多采用多采用UNIXUNIX操作系统)操作系统)v逐步开始打破逐步开始打破IBMIBM垄断地位垄断地位软件软件重大事件重大事件 苹果个人电脑苹果个人电脑v19711971年,年,1616岁的史蒂夫岁的史蒂夫乔布斯和乔布斯和2121岁岁的史蒂夫的史蒂夫沃兹尼亚克沃兹尼亚克( (两个斯蒂夫两个斯蒂夫) )经经朋友介
22、绍而结识,在乔布斯家车库里发朋友介绍而结识,在乔布斯家车库里发明个人电脑明个人电脑v宣布个人计算机诞生,代表产品是宣布个人计算机诞生,代表产品是Apple Apple IIIIv导致导致IBM PCIBM PC的诞生,开启个人电脑时代的诞生,开启个人电脑时代v带来了计算机的广泛普及应用带来了计算机的广泛普及应用软件软件重大事件重大事件 苹果公司产品苹果公司产品vApple IIApple II、MacintoshMacintoshviPodiPodviTunesiTunesviPhoneiPhoneviPadiPadviMaciMac、macBookmacBook软件软件重大事件重大事件 乔布
23、斯的发明乔布斯的发明vApple IIApple IIviPodiPodviPhoneiPhoneviPadiPadvPixerPixer(玩具总动员玩具总动员,海海底总动员底总动员)软件软件重大事件重大事件 MS-DOSv19811981年,年,MS-DOS 1.0MS-DOS 1.0操作系统诞生操作系统诞生( (为为IBM PCIBM PC配配套套) )v上世纪上世纪9090年代初最后的年代初最后的6.116.11版版v19901990年,年,Windows3.0Windows3.0和和Windows3.1Windows3.1v20092009年年1010月月2222日发布日发布Windo
24、ws7Windows7v20112011年年9 9月月1414日发布日发布Windows8Windows8开发者预览版,兼开发者预览版,兼容移动终端容移动终端v开计算机硬件和软件分别销售之先河开计算机硬件和软件分别销售之先河v促进了促进了PCPC兼容机的发展兼容机的发展v促进了计算机的广泛普及促进了计算机的广泛普及软件软件重大事件重大事件 微软公司产品微软公司产品vMS-DOSMS-DOSvWindowsWindows操作系统操作系统vMicrosoft OfficeMicrosoft OfficevInternet ExplorerInternet ExplorervMicrosoft Vi
25、sual StudioMicrosoft Visual Studio、Visual Studio Visual Studio .NET.NETvMicrosoft SilverLightMicrosoft SilverLightvXBoxXBox、XBox360XBox360软件软件重大事件重大事件 英特网英特网v19891989年,由年,由CERNCERN开发成功开发成功WWWWWW,为,为Internet Internet 实现广域超媒体信息实现广域超媒体信息截取截取/ /检索奠定了基础检索奠定了基础v万维网万维网WWWWWW:万维网:万维网(World Wide Web,(World W
26、ide Web,简称简称WWW)WWW)是是InternetInternet上集文上集文本、声音、图像、视频等多媒体信息于一身的全球信息资源网络,本、声音、图像、视频等多媒体信息于一身的全球信息资源网络,是是InternetInternet上的重要组成部分上的重要组成部分v电子邮件电子邮件E-mail E-mail v文件传输文件传输FTP FTP vUsenetUsenet: UsenetUsenet是一个由众多趣味相投的用户共同组织起来的各是一个由众多趣味相投的用户共同组织起来的各种专题讨论组的集合。通常也将之称为全球性的电子公告板系统种专题讨论组的集合。通常也将之称为全球性的电子公告板系
27、统(BBS)(BBS)v远程登陆远程登陆Telnet Telnet v浏览器浏览器(Browser)(Browser)v超文本标记语言超文本标记语言HTML(Hyper Text Markup Language)HTML(Hyper Text Markup Language)v超文本传输协议超文本传输协议HTTP(Hype Text Transmission Protocol)HTTP(Hype Text Transmission Protocol)软件软件重大事件重大事件 英特网(续)英特网(续)v门户网站(雅虎、新浪、搜狐、网易)门户网站(雅虎、新浪、搜狐、网易)v搜索引擎(雅虎、谷歌、百
28、度)搜索引擎(雅虎、谷歌、百度)v即时通信即时通信(IM, Instant messaging)(IM, Instant messaging):例如:例如MSNMSN,SkypeSkype,QQQQv博客(博客( Weblog Weblog ):例如新浪、搜狐):例如新浪、搜狐v微博微博 (MicroBlogMicroBlog):例如):例如twittertwitter、新浪微博、新浪微博v社区网络(社区网络( SNS SNS , Social Networking Services Social Networking Services ):):亦称社会化网络服务。例如人人网亦称社会化网络服务
29、。例如人人网 v网购:例如亚马逊(网购:例如亚马逊(AmazonAmazon)、京东商城、卓越亚马逊、)、京东商城、卓越亚马逊、当当网当当网 v百科全书:例如维基百科、百度百科、汉典百科全书:例如维基百科、百度百科、汉典v音乐、图片音乐、图片软件软件重大事件重大事件 智能手机(智能手机(Smartphone)v语音通话(语音通话( Telephone Telephone )、短信)、短信(SMS, Short (SMS, Short Message Service)Message Service)v手机电视、收音机手机电视、收音机v媒体播放器:音乐、视频媒体播放器:音乐、视频v电子游戏机:智力
30、游戏、单机游戏、网络游戏电子游戏机:智力游戏、单机游戏、网络游戏v手机浏览器手机浏览器v个人事务:手机银行、股票交易个人事务:手机银行、股票交易v读书读书 :阅读器:阅读器v教育:学习资源教育:学习资源v移动办公移动办公vGPSGPS导航导航v其他:各种桌面应用其他:各种桌面应用软件软件重大事件重大事件 软件的价值软件的价值v解决方案解决方案v业务与盈利模式业务与盈利模式v服务创造价值服务创造价值软件软件软件的软件的U型开发过程型开发过程软件软件需求分析需求分析概要设计概要设计模块开发模块开发详细设计详细设计单元测试单元测试功能测试功能测试子系统测试子系统测试系统测试系统测试作业题作业题v需求分析团队的组成人员?需求分析团队的组成人员?v提高软件开发效率的主要手段有哪些?提高软件开发效率的主要手段有哪些?v软件的软件的U U型开发过程是包括哪些内容,它告诉我们什么型开发过程是包括哪些内容,它告诉我们什么?v目前广泛使用的三层应用包括哪三层,主要基于什么技目前广泛使用的三层应用包括哪三层,主要基于什么技术?对软件及其源程序有何影响?术?对软件及其源程序有何影响?软件软件LOGO求实创新求实创新太原理工大学太原理工大学 计算机科学与技术学院计算机科学与技术学院