Title: Software Engineering 2 Spring 2003 Project Management
1Software Engineering 2Spring 2003 Project
Management
- Eliezer Kaplansky
- and
- Guy Viener
2software development process is a business process
Our view
The client view
3Unified Process for EDUcation (UPEDU)
http//www.upedu.org/upedu/
Rational Software Corporation Â
École Polytechnique de Montréal
4Phases and Iterations
5The final goal Artifacts
- A document, such as Software Requirements
Specification - A model, such as the Use-Case Model or the
Design Model - A model element that is, an element within a
model, such as a class, or a subsystem .
6Use cases is the BASIC tool for SE
7Test phase
- Example test case serves to check the correct
functioning of the Withdraw-money use-case - Input
- The bank customer identifies himself correctly
- The account 12-121-1211 has 1.500.000 Lire
- The bank customer wishes to withdraw 1.000.000
Lire from the account 12-121-1211 - There is enough money available in the ATM
- Result
- The balance of the customer account 12-121-1211
decreases to 500.000 Lire - The bank customer receives 1.000.000 Lire from
the ATM - Conditions
- No other use-cases are allowed to access the
account 12-121-1211 during this transaction
8Configuration Change Management
- Identifying configuration items.
- Restricting changes to those items.
- Auditing changes made to those items.
- Defining and managing configurations of those
items.
9Configuration Change Management Workflow
10Roles and Activities
- A role is an abstract definition of a set of
activities performed and artifacts owned.. - Roles are typically realized by an individual,
or a set of individuals, working together as a
team. - A project team member typically fulfills many
different roles.
11List of Roles
- Analyst
- Designer
- Implementer
- Integrator
- Tester
- Change Control Manager
- Configuration Manager
- Reviewer
- Stakeholder
- Project Manager
Role responsibilities allocated to people.
Worker
12Role  Analyst
- The system analyst role leads and coordinates
requirements elicitation and use-case modeling by
outlining the system's functionality and
delimiting the system for example, establishing
what actors and use cases exist, and how they
interact.
- A person that is good facilitator and has
above-average communication skills. Knowledge of
the business and technology domains.
13Role  Designer
- The designer role defines the responsibilities,
operations, attributes, and relationships of one
or several classes, and determines how they will
be adjusted.
- The designer must have a knowledge of
- use-case modeling techniques
- system requirements
- software design techniques, including
object-oriented analysis and design techniques,
and the Unified Modeling Language - technologies with which the system will be
implemented
14Role  Implementer
- The implementer role is responsible for
developing and testing components.
- The appropriate skills and knowledge for the
implementer include - Knowledge of the system or the application
domain. - Familiarity with testing and test automation
tools. - Programming skills
15Role  Tester
- The Tester role is responsible for the core
activities of the test effort.
- Knowledge of testing approaches and techniques
- Diagnostic and problem-solving skills.
- Knowledge of the system or application being
tested (desirable) - Knowledge of networking and system architecture
(desirable)
16Test Artifact Set
17Role  Change Control Manager
- The change control manager role oversees the
change control process.
- The change control manager should
- Understand configuration management principles.Â
- He/she should be skilled in estimating cost and
schedule impacts of change requests. - He/she should be able to communicate effectively.
18Artifact  Change Request
- Size
- How much existing work will have to change?
- How much new work will need to be added?
- Alternatives - Are there any?
- Complexity - Is the proposed change easy to make?
- What are the possible ramifications of making
this change? - Severity - Is there any loss of work or data
involved? - What is the impact of not implementing this
request? - Is this an enhancement request?
- Is it a minor annoyance?
- Schedule - When is the change required?
- Is that feasible?
- Impact - What are the consequences of making the
change? - What are the consequences of not making the
change? - Cost - What is the cost of saving from making
this change?
19Role  Configuration Manager
- The configuration manager provides the overall
Configuration Management (CM) infrastructure and
environment .
- The configuration manager is also responsible
for - Writing the CM Plan.
- Reporting progress statistics based on change
requests. - To ensure that the CM environment facilitates
product review, and change and defect tracking
activities.
20Role  Reviewer
- The Reviewer plans and conducts the formal
reviews in different disciplines.
- A person acting as reviewer has some
- Essential knowledge of the business or
technology domain. - Another skill reviewers possess is detailed
knowledge of the applied facilitation and
modeling techniques.
21Configuration Change Management Artifact Set
22Role  Project Manager
- The project manager
- Allocates resources.
- Shapes priorities.
- Coordinates interactions with customers and
users. - Generally keeps the project team focused on the
right goal. - Establishes a set of practices that ensure the
integrity and quality of project artifacts.
23Project Management Artifact Set
24Role  Stakeholder
- Examples of stakeholders
- Customer or customer representative
- User or user representative
- Investor
- Shareholder
- Production manager
- Buyer
- Designer
- Tester
- Documentation writer