1. Acropolis Institute of Technology and
Research
2/20/20151
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
2. Agenda:
Project Management
Project Process Model
Water fall model
Spiral Model
Re-Engineering
Software Engineering Team
Scheduling and Tracking
Principle of Object Oriented Program Management
2/20/20152
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
3. Project management encompasses all the activities needed to plan and
execute a project:
Deciding what needs to be done
Estimating costs Ensuring there are suitable people to undertake the Project.
Defining responsibilities
Scheduling Making arrangements for the work
Directing
Being a technical leader
Reviewing and approving decisions made by others
Monitoring and controlling
Coordinating the work with managers of other projects Reporting
Continually striving to improve the process
Project Management
2/20/20153
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
4. Software process models are general approaches for organizing a
project into activities. Help the project manager and his or her team to
decide:
—What work should be done;
—In what sequence to perform the work.
The models should be seen as aids to thinking, not rigid prescriptions of
the way to do things. Each project ends up with its own unique plan.
Project Process Model
2/20/20154
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
5. Water Fall Model:
The classic way of looking at S.E. that accounts for the importance of
requirements, design and quality assurance.
The model suggests that software engineers should work in a series of
stages.
Before completing each stage, they should perform quality assurance
(verification and validation).
The waterfall model also recognizes, to a limited extent, that you sometimes
have to step back to earlier stages.
Project Process Model
2/20/20155
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
6. Project Process Model(Waterfall Model)
Requirement and
gathering
Specification
Design
Implementation
Integration and
Deployment
Maintenance
2/20/20156
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
7. It explicitly embraces prototyping and an iterative approach to software
development.
Start by developing a small prototype.
Followed by a mini-waterfall process, primarily to gather requirements.
Then, the first prototype is reviewed.
In subsequent loops, the project team performs further requirements, design,
implementation and review.
The first thing to do before embarking on each new loop is risk analysis.
Maintenance is simply a type of on-going development.
Project Process Model(Spiral Model)
2/20/20157
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
8. Periodically project managers should set aside some time to re-engineer
part or all of the system.
The extent of this work can vary considerably:
—Cleaning up the code to make it more readable.
—Completely replacing a layer.
—Re-factoring part of the design.
In general, the objective of a re-engineering activity is to increase
maintainability.
Re-Engineering
2/20/20158
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
9. Software engineering is a human process.
Choosing appropriate people for a team, and assigning roles and
responsibilities to the team members, is therefore an important
project management skill Software engineering teams can be
organized in many different ways
a) Egoless
b) Chief programmer
c) Strict hierarchy
Software Engineering Team
2/20/20159
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
10. Egoless:
In such a team everybody is equal, and the team works together to achieve a
common goal.
Decisions are made by consensus. Most suited to difficult projects with
many technical challenges.
Hierarchical manager(Strict hierarchy)
Each individual reports to a manager and is responsible for performing the
tasks delegated by that manager.
Suitable for large projects with a strict schedule where everybody is well-
trained and has a well-defined role.
However, since everybody is only responsible for their own work, problems
may go unnoticed.
Software Engineering Team
2/20/201510
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
11. Chief programmer team:
Midway between egoless and hierarchical.
The chief programmer leads and guides the project.
He or she consults with, and relies on, individual specialists.
Skills needed on a team:
Architect
Project manager
Configuration management and build specialist
User interface specialist
Technology specialist
Hardware and third-party software specialist
User documentation specialist
Tester
Software Engineering Team
2/20/201511
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
12. Scheduling is the process of deciding:
In what sequence the set of activities will be performed.
When they should start and be completed.
Tracking is the process of determining how well you are sticking to the
cost estimate and schedule.
Scheduling and Tracking
2/20/201512
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
13. Various Principles are used in object oriented program management.
Some important principles are as follow:
The UML(Unified Modeling Language) as a management tool.
Choosing a Development lifecycle Model.
Planning for object oriented programming.
Principle of Object Oriented Program Management
2/20/201513
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
14. The UML(Unified Modeling Language) as a management tool:
The UML is a recent synthesis of earlier object design languages.
The Object Management Group (OMG) released version 1.1 in November
1997.
The Unified Modeling Language (UML) includes a set of consistent
diagrams that may be used to describe and communicate a software system’s
requirements, design, and code.
It can be used to provide views of the system design and requirements at
different levels of abstraction, and its artifacts provide the common view
that serves as a basis for the collaborative design.
The UML is primarily focused on specifying and documenting a system’s
requirements and design.
In UML we study about:
1. Use-Case Diagram
2. Sequence Diagram
3. Class Diagram and many more…..
Principle of Object Oriented Program Management
2/20/201514
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
15. Choosing a Development lifecycle Model:
Product development starts with an idea and ends with a fielded product.
A product lifecycle is a set of steps that transform that idea in to a finished
product.
The lifecycle model is the center of the product management process.
The software development literature contains a variety of lifecycle models:
a) Waterfall Model
b) Spiral Model
c) Rapid Application Development(Time-boxes)
d) Controlled Iteration
Principle of Object Oriented Program Management
2/20/201515
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research
16. Planning for object oriented programming:
Planning begins with the Software Development Plan (SDP), which
documents exactly how we intend to manage your program. It includes:
a) Program deliverables
b) Choice of development lifecycle
c) Program staff organization
d) Required resources
e) Schedule
f) Work breakdown structure
g) Program time-phased budget
h) Risk planning
Principle of Object Oriented Program Management
2/20/201516
Lokendra Prajapati, MCA, Acropolis Institute of
Technology and Research