Escolar Documentos
Profissional Documentos
Cultura Documentos
Description 2 - Software are "sort of the things" we called programs used to direct the
operation of a computer, as well as documentation giving instructions on how to use them.
Software is "the thing" because it is intangible (we cannot touch, feel, or smell software)
and do not wear out (do not degrade). Software, once written will always be the way it is. It
is the physical media that "holds the software" that degrades, not the software itself because
software is not physical.
Description 3 - Software are also "the so-called things" that comprise ideas, instructions
and algorithms put into some language codes, stored on some media, then parsed, read,
compiled or interpreted and executed by another software, that for example, direct actions
ranging from controlling the lives of people in hospitals on life-support machines on one
end, to the navigation and control of humans going to the moon and returning back
successfully on the other extreme. In the middle, we have our handphones that allow us to
communicate using text, audio and video with our loved ones at anyplace and anytime, of
course with the help of software.
2. Engineering
A discipline that applies scientific and technical methods in the design and production
of a product
Description 2 - Engineering has many sub disciplines: For engines, cars, machines, etc
(mechanical engineering), buildings, bridges, roads, etc (civil engineering), electrical
machines and communication systems (electrical engineering), chemical plant and
machinery (chemical engineering), or aircraft (aeronautical engineering), sanitary (sanitary
engineering), environment (environmental engineering), software (software engineering)
and many many more.
3. Software Engineering
The application of a systematic, disciplined, quantifiable approach to the development,
operation, and maintenance of software
The practical application of scientific knowledge in the design and construction of
computer programs and the associated documentation required to develop, operate, and
maintain them
As of the 2004 edition, the SWEBOK guide define ten (10) Knowledge Areas (KAs) within
the field of software engineering:
5. Waterfall Model
System
Engineering
Analysis
Design
Code
Testing
Maintenance
Characteristics
The classic life cycle - oldest and most widely used paradigm
Activities ‘flow’ from one phase to another
If there are corrections, return to a previous phase and ‘flow’ from there again
Major advantages: Good for planning and well-defined/repeated projects
Problems
Real projects often follow the sequence
All requirements may not be stated explicitly by customer
Customer only sees the results after some time
Developers are often delayed at certain phases
6. Prototyping Model
Start
Requirements
Quick Building
gathering and
design prototype
refinement
Stop
Characteristics
Developer and customer determine objectives and draft requirements
Prototype quickly produced and evaluated by customer
Prototype then refined, and re-evaluated
Process iterated, before final product development
Advantages: Customer participation and better requirements
Problems
Customer may see prototype as working model and expects fast results
Developer compromised when producing prototype quickly, e.g. different operating
system or programming language
Business Business
Modeling Modeling
Data Data
Modeling Modeling
Process Process
Modeling Modeling
Application Application
Generation Generation
Characteristics
“High-speed” version of waterfall model
Primarily for information systems applications
Requirements well-understood, fully functional system produced in short time
The application modularized - major functions can be completed in 3 months
Separate teams complete the functions, then integrated as a whole
Requires human resource and commitment
8. Incremental Model
Characteristics
Software separated into different “increments” - complete working portions
Focus on delivery of operational product with each increment - can be evaluated
Useful when insufficient staff and can be planned to manage technical risks, e.g.
waiting for new hardware
9. Spiral Model
Characteristics
Originally proposed by Boehm, couples iterative nature of prototyping and the
systematic aspects of waterfall model
Software is developed in series of incremental releases
Each iteration produces a more complete product
Better management through risk analysis
Problems
May be difficult to convince customers that evolution is controllable
Demands risk assessment expertise - major risk will cause problems if not identified
Relatively new and not widely used - cannot determine performance
Build
components
Yes
Identify Look up
Construct
candidate components Available?
System
components in library
No
Extract
components
Characteristics
Use of object-oriented technology
Components - classes that encapsulate both data and algorithms
Components developed to be reusable
Paradigm similar to spiral model, but engineering activity involves components
System produced by assembling the correct components
Requirements
gathering
"Design"
Strategy
Implementation
using 4GL
Testing
Characteristics
Use of software tools that allow software engineer to specify s/w characteristics at
higher level
The tools generate codes based on specification
More time in design and testing - increase productivity
Tools may not be easy to use, codes generated may not be efficient
12. Project
A group of tasks performed in a definable time period in order to meet a specific set of
objectives.
A project may involve the activities of a team of people, or be a relatively complex series
of activities completed by a single person.
Project Features:
Defined Budget and Schedule
Specific Start and End time
Work Scope
Unique
Team of individuals
13. Management
Management involves the activities and tasks taken by one or more persons. Its
functions can be categorized as planning, organizing, staffing, directing and controlling.
Management Activities:
Planning sets to determine in advance what are the activities that need to be executed to
accomplish the objectives.
Organizing involves arranging the necessary resources to carry out the plan. It is the
process of creating structure, establishing relationships, and allocating resources to
accomplish the goals of the organization.
Staffing means the process of selecting and training people for positions in the
organizations.
Directing is an act of leadership. Directing is important to create an atmosphere that
will motivate and enable others to contribute toward the desired end result.
Controlling is an act of establishing, measuring and evaluating activity performance
against the objectives that were planned ahead.
PROCESS ==> Estimation is not an exact science. Can be off by a mile in cost and time ...,
etc.
PROJECT ==> A director with brains, eyes, ears, a gun (to use) ... to get things done, by
hook or by crook. Managing the project PRMCC (Planning, Reviewing,
Monitoring, Control and Coordination)
1. Initiating
2. Planning
3. Executing
4. Monitoring and Controlling (Milestones)
5. Closing
(Trimester 3 2007/2008)
QUESTION B1
(a) Compare the Incremental Model with the Spiral Model. Draw a figure to represent each
model, and list their advantages and disadvantages. [10 marks]
(c) What are the purposes and main tasks of the "definition phase" in the software development
process? [3 marks]
(Trimester 3 2008/2009)
1. During the early days of computing, software program were written to make the hardware
works. However, as computer applications evolve, the need to create a larger software
programs rises. Due to this need, software engineering is introduced to the development of
such programs.
ii. Describe why software engineering is so important for software development. [2 marks]
(Trimester 3 2010/2011)
QUESTION B1 SOFTWARE PROJECT MANAGEMENT
B1(a) Describe five (5) goals of Project Management. Focus the goals specifically for software
engineering project management. You may provide appropriate examples in your
answers.
[5 x 2 points = 10 points]
B1(b) Explain the meaning of the following terms used in project management.
B1(c) Discuss the accuracy of the statement, "A high degree of technical expertise is a bonus
but not necessary to be a project manager". In your answer, discuss five (5) major
attributes required for a good project manager.
[5 points]
B2(b) What is the primary difference between the Waterfall Model and the Spiral Model?
[3 points]
B2(c) List down three (3) important characteristics of the Agile Software Development Model.
[3 points]
B2(d) Explain three (3) benefits of the Rational Unified Process (RUP) model.
[3 points]
B2(f) In terms of its implementation, explain about the Rapid Application Development (RAD)
model.
[3 points]
B2(g) Discuss five (5) issues of consideration when making decisions regarding the choice of
the right process model for a software engineering project.
[5 points]