This document provides an introduction to software engineering and software project management. It defines software, software engineering, and a software process. Software engineering is described as the application of systematic and quantifiable approaches to software development, operation, and maintenance. A software process involves specification, requirements, development, validation, and evolution phases. Software project management is defined as the art and science of planning and leading software projects, and involves activities like proposal writing, planning, costing, monitoring, and personnel management. Key phases of software project management are planning, organizing, monitoring, and adjusting.
1 of 13
Download to read offline
More Related Content
Lecture 01
1. CEN 4021
Software Engineering II
Instructor: Anton Fajardo
Introduction:Introduction:
What is Software Project Management?What is Software Project Management?
3. What is Software?What is Software?
Software
?Computer programs and associated
documentation
Documentation includes:
?requirements
?design models
?program comments
?configuration files
?user manuals
4. SoftwareSoftware
Software artifact – A unit of material, in the form
of a document, presentation, or code, that is
developed as a part of, or as a contribution to,
the final solution to the users.
Code – A set of instructions to a device, possibly
a computing device, to perform a desired set of
instructions.
5. What is Software Engineering?
The application of a systematic, disciplined, quantifiable approach to the development,
operation and maintenance of software, i.e., the application of engineering to
software. [IEEE, 1990]
“Methods and techniques to develop and maintain quality software to solve problems.”
[Pfleeger, 1990]
“Study of the principles and methodologies for developing and maintaining software
systems.” [Zelkowitz, 1978]
“Software engineering is an engineering discipline which is concerned with all aspects
of software production.” [Sommerville 2004]
5
6. What is Software Engineering? (cont.)
“Practical application of scientific knowledge in the design
and construction of computer programs and the
associated documentation required to develop, operate,
and maintain them.”
[Boehm, 1976]
“Deals with establishment of sound engineering principles
and methods in order to economically obtain software
that is reliable and works on real machines.”
[Bauer, 1972]
6
7. What is Software Engineering? (cont.)
Software engineers should adopt a systematic and
organised approach to their work and use appropriate
tools and techniques depending on the problem to be
solved, the development constraints and the resources
available.
Software engineering is concerned with theories, methods
and tools for professional software development.
To produce quality software within constraints
? Time & Cost
8. What is a Software Process?What is a Software Process?
A set of activities whose goal is the development and/or evolution of software.
What four phases are generally part of a software process?
? Specification – defines what the system should do and any constraints on its development
or operation.
? Requirements Elicitation and Analysis
? Development - production of the software system
? System Design, Object Design and Implementation
? Validation - checking that the software is what the customer wants
? Inspections, Reviews, and Testing
? Evolution - changing the software in response to changing demands.
? Corrective, Adaptive, Perfective, and Preventative Maintenance
9. What is S/W Project Management?What is S/W Project Management?
The art and science of planning and leading
software projects
? S/w projects are planned, implemented, monitored and controlled.
Concerned with ensuring that, for a software project:
? appropriate process and methodologies are chosen,
? desired internal product structure is attained and
? external product properties are achieved.
In addition, the project management constraints of schedule and resources must be met.
10. Why is SPM difficult?Why is SPM difficult?
The product is intangible:
? Software cannot be seen or touched.
? It is difficult to see and measure progress.
There are no standard software processes.
? S/w process varies from one organization to another.
? Effects are readily seen when the s/w project is part of a wider systems
engineering project.
11. Why is SPM difficult? (cont.)Why is SPM difficult? (cont.)
Large software projects are often ‘one-of-a-kind’
?Usually s/w projects differ in some ways from previous
projects.
?Experience gained on one project may not work for
another project.
?Technological changes in computers and
communications can make a manager’s experience
obsolete.
[Sommerville ’04]
12. SPM ActivitiesSPM Activities
SPM activities include:
?Proposal writing
?Project planning and scheduling
?Project cost
?Project monitoring and reviews
?Personnel selection and evaluation
?Report writing and presentations
13. Phases of SPMPhases of SPM
The previous management activities are
captured using the acronym POMA:
?Planning
?Organizing
?Monitoring
?Adjusting