《软件项目管理》教学大纲

课程代码

045101751

课程名称

软件项目管理

英文名称

Software Project Management

课程类别

选修课

课程性质

选修

学时

总学时:48    实验学时:8   实习学时:0   其他学时:0

学分

3.0

开课学期

第七学期

开课单位

计算机科学与工程学院

适用专业

计算机科学与技术

授课语言

中文授课

先修课程

Java程序设计、算法设计与分析、数据库、软件工程

课程对毕业要求的支撑

  1. 问题分析:能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析计算机复杂工程问题,以获得有效结论。

  2. 设计/开发解决方案:能够设计针对复杂与计算机相关工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

  3. 个人和团队:能够在计算机学科背景下的团队中承担个体、团队成员以及负责人的角色。

  4. 项目管理:理解并掌握工程管理原理与经济决策方法,并能在多学科环境中应用。

课程目标

完成课程后,学生将具备以下能力:

1能够了解软件项目管理过程中的最佳实践活动以及使用到的相关技术;

2学习获得项目管理相关知识和技术;

3通过应用所学到的软件项目管理知识,能够有效参与或者成功管理软件开发项目。能够系统的组织软件开发项目全过程,包括启动,计划,执行,控制和关闭软件项目。

课程简介

这一课程提供了对项目管理原则以及现代软件项目管理实践方法的深度阐述。课程结合系统开发生命期,对软件项目开发管理所关系到的多个领域知识进行了讲解分析。此外,课程还对软件开发生命期的每个阶段所应用到的管理方法和技术以及如何优化进行深入探讨。

教学内容与学时分配

(一)软件项目管理引言                                      2学时

1)中国软件以及软件工程的发展       1 学时

2)软件项目管理覆盖的活动       0.5 学时

3)计划、方法和方法学           0.5 学时

教学要求:了解“软件项目管理”的范围以及软件项目开发通常包含的各个阶段。意识到在软件开发过程中需要精心策划、监督和控制。



(二)项目评价和项目集管理                                    4学时

1)业务案例                     1 学时

2)项目组合管理                 1学时

3)项目评估                     1 学时

4)项目集管理                   1 学时

教学要求:了解项目组合管理和项目评估相关知识。掌握构建项目组合和管理项目集的方法技术。


(三)项目策划                                                2学时

1)步进式项目策划概述           0.5 学时

2)步进式项目策划               1.5学时

教学要求:了解软件项目策划的重要性。解释项目策划文档的目的和内容。掌握以步进的方式进行项目策划的方法技术。


(四)选择合适的项目方法                                       4学时

1)选择方法学和技术             1 学时

2)过程模型                     1学时

3)软件原型开发                 1学时

4)敏捷方法和极限编程           1学时

教学要求:了解项目环境以及待交付应用的特点是如何影响到软件项目计划的制定。掌握软件过程模型,原型化开发方法以及增量式开发(敏捷方法的一部分)的概念。理解如何针对软件特点选择合适的软件开发模型。


(五)软件工作量估计                                          4学时

1)软件工作量估计技术           1 学时

2)由底向上估计                 1学时

3)自顶向下法和参数模型         1学时

4)其他估计方法                 1学时

教学要求: 了解软件工作量估计的原则、概念和一些术语。掌握多种不同的软件工作量估计技术。能掌握开发工作量模型COCOMO方法的计算方法。



(六)活动策划                                               4学时

1)项目进度表                   1 学时

2)项目和活动                   1学时

3)网络策划模型                 2学时

教学要求:理解在软件过程管理中时间管理的重要性。掌握帮助进行软件活动策划的多种方法和工具。学习如何构建项目活动的网络策划模型以及其中的关键路径分析。能使用软件来辅助进行项目管理。



(七)风险管理                                               4学时

1)风险                         1 学时

2)风险评估                     1学时

3)风险策划                     1学时

4)风险管理                     1学时

教学要求:能掌握软件开发项目中通常风险的来源。能解释量化风险评估、计算项目风险损失以及如何降低风险所应用到的多种方法。总结在风险管理的开发中的一些关键概念。能够使用软件帮助进行项目风险管理。



(八)资源分配                                               4学时

1)资源的性质                   1 学时

2)资源调度                     1学时

3)资源进度表                   1学时

4)调度顺序                     1学时

教学要求:学习如何进行资源分配从而为软件活动计划分配合适的资源。在需要的情况下,需要对活动计划进行有效的修改评价以便适配可用的资源。



(九)监督与控制                                             2学时

1)创建框架                     0.5 学时

2)收集数据                     0.5学时

3)进展可视化                   0.5学时

4)成本监督和挣值分析           0.5学时

教学要求:学习如何收集项目进行中的各种信息以及采用哪些措施来应对以保证软件开发项目的顺利进行。同时学习如何应对外界因素所引起的变化-特别是需求的更改引起的变化。



(十)管理合同                                                2学时

1)合同的种类                   0.5 学时

2)合同部署阶段                 0.5学时

3)典型的合同条款               0.5学时

4)合同的管理                   0.5学时

教学要求: 解释不同类型的合同,提供用于软件项目的这些类型合同的样例,同时分析其中可能包含的风险。描述软件项目计划书的主要内容。总结软件合同管理中的关键概念。



(十一)人员管理和团队管理                                     4学时

1)为工作选择合适人选           1 学时

2)人员激励                     1学时

3)组成团队                     1学时

4)组织结构和沟通               1学时

教学要求:总结分析人力资源管理的主要知识。陈述在项目团队组成和建设过程中的关键性的问题。描述团队沟通管理的主要组成部分、如何发布共享团队信息的多种方法以及这些方法各自的优缺点。讨论解决项目开发中冲突的主要策略。能使用软件来帮助进行团队沟通。



(十二)软件质量                                               4学时

1)软件质量的重要性             1 学时

2)定义软件质量                 1学时

3)质量管理体系                 1学时

4)有助于提高软件质量的技术     1学时

教学要求:解释软件质量对于软件开发人员的重要性以及其扮演的角色。掌握在质量评估、策划和控制中的关键问题。了解质量控制所应用到的方法和工具。讨论如何使用质量管理体系来保障软件产品的质量。


实验教学(包括上机学时、实验学时、实践学时)

(一)Microsoft Project 环境                                    1学时

教学要求:安装Microsoft Project、熟悉Microsoft Project环境、并使用其管理软件开发


(二)VSS配置管理工具                                       1学时

教学要求:安装并能熟练使用VSS配置管理工具的基本功能


(三)软件项目管理综合实验                                   6学时

1)项目内容策划                  2 学时

2)项目工作管理                  2学时

3)项目成本设定与监控            2学时

教学要求:能借助ProjectVSS等工具对一个具体的软件项目进行管理。其中包括:使用步进式方法进行软件项目策划、分配和管理任务和资源、对风险进行评估和管理、对项目成本进行估计和管理等等。

教学方法

课程教学以课堂教学、实验课以及授课教师的科研项目积累等共同实施。

考核方式

本课程注重过程考核,成绩比例为:

平时作业和课堂表现:30%

期末考试(闭卷):70%

教材及参考书

现用教材:Bob Hughes,Mike Cotterell. 软件项目管理(原书第5版) [Software Project Management Fifth  Edition], 机械工业出版社, 2010.

主要参考资料:

 [1] Ian Sommerville. Software Engineering, Ninth Edition. ISBN: 978-7-111-34825, 机械工业出版社,2011.

 [2]Roger S.Pressman. Software Engineering: A Practitioner Approach, ISBN:978-7-111-33581-8. 2011.

 [3]Shari Lawrence Pfleeger and Joanne M.Atlee, Software Engineering Theory and Practice (Fourth Edition), 影印版, 高等教育出版社, 2009.


制定人及制定时间

李剑,2019411

 “Software Project Management” Syllabus

Course Code

045101751

Course Title

Software Project Management

Course Category

Elective Courses

Course Nature

Elective Course

Class Hours

 Class Hours48   Experiment Hours8

Credits

3.0

Semester

7th semester

Institute

School of Computer Science & Engineering

ProgramOriented

Computer Science and Technology

Teaching Language

Chinese

Prerequisites

JAVA Programming, Algorithm Design and Analysis, DatabaseSoftware Engineering

 Student Outcomes

 (Special Training Ability)

  1.  Problem Analysis: An ability to identify, formulate and analyze complex engineering problems, reaching to substantiated conclusions using basic principles of mathematics, science, and engineering.

  2.  Design / Development Solutions: An ability to design solutions for complex engineering problems and innovatively design systems, components or process that meet specific needs with societal, public health, safety, legal, cultural and environmental considerations.

  3.  Individual and Teams: An ability to function effectively as an individual, and as a member or leader in diverse teams and in multi-disciplinary settings.

  4. Project Management: Demonstrate knowledge and understanding of engineering management principles and methods of economic decision-making, to function in multidisciplinary environments.

Course Objectives

 After successfully completing the module student should be :

 1.With understanding of the best practices, and techniques used in software project management processes.

 2.Able to demonstrate knowledge of project management terms and techniques

3.Capable of actively participating or successfully managing a software development project by applying software project management concepts. A systematic approach to initiate, plan, execute, control and close a software project.

Course Description

The course provides an in depth examination of project management principles and modern software project management practices. Several knowledge areas of the software project management are examined in the context of the system development lifecycle. Methods for managing and optimizing the software development process are discussed along with techniques for performing each phase of the system development lifecycle.

Teaching Content and Class Hours Distribution

1Introduction to software project management                  Hours: 2

 a. Development of Chinese software and software engineering    Hours: 1          

 b. Activities covered by software project management           Hours:0.5

 c. Plans, methods and methodologies                         Hours:0.5

 Teaching aim: Understanding the scope of ‘software project management’ and the usual stages of a software project. Appreciating the need for careful planning, monitoring and control in the software process.


2Project evaluation and programme management              Hours: 4

 a. A business case                          Hours: 1

 b. Project portfolio management               Hours: 1

 c. Evaluation of individual projects             Hours:1

 d. Programme management                   Hours:1

 Teaching aim: Understanding project portfolio management and project evaluations. Knowing ways to construct the project portfolio and how to manage the programme.


3An overview of project planning                          Hours: 2

 a. Introduction to Step Wise project planning     Hours: 0.5

 b. Step Wise project planning                 Hours: 1.5

 Teaching aim: Understanding the importance of project planning. Explaining the purpose and content of a project’s planning documents. Knowing approach the project planning in an organized step-by-step manner.


4Selection of an appropriate project approach                 Hours: 4

 a. Choosing methodologies and technologies        Hours: 1

 b. Process models                              Hours: 1

 c. Software prototyping                         Hours:1

 d. Agile methods and Extreme Programming (XP)    Hours:1

 Teaching aim: Understanding how the characteristics of a project’s environment and the application to be delivered influence the shape of the plan of a project. Knowing the concepts of common process models, prototyping and incremental delivery made part of agile methods. Understanding selection of appropriate software process models.


5Software effort estimation                               Hours: 4

 a. Software effort estimation techniques            Hours: 1

 b. Bottom-up estimating                         Hours: 1

 c. The top-down approach and parametric models    Hours:1

 d. Other methods                              Hours:1

 Teaching aim: Knowing basic effort management principles, concepts and terms. Understanding the different types of effort estimates techniques. Performing calculations for COCOMO Model.


6Activity planning                                      Hours: 4

 a. Project schedules                            Hours: 1

 b. Projects and activities                         Hours: 1

 c. Network planning models                      Hours:2

 Teaching aim: Understanding the importance of time management. Understanding various tools and techniques help project managers. Knowing how to construct project network diagrams and use critical path analysis. Using the software assist in project management.


7Risk management                                     Hours: 4

 a. Risk                                  Hours: 1

 b. Risk assessment                         Hours: 1

 c. Risk planning                           Hours:1

 d. Risk management                       Hours:1

 Teaching aim: Identifying common sources of risk on software projects. Explaining various techniques for quantifying risk and calculate expected monetary values of projects and the risk reduction leverages. Summarizing key concepts in risk response development. Using software to assist in project risk management.


8Resource allocation                                     Hours: 4

 a. The nature of resources                   Hours: 1

 b. Scheduling resources                     Hours: 1

 c. Resource schedule                       Hours:1

 d. The scheduling sequence                   Hours:1

 Teaching aim: Learning how to match the activity plan to available resources and, where necessary, assess the efficacy of changing the plan to fit the resources.


9Monitoring and control                                   Hours: 2

 a. Creating the framework                   Hours: 0.5

 b. Collecting the data                       Hours: 0.5

 c. Visualizing progress                      Hours: 0.5

 d. Cost monitoring and Earned value analysis    Hours: 0.5

 Teaching aim: Learning how information about project progress is gathered and what actions must be taken to ensure that a project meets its targets. Knowing how to deal with changes that are imposed from outside – in particular, changes in requirements.


10Managing contracts                                    Hours: 2

 a. Types of contract                        Hours: 0.5

 b. Stages in contract placement               Hours: 0.5

 c. Typical terms of a contract                 Hours: 0.5

 d. Contract management                    Hours: 0.5

 Teaching aim: Explaining the various types of contracts, the risks involved in using each, and provide examples of when each might be used for a software project.  Describing the basic contents of a Request for Proposal. Summarizing the key concepts in contract administration.


11Managing people and teams                              Hours: 4

 a. Selecting the right person for the job         Hours: 1

 b. Motivation                              Hours: 1

 c. Becoming a team                         Hours:1

 d. Organizational structures and Communication   Hours:1

 Teaching aim: Summarizing knowledge of human resource management. Listing key issues involved in project staff acquisition and team development. Describing the major components of a communications management, various methods for distributing project information and the advantages and disadvantages of each.  Discussing strategies for resolving conflict in projects. Using software to enhance project communications.


12Software quality                                       Hours: 4

 a. The importance of software quality           Hours: 1

 b. Defining software quality                   Hours: 1

 c. Quality management systems                Hours:1

 d. Techniques to help enhance software quality    Hours:1

 Teaching aim: Explaining the importance and role of software quality to stakeholders. Describing what is involved in quality assurance, planning and control on projects. Understanding quality control tools and techniques. Discussing how the quality standards can be used to ensure the quality of software products.


Experimental Teaching

1Microsoft Project environment                            Hours: 1

 Teaching aim: Installing Microsoft Project. Studying it and using it to manage a demo software project.


2VSS management tool                                   Hours: 1

 Teaching aim: Installing VSS. Learning its fundamental functions.


3Project management comprehensive experiment               Hours: 6

 a. Software project planning                Hours: 2

 b. Project management                    Hours: 2

 c. Software effort estimation and monitoring   Hours:2

Teaching aim: Making an appropriate software project plan and monitoring it with the help of tools such as Project, VSS, etc.. The aims include: Software project planning with Step Wise method, tasks and resources allocations, risk evaluation and management, software effort estimation and monitoring, etc..

Teaching Method

Classroom Teaching, including Comprehensive, Designing Experiment

Examination Method

 Attendance and Experiment: 30%

Final exam: 70%

Teaching Materials and Reference Books

 Reference book: Bob Hughes, Mike Cotterell. Software Project Management, (Fifth Edition). Published by Tata McGraw-Hill Education Pvt. Ltd, 2011.

 Other references:

 [1] Ian Sommerville. Software Engineering, Ninth Edition. ISBN: 978-7-111-34825. 2011

 [2] Roger S.Pressman. Software Engineering: A Practitioner Approach, ISBN:978-7-111-33581-8. 2011.

[3]Shari Lawrence Pfleeger and Joanne M.Atlee, Software Engineering Theory and Practice (Fourth Edition), 2009.

Prepared by Whom and When

Li Jian, April 11, 2019


《软件项目管理》实验教学大纲

课程代码

045101751

课程名称

软件项目管理

英文名称

Software Project Management

课程类别

选修课

课程性质

选修

学时

总学时:48    实验学时:8   实习学时:0   其他学时:0

学分

3.0

开课学期

第七学期

开课单位

计算机科学与工程学院

适用专业

计算机科学与技术

授课语言

中文授课

先修课程

Java程序设计、算法设计与分析、数据库、软件工程

毕业要求(专业培养能力)

  1. 问题分析:能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析计算机复杂工程问题,以获得有效结论。

  2. 设计/开发解决方案:能够设计针对复杂与计算机相关工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

  3. 个人和团队:能够在计算机学科背景下的团队中承担个体、团队成员以及负责人的角色。

  4. 项目管理:理解并掌握工程管理原理与经济决策方法,并能在多学科环境中应用。

课程培养学生的能力(教学目标)

完成课程后,学生将具备以下能力:

1能够了解软件项目管理过程中的最佳实践活动以及使用到的相关技术;

2学习获得项目管理相关知识和技术;

3通过应用所学到的软件项目管理知识,能够有效参与或者成功管理软件开发项目。能够系统的组织软件开发项目全过程,包括启动,计划,执行,控制和关闭软件项目。

课程简介

这一课程提供了对项目管理原则以及现代软件项目管理实践方法的深度阐述。课程结合系统开发生命期,对软件项目开发管理所关系到的多个领域知识进行了讲解分析。此外,课程还对软件开发生命期的每个阶段所应用到的管理方法和技术以及如何优化进行深入探讨。

主要仪器设备与软件

计算机

Microsoft Project 环境

VSS 配置管理工具, 等等

实验报告

需要

考核方式

实验报告审查

教材、实验指导书及教学参考书目

现用教材:Bob Hughes,Mike Cotterell. 软件项目管理(原书第5版) [Software Project Management Fifth  Edition], 机械工业出版社, 2010.

主要参考资料:

 [1] Ian Sommerville. Software Engineering, Ninth Edition. ISBN: 978-7-111-34825, 机械工业出版社,2011.

 [2]Roger S.Pressman. Software Engineering: A Practitioner Approach, ISBN:978-7-111-33581-8. 2011.

[3]Shari Lawrence Pfleeger and Joanne M.Atlee, Software Engineering Theory and Practice (Fourth Edition), 影印版, 高等教育出版社, 2009.

制定人及发布时间

李剑,201957


《软件项目管理》实验教学内容与学时分配

实验项目编号

实验项目名称

实验学时

实验内容提要

实验类型

实验要求

每组人数

主要仪器设备与软件

1

学习Microsoft Project 环境

1

安装Microsoft Project、熟悉Microsoft Project环境、并使用其管理软件开发

设计性

必做

3-4

计算机

Microsoft Project 环境

2

VSS配置管理工具使用实验

1

安装并能熟练使用VSS配置管理工具的基本功能

设计性

必做

3-4

计算机

VSS 配置管理工具

3

综合实验项目——软件项目开发管理

6

借助ProjectVSS等工具制定合理科学的软件开发与管理计划并对项目进行管理。其中包括:

 1. 项目内容安排与设定: 使用步进式软件项目策划进行管理;

 2. 项目工作管理: 包括项目任务分配、资源分配、风险评估和管理;

3. 项目成本设定与监控:使用多种技术对项目工作量和耗费进行估计。

综合性

必做

3-4

计算机

Microsoft ProjectVSS


 “Software Project Management” Syllabus

Course Code

045101751

Course Title

Software Project Management

Course Category

Elective Courses

Course Nature

Elective Course

Class Hours

Class Hours48   Experiment Hours8

Credits

3.0

Semester

7th semester

Institute

School of Computer Science & Engineering

Program Oriented

Computer Science and Technology

Teaching Language

Chinese

Prerequisites

JAVA Programming, Algorithm Design and Analysis, DatabaseSoftware Engineering

Student Outcomes (Special Training Ability)

 1.Problem Analysis: An ability to identify, formulate and analyze complex engineering problems, reaching to substantiated conclusions using basic principles of mathematics, science, and engineering.

 2.Design / Development Solutions: An ability to design solutions for complex engineering problems and innovatively design systems, components or process that meet specific needs with societal, public health, safety, legal, cultural and environmental considerations.

 3.Individual and Teams: An ability to function effectively as an individual, and as a member or leader in diverse teams and in multi-disciplinary settings.

4.Project Management: Demonstrate knowledge and understanding of engineering management principles and methods of economic decision-making, to function in multidisciplinary environments.

Teaching Objectives

 After successfully completing the module student should be :

 1.With understanding of the best practices, and techniques used in software project management processes.

 2.Able to demonstrate knowledge of project management terms and techniques

3.Capable of actively participating or successfully managing a software development project by applying software project management concepts. A systematic approach to initiate, plan, execute, control and close a software project.

Course Description

The course provides an in depth examination of project management principles and modern software project management practices. Several knowledge areas of the software project management are examined in the context of the system development lifecycle. Methods for managing and optimizing the software development process are discussed along with techniques for performing each phase of the system development lifecycle.

Instruments and Equipments

Computer

Microsoft Project environment, VSS management tool, etc..

Experiment Report

Compulsory

Assessment

Report

Teaching Materials and Reference Books

Reference book: Bob Hughes, Mike Cotterell. Software Project Management, (Fifth Edition). Published by Tata McGraw-Hill Education Pvt. Ltd, 2011.

Other references:

[1] Ian Sommerville. Software Engineering, Ninth Edition. ISBN: 978-7-111-34825. 2011

[2] Roger S.Pressman. Software Engineering: A Practitioner Approach, ISBN:978-7-111-33581-8. 2011.

[3]Shari Lawrence Pfleeger and Joanne M.Atlee, Software Engineering Theory and Practice (Fourth Edition), 2009.

Prepared by Whom and When

Li Jian, May 7, 2019

 “Software Project ManagementExperimental Teaching Arrangements

No.

Experiment Item

Class Hours

Content Summary

Category

Requirements

Number of StudentsEach Group

Instruments, Equipments and Software

1

Microsoft Project learning

1

Microsoft Project Installation. Studying Microsoft Project Environment. Using it to manage a demo software development process.

Design

Compulsory

3-4

 Computer

Microsoft Project environment

2

VSS management tool studying

1

VSS Installation. Learning fundamental functions and using it.

Design

Compulsory

3-4

Computer

VSS management tool

3

Comprehensive experiment:  software development management

6

 Making an appropriate software project management plan and monitoring this software project with the help of tools such as Project, VSS, etc..  The tasks include:

 1.Software project planningplanning the project with Step Wise method.

 2.Project management: including task allocation, resource allocation, risk evaluation and management.

3.Software effort estimation and monitoring: using various estimation techniques.

Comprehensive

Compulsory

3-4

Computer

Microsoft Project, VSS, etc..