《软件工程-实践者的研究方法》chapter_21.ppt
软件工程第二章-软件过程

编码
运行 时期
1. 瀑布模型
瀑布模型(waterfall model)是软件工程最早的范例,
也称经典生命周期,它提出了一个系统的、顺序的软 件开发方法,从用户需求规格说明开始,通过计划、 建模、构建和部署的过程,最终提供一个完整的软件 并提供持续的技术支持。
沟通 项目启动 需求获取 策划 项目估算 进度计划 项目跟踪
… 框架活动 # n 动作 # n.1 任务集 …… 动作 # n.m 任务集 工作任务、工作产品、 质量保证点、项目里程碑
工作任务、工作产品、 质量保证点、项目里程碑
只有一种软件过程吗?
软件过程的种类很多,区别主要体现在几个方面: 组成过程的各个活动(包括普适性活动)、动作和任务,及其相互依 赖的关系都可能不同; 动作和任务的细化程度可能不同; 工作产品的定义和要求可能不同; 质量保证活动的应用方式可能不同; 项目跟踪和控制活动的应用方式可能不同; 过程描述的详细程度和严谨程度可能不同; 客户和利益相关者对项目参与的程度可能不同; 软件团队所赋予的自主权可能不同; 队伍组织和角色的明确程度可能不同。
下优先级进行增量开发:
第一个增量实现基本的文件管理、编辑和文档生成功能
; 第二个增量实现更加完善的编辑和文档生成功能; 第三个增量实现拼写和文法检查功能; 第四个增量完成高级的页面布局功能; ……
增量模型的特点
增量过程模型综合了线性、并行、演化三种过程流的
特征。
对于每个增量,使用的是线性过程流;
过程流
过程流(process flow):描述了在执行顺序和执行时
间上,如何组织框架中的活动、动作和任务。 大致有四大类不同的过程流:
《软件工程-实践者的研究方法》chapter_17.ppt

2
What Are These Changes?
changes in business requirements
changes in technical requirements
changes in user requirements
other documents
Project Plan
software models
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Bersoff, et al, 1980
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
4
Baselines
The IEEE (IEEE Std. No. 610.12-1990) defines a baseline as:
• A specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures.
软件工程实践者的研究方法

软件工程实践者的研究方法软件工程实践者的研究方法是指在软件工程领域进行科研或实践活动时所采用的研究方法。
作为软件工程师或研究人员,了解和掌握科学的研究方法对于提高研究效果和质量至关重要。
首先,软件工程实践者常常会采用文献综述的方法。
文献综述是对已有文献进行系统性的搜集、整理和分析。
通过阅读和分析已有的相关文献,实践者可以了解和掌握已有研究的理论基础、研究方法和结果。
在进行软件工程研究时,文献综述可以帮助实践者了解当前研究热点和知识前沿,避免重复前人工作,并为自己的研究提供理论支持。
其次,软件工程实践者常常会进行实证研究。
实证研究是指通过实验、调查、数据分析等手段,收集和分析实际数据来回答研究问题。
在软件工程领域,实证研究可以帮助实践者验证和评估软件工程技术、方法和工具的有效性和可行性。
实证研究的方法包括实验设计、问卷调查、数据分析等。
实证研究通常需要建立假设、收集数据、进行数据分析并得出结论,从而为软件工程实践提供科学依据。
另外,软件工程实践者还可以采用案例研究的方法。
案例研究是通过深入研究个别现象,来了解其背后的特征、机制和原理。
在软件工程领域,案例研究可以帮助实践者了解特定软件项目的开发过程、团队合作方式、问题和解决方案等。
案例研究的方法包括案例选择、数据收集、数据分析和结果解释等。
通过案例研究,软件工程实践者可以提炼出通用的经验和教训,为软件工程实际工作提供指导和启示。
此外,软件工程实践者还可以采用原型开发和评估的方法。
原型开发是指通过迭代的方式,快速构建软件原型并与用户进行交互和反馈。
在软件工程研究中,原型开发可以帮助实践者快速验证和演示新的软件功能和设计理念。
而原型评估则是对原型实施用户调查、实验和评估,以了解用户对软件原型的满意度、易用性和实用性等。
原型开发和评估的方法可以帮助实践者迅速验证和改进其研究成果,提高软件工程实践的效果和用户体验。
最后,软件工程实践者还可以采用模型构建和仿真的方法。
软件工程-实践者的研究方法

软件工程-实践者的研究方法在软件工程领域,实践者经常面临着各种各样的问题,需要进行研究来解决这些问题。
研究方法在实践者的工作中起到了至关重要的作用,帮助他们系统地获取、分析和应用相关信息。
本文将介绍几种常见的软件工程实践者的研究方法,包括案例研究、调查研究、实验研究和文献综述。
一、案例研究案例研究是软件工程实践者常用的一种研究方法。
它通过详细地调查和分析实际的软件项目或实践案例,来获取关于软件开发和维护过程的有用信息。
案例研究可以帮助实践者深入了解实际工作中的问题、挑战和解决方法,从而提高他们的技术水平和工作效率。
二、调查研究调查研究是另一种常用的软件工程实践者的研究方法。
它通过问卷调查、访谈或观察等方式收集数据,以了解实践者在软件开发和维护过程中的实际行为、经验和观点。
调查研究可以帮助实践者了解目标用户的需求和期望,从而指导他们进行需求分析和设计工作。
三、实验研究实验研究是一种系统的、科学的研究方法,广泛应用于软件工程领域。
实践者可以设计和进行实验,以验证和评估不同的软件开发方法、工具和技术。
实验研究可以帮助实践者比较不同的解决方案,评估其性能和效果,从而帮助他们做出更为科学和合理的决策。
四、文献综述文献综述是软件工程实践者常用的一种研究方法。
它通过查阅和分析已有的文献和相关资料,来了解和总结某个特定主题的研究进展、方法和结果。
文献综述可以帮助实践者了解目前领域内的最新进展和成果,从而指导他们的实际工作和研究方向。
除了上述几种常见的研究方法,实践者还可以结合不同的方法进行混合研究。
例如,可以通过案例研究和调查研究相结合,来获取更全面和准确的信息;或者可以通过实验研究和文献综述相结合,来验证和支持已有的理论和方法。
总之,软件工程实践者在进行研究时可以选择多种方法,根据实际情况来确定最合适的方法。
无论选择哪种方法,都应该注重数据的收集和分析,严谨地进行研究,以获取有价值的结果,并将其应用到实际工作中,不断提高软件开发和维护的质量和效率。
《软件工程-实践者的研究方法》chapter_20_cn_项目估算PPT精品文档29页

2005
5
了解范围...
理解客户需求 理解业务上下文 理解项目边界 理解用户的动机 理解改变发生的可能路径 理解…….
即使你已经理解了,还是不能保证任何事情!
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s
har dware
environment
network resources
proj ect
OTS components
reusable software
new components
full -experi ence components
par t.-experience components
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s
Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001,
2005
1
项目计划任务集合——I
构造项目范围 确定可行性 分析风险
见25章
确定需要的资源
Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001,
《软件工程-实践者的研究方法》chapter_17_cn_软件配置管理PPT精品文档23页

u se -case s an aly sis m o d e l
sce n ario -b ase d d iag ram s f lo w -o rie n t e d d iag ram s class-b ase d d iag ram s b e h av io ral d iag ram s d e sig n m o d e l arch it e ct u ral d iag ram s in t e rf ace d iag ram s co m p o n e n t -le v e l d iag ram s t e ch n ical m e t rics
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s
Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001,
Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001,
2005
9
SCM 库
SCM中心库是一组机制和数据结构,使软件团队能够 用一种更有效地方法管理变更。
已经通过正式评审和批准的规格说明或产品,它可以作为 进一步开发的基础,并且只有通过正式的变更控制规程才 能修改它。
《软件工程-实践者的研究方法》chapter_07.ppt

the design should provide a complete picture of the software, addressing the data, functional, and behavioral domains from an implementation perspective.
be ha v i or a l element s
state diagrams sequence diagrams
Com pone nt Le v e l De sign
Int e rfa c e De sign Arc hit e c t ura l De sign
D a t a / Cla ss D e sig n
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.
Design Model
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.
《软件工程-实践者的研究方法》chapter_09_cn_构件设计共15页

Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001,
2005
2
什么是构件?
在面向对象软件工程环境中,构件包括一组协作的类 (有时,一个构件只包含一个单独的类)。
2005
5
基本设计原则
开关原则/The Open-Closed Principle (OCP). “A module [component] should be open for extension but closed for modification.
什么是构件?
构件是计算机软件中的一个模块化的构造块。 OMG UML规范对构件的定义:系统中模块化的、可配
置的和可替换的部件,该部件封装了实现并暴露了一组 接口。 OMG Unified Modeling Language Specification [OMG01] defines a component as
com put ePageC ost ( ) com put ePaper C ost ( ) com put ePr odC ost ( ) c o m p u t e To t a lJ o b C o s t ( )
< < in t e r f a c e > > in it ia t e J o b
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s
Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
2
Scheduling Principles
compartmentalization—define distinct tasks
interdependency—indicate task interrelationship
falling behind schedule and a lack of action to correct the problem
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
4
Effort Allocation
40-50% 15-20% 30-40%
“front end” activities
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Rogeivery Time
Ef fort Cost
Impos sible region
Ed
Eo td
Tmin = 0.75T d
Ea = m (
t
4 d
/
ta4)
Ea = eff ort in person-months t d = nominal delivery time for schedule t o = optimal development time (in terms of cost) t a = actual delivery time desired
effort validation—be sure resources are available
defined responsibilities—people must be assigned
defined outcomes—each task must have an output
defined milestones—review for quality
technical difficulties that could not have been foreseen in advance;
human difficulties that could not have been foreseen in advance; miscommunication among project staff that results in delays; a failure by project management to recognize that the project is
For non-profit educational use only
May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is prohibited without the express written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use.
an honest underestimate of the amount of effort and/or the number of resources that will be required to do the job;
predictable and/or unpredictable risks that were not considered when the project commenced;
to
development time
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
1
Why Are Projects Late?
an unrealistic deadline established by someone outside the software development group
changing customer requirements that are not reflected in schedule changes;
Chapter 21
Project Scheduling
Slide Set to accompany
Software Engineering: A Practitioner’s Approach, 7/e
by Roger S. Pressman
Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman