Agile Methodology

advertisement
CONTENT WRITING
TEMPLATE
Author:
:
Dr. Zaitun A. B.
Date:
:
5/1/2009
Subject Title:
:
IT and Applications
Subject Code
:
CICT1033
Lesson Title
:
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
Version: 1.0
Systems Analysis and Design
Introduction:
Developing an information system can be a risky and tricky task. There methodologies to help
developers build information system. In the very early stages, the systems analyst will meet the
users and investigate the real problems and propose solutions and alternatives.
Very often, users requirements are misunderstood and in return, the analyst built systems that do
not meet all users requirements fully.
The following pictures demonstrate the whole situation.
(I will come and give you the picture myself)
Learning Outcome:
In the end of this lesson, you will be able to:

Understand what is meant by ‘system thinking’

Understand the different phases of system developments life cycle

Identify the strengths and weaknesses of different development methodologies such as: RAD,
Prototyping, JAD and CASE

Explain Agile Methodologies and Extreme Programming

Describe OOSAD and RUP
*Every topic must cover one learning outcome only.
List of Topic
No
1.
2.
Topic Title
Introduction
The Systems Development Environment
<Topic #> <Lesson Title> | Private and Confidential
1
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
3.
The information Systems Development Life Cycle (SDLC)
4.
Rapid Application Development (RAD), prototyping, Joint Application Development (JAD) and
Computer Aided Software Engineering (CASE).
5.
Agile methodologies and extreme programming
6.
Object Oriented Analysis and Design and the Rational Unified Process (RUP).
*Maximum 12 topics.
Terminology
No
1.
Word
System
Definition
A system is a collection of components that work together to realize some
objective forms and the three major components in every system, namely
input, processing and output.
2.
Integrated
An integrated information system is a system used by the whole
information system
organization for each of their functional division with a single data
repository.
3.
4.
5.
6.
Distributed
Distributed information system, are information sub-systems that form
information system
islands of information systems in an organization
System life cycle
System life cycle is an organizational process of developing and
(SDLC)
maintaining systems.
Rapid application
It is an approach to system development which attempts to create an
development
application more quickly through strategies that include fewer formal
(RAD),
methodologies and reusing software components.
Joint Application
The Joint Application Development (JAD) methodology is an approach to
Development (JAD)
system development which aims to involve the client in the design and
development of an application.
7.
Prototyping
Prototyping is the process of quickly putting together a working model (a
prototype) in order to test various aspects of a design, illustrate ideas or
features and gather early user feedback.
8.
CASE (computeraided software
engineering)
CASE (computer-aided software engineering) is the use of a computerassisted method to organize and control the development of software,
especially on large, complex projects involving many software components
and people.
<Topic #> <Lesson Title> | Private and Confidential
2
CONTENT WRITING
TEMPLATE
9.
Agile methodology
10.
Extreme
Programming (XP)
Rational Unified
Process (RUP)
11.
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
Agile methodology is an approach to project management, typically used in
software development which helps development teams to respond to the
unpredictability of building software through incremental, iterative work
cadences, known as sprints.
Extreme Programming (XP) is a deliberate and disciplined approach to
software development and it stresses customer satisfaction.
Rational Unified Process (RUP) is an object-oriented and Web-enabled
program development methodology.
Reference:
1. Ani – Animation
2. Gfx – Graphics
3. Voice over
4. Insert a diagram
5. Sub Topic
No. of Lesson
Sub Topic 1.1.1
No. of Sub Topic
No. of Topic
<Topic #> <Lesson Title> | Private and Confidential
3
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
Content
Topic Title
:
Topic 1: Introduction
Sub Topic 11.1.1
Systems Thinking
What is a system?
 Systems are created to solve problems. One can think of the systems approach as an organized
way of dealing with a problem.

System Analysis and Design, mainly deals with the software development activities. A system is a
collection of components that work together to realize some objective forms.

Basically there are three major components in every system, namely input, processing and
output.
In a system the different components are connected with each other and they are interdependent. For
example, Human body represents a complete natural system. We are also bound by many national
systems such as political system, economic system, educational system and so forth. The objectives of
the system demand that some output is produced as a result of processing the suitable inputs.
Activity A (Courseware Activity)
<Instruction: Click and drag …etc>
Activity B (Group Activity)
<Instruction: Discuss, collect, visit…etc>
Exercise
<Topic #> <Lesson Title> | Private and Confidential
4
CONTENT WRITING
TEMPLATE
<Topic #> <Lesson Title> | Private and Confidential
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
5
CONTENT WRITING
TEMPLATE
Topic Title
:
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
Topic 2: The information Systems Development Life Cycle
(SDLC)
Sub Topic 11.2.1
 Information system aims at providing detailed information on a timely basis throughout the
organization so that the top management can take proper and effective decisions.

The information system cuts across departmental lines and help achieving overall optimization for
the organization.

The organization is viewed as a network of inter-related sub-systems rather than as a hierarchy of
manager-subordinate relationship. The information system can be of two types:
(a) Integrated information system
(b) Distributed information system
Sub Topic 11.2.2
Integrated Information System

Based on the presumption that the data and information are used by more than one system in the
organization and accordingly, the data and information are channeled into a reservoir or
database.

All the data processing and provision of information is derived and taken from this common
database.

The development of an integrated information system requires a long-term overall plan,
commitment from management at all levels, highly technical personnel, availability of sufficient
fund, and sophisticated technology.

It also requires adequate standby facilities, without which the system is doomed to failure.
Because of its integrated component, the modification to the system is quite difficult and the
system development takes a fairly long time.
Insert a block diagram showing an integrated information system
Sub Topic 11.2.3
Distributed Information System

There are opinion that development of an integrated information system is embodied with several
practical problems and therefore, not feasible. This view has been reinforced by the failure of
integrated systems in various large organizations.

The concept of a distributed information system has emerged as an alternative to the integrated
<Topic #> <Lesson Title> | Private and Confidential
6
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
information system.

In the distributed information system, there are information sub-systems that form islands of
information systems.

The distributed information system aims at establishing relatively independent sub-systems,
which are, however, connected through communication interfaces.
Insert a block diagram showing a distributed information system
Sub Topic 11.2.4
There must be a special reason/s for choosing distributed information system!
Following are the advantages of the distributed information system:

The processing equipments as well as databases are dispersed, bringing them closer to the
users.

It does not involve huge initial investment as is required in an integrated system.

It is more flexible and changes can be easily taken care of as per user's requirements.

The problem of data security and control can be handled more easily than in an integrated
system.

There is no need of standby facilities because equipment breakdowns are not as calamitous as in
an integrated system.
Sub Topic 11.2.5
What about the negative aspects?
The drawbacks of the distributed system are:

It does not eliminate duplication of activities and redundancy in maintaining files.

Coordination of activities becomes a problem.

It needs more channels of communication than in an integrated system.
Activity A (Courseware Activity)
True or False:
1. In an integrated information system, the whole organizations used the same database.
2. The development of an integrated information system requires a long-term overall plan,
commitment from management at all levels, highly technical personnel, availability of sufficient
fund, and sophisticated technology.
<Topic #> <Lesson Title> | Private and Confidential
7
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
3. Distributed information system aims at establishing relatively independent databases.
4. The development of Distributed information system involves huge initial investment as is required
in an integrated system.
5. In distributed information systems, the problem of data security and control can be handled more
easily than in an integrated system.
6. Distributed information systems are not flexible and changes cannot be easily taken care of as
per user's requirements
7. In distributed information systems, there is no need of standby facilities because equipment
breakdowns are not as calamitous as in an integrated system.
8. In distributed information systems, coordination of activities is not a problem.
9. Distributed information systems need more channels of communication than in an integrated
system.
10. Integrated information system requires adequate standby facilities.
Answers:
1. True
2. True
3. False
4. False
5. True
6. False
7. True
8. False
9. True
10. True
Activity B (Group Activity)
Exercise
.
<Topic #> <Lesson Title> | Private and Confidential
8
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
.
Topic Title
:
Topic 3: The information Systems Development Life Cycle
(SDLC)
Sub Topic 11.3.1
System life cycle is an organizational process of developing and maintaining systems. It helps in
establishing a system project plan, because it gives overall list of processes and sub-processes required
developing a system. In the System Analysis and Design terminology, the system development life cycle
means software development life cycle. In short it is often referred to as SDLC. See figure 11.2. It is
made up of the following phases:
(a) System study
(b) Feasibility study
(c) System analysis
(d) System design
(e) Coding
(f) Testing
(g) Implementation
(h) Maintenance
The whole process can be summarised in a diagram shown in the next slide.
Sub Topic 11.3.2
Insert figue 11.2 of the mastertext
We will now look at each phase to understand what happens at each stage and see how they are related
to other stages of the SDLC.
Sub Topic 11.3.3
a) System study

System study gives a clear picture of what actually the physical system is.

It is done in two phases. In the first phase, the preliminary survey of the system is done which
helps in identifying the scope of the system.

The second phase of the system study is more detailed and in-depth study in which the
identification of user’s requirement and the limitations and problems of the present system are
studied.

After completing the system study, a system proposal is prepared by the System Analyst (who
studies the system) and placed before the user.
<Topic #> <Lesson Title> | Private and Confidential
9
CONTENT WRITING
TEMPLATE

Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
The proposed system contains the findings of the present system and recommendations to
overcome the limitations and problems of the present system in the light of the user’s
requirements.
Insert a block diagram to explain the above explanation.
Sub Topic 11.3.4
(b) Feasibility study
The feasibility study is basically the test of the proposed system in the light of its workability, meeting
user’s requirements, effective use of resources and .of course, the cost effectiveness. In the process of
feasibility study, the cost and benefits are estimated with greater accuracy. The outcome of this study is
the feasibility study report which management uses to decide whether to proceed with the system
development or otherwise. The report will be of three types: - operational feasibility report, technical
feasibility report and financial feasibility report.
Insert a block diagram to explain the above explanation.
Sub Topic 11.3.5
(c) System analysis

Analysis involved a detailed study of the current system, leading to specifications of a new
system.

It is a detailed study of various operations performed by a system and their relationships within
and outside the system.

During analysis, data are collected on the available files, decision points and transactions
handled by the present system.

Interviews, on-site observation and questionnaire are the tools used for system analysis.
All procedures, requirements must be analyzed and documented in the form of detailed data flow
diagrams (DFDs), data dictionary, logical data structures and miniature specifications. System Analysis
also includes sub-dividing of complex process involving the entire system, identification of data store and
manual processes.
The outcome of the system analysis phase is the detailed systems analysis report which will be used
during the system design and system development phase.
<Topic #> <Lesson Title> | Private and Confidential
10
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
Insert a block diagram to explain the above explanation.
Sub Topic 11.3.6
(d) System design
Based on the user requirements and the detailed analysis of a new system, the new system is designed.
This is the phase of system designing and it proceeds in two stages :

preliminary or general design

Structure or detailed design
Let us look at each stage a little closer.
Sub Topic 11.3.7
Preliminary or general design
 In the preliminary or general design, the features of the new system are specified.

The costs of implementing these features and the benefits to be derived are estimated. If the
project is still considered to be feasible, we move to the detailed design stage.
Detailed design stage

In the detailed design stage, computer oriented work begins in earnest. At this stage, the design
of the system becomes more structured.

Structure design is a blue print of a computer system solution to a given problem having the same
components and inter-relationship among the same components as the original problem.

Input, output and processing specifications are drawn up in detail.

In the design stage, the programming language and the platform in which the new system will run
are also decided.
Insert a block diagram to explain the above explanation.
Sub Topic 11.3.8
There is a lot of work involved at this stage and it is impossible for the analysis to describe everything in
words. Therefore the analysts will require some specific tools to assist them.
There are several tools and techniques used for designing. These tools and techniques are:

Flowchart

Data flow diagram (DFDs)
<Topic #> <Lesson Title> | Private and Confidential
11
CONTENT WRITING
TEMPLATE

Data dictionary

Structured English

Decision table

Decision tree
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
Insert examples of the above diagrams.
Sub Topic 11.3.9
(e) Coding
This is also called the programming phase in which the programmer converts the program specifications
into computer instructions, which we refer as programs. The programs coordinate the data movements
and control the entire process in a system.
Insert a sample page of program codes.
Sub Topic 11.3.10
(f) Testing
Before actually implementing the new system into operations, a test run of the system is done removing
all the bugs, if any. After codifying the whole programs of the system, a test plan should be developed
and run on a given set of test data. The output of the test run should match the expected results.
Using the test data following test run are carried out:

Unit test

System test
Unit test:
When the programs have been coded and compiled and brought to working conditions, they must be
individually tested with the prepared test data. Any undesirable happening must be noted and debugged
(error corrections).
System Test:
 After carrying out the unit test for each of the programs of the system and when errors are
removed, then system test is done.

At this stage the test is done on actual data. The complete system is executed on the actual data.

At each stage of the execution, the results or output of the system is analyzed.

During the result analysis, it may be found that the outputs are not matching the expected out of
<Topic #> <Lesson Title> | Private and Confidential
12
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
the system. In such case, the errors in the particular programs are identified and are fixed and
further tested for the expected output.

When it is ensured that the system is running error-free, the users are called with their own
actual data so that the system could be shown running as per their requirements.
Insert a block diagram to explain system testing.
Sub Topic 11.3.11
(g) Implementation
 Implementation is the stage of a project during which theory is turned into practice.

During this phase, all the programs of the system are loaded onto the user's computer. After
loading the system, training of the users starts.

After the users are trained about the computerized system, manual working has to shift from
manual to computerized working.

The following two strategies are followed for running the system:
i.
Parallel run: In such run for a certain defined period, both the systems i.e. computerized
and manual are executed in parallel.
ii.
Pilot run: In this type of run, the new system is installed in parts. Some part of the new
system is installed first and executed successfully for considerable time period. When the
results are found satisfactory then only other parts are implemented. This strategy builds
the confidence and the errors are traced easily.
Insert block diagrams to explain parallel run and pilot run.
Sub Topic 11.3.12
(h) Maintenance
 Once the system is up and running, we need to do maintenance work. Maintenance is necessary
to eliminate errors in the system during its working life and to tune the system to any variations in
its working environment.

It has been seen that there are always some errors found in the system that must be noted and
corrected. It also means the review of the system from time to time. The review of the system is
done for:
I. knowing the full capabilities of the system
II. knowing the required changes or the additional requirements
III. studying the performance
<Topic #> <Lesson Title> | Private and Confidential
13
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
If a major change to a system is needed, a new project may have to be set up to carry out the change.
The new project will then proceed through all the above life cycle phases.
Activity A (Courseware Activity)
Fill in the blanks.
1. During the …… stage, all the programs of the system are loaded onto the user's computer and the
training of the users starts.
2. During the …… stage, errors in the system during its working life are eliminated and the system is
fine tuned to cater for any variations in its working environment.
3. During the …… stage, all bugs in the programs are removed.
4. During the …… stage, the programmer converts the program specifications into computer
instructions, which we refer as programs.
5. During the …… stage, the features of the new system are specified
6. During the …… stage, Input, output and processing specifications are drawn up in detail
7. During the …… stage, data are collected on the available files, decision points and transactions
handled by the present system.
8. During the …… stage, the cost and benefits of the proposed system are estimated with greater
accuracy.
9. During the …… stage, a clear picture of what actually the physical system is defined.
10. During the …… stage, a system proposal is prepared by the System Analyst
Answer:
1. Implementation
2. maintenance
3. testing
4. coding
5. preliminary or general design
6. detail design
7. analysis
8. feasibilty study
9. System study
10. System study
Activity B (Group Activity)
<Topic #> <Lesson Title> | Private and Confidential
14
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
Exercise
Topic Title
:
Topic 4: Rapid Application Development (RAD), prototyping,
Joint Application Development (JAD) and Computer Aided
Software Engineering (CASE).
Sub Topic 11.4.1
There are many methodologies or approach to SDLC. The common ones that we will mention in our
lesson will be:
 Rapid Application Development (RAD)
 Joint Application Development (JAD)
 Prototyping
 Computer Aided Software Engineering (CASE)
We shall now look at each one briefly to complete our understanding of how information systems can be
developed efficiently.
Sub Topic 11.4.2
Rapid application development (RAD)
A variation on JAD, attempts to create an application more quickly through strategies that include fewer
formal methodologies and reusing software components. With conventional methods, there is a long
delay before the customer gets to see any results. Development can take so long that the customer's
business has fundamentally changed by the time the system is ready for use. The user cannot see
anything until 100% of the development process is finished and 100% of the software is delivered. RAD
are used because:

to converge early toward a design acceptable to the customer and feasible for the developers

to limit a project's exposure to the forces of change

to save development time, possibly at the expense of economy or product quality
Insert a block diagram to show how RAD works.
<Topic #> <Lesson Title> | Private and Confidential
15
Revision No.
Document No.
Effective Date:
CONTENT WRITING
TEMPLATE
0
CWT/ISDT/001
Sept 2008
Sub Topic 11.4.3
Joint Application Development (JAD)
The Joint Application Development (JAD) methodology aims to involve the client in the design and
development of an application. This is accomplished through a series of collaborative workshops called
JAD sessions. JAD is thought to lead to shorter development times and greater client satisfaction, both
of which stem from the constant involvement of the client throughout the development process. On the
other hand, with the traditional approach to systems development, the developer investigates the system
requirements and develops an application, with client input consisting of a series of interviews.
Insert a block diagram to show how JAD works.
Sub Topic 11.4.4
Prototyping

The process of quickly putting together a working model (a prototype) in order to test various
aspects of a design, illustrate ideas or features and gather early user feedback.

Often treated as an integral part of the system design process, where it is believed to reduce
project risk and cost.

Often one or more prototypes are made in a process of iterative and incremental development
where each prototype is influenced by the performance of previous designs; in this way, problems
or deficiencies in design can be corrected.

When
the
prototype
is
sufficiently refined
and
meets
the
functionality,
robustness,
manufacturability and other design goals, the product is ready for production.
Insert a block diagram to show how prototyping works.
Sub Topic 11.4.5
Advantages of Prototyping
 May provide the proof of concept necessary to attract funding

Early visibility of the prototype gives users an idea of what the final system looks like

Encourages active participation among users and producer

Enables a higher output for user

Cost effective (Development costs reduced)
<Topic #> <Lesson Title> | Private and Confidential
16
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008

Increases system development speed

Assists to identify any problems with the efficacy of earlier design, requirements analysis and
coding activities

Helps to refine the potential risks associated with the delivery of the system being developed
Sub Topic 11.4.6
Disadvantages of prototyping

User’s expectation on prototype may be above its performance

Possibility of causing systems to be left unfinished

Possibility of implementing systems before they are ready.

Producer might produce a system inadequate for overall organization needs

Producer might get too attached to it (might cause legal involvement)

Often lack flexibility

Not suitable for large applications
Sub Topic 11.4.7
Computer Aided Software Engineering (CASE).

CASE (computer-aided software engineering) is the use of a computer-assisted method to
organize and control the development of software, especially on large, complex projects involving
many software components and people.

Using CASE allows designers, code writers, testers, planners, and managers to share a common
view of where a project stands at each stage of development.

CASE helps ensure a disciplined, check-pointed process.

A CASE tool may portray progress (or lack of it) graphically.

It may also serve as a repository for or be linked to document and program libraries containing
the project's business plans, design requirements, design specifications, detailed code
specifications, the code units, test cases and results, and marketing and service plans.
Sub Topic 11.4.8
Background of CASE
 CASE originated in the 1970s when computer companies were beginning to borrow ideas from
the hardware manufacturing process and applies them to software development (which generally
has been viewed as an insufficiently disciplined process).

Some CASE tools supported the concepts of structured programming and similar organized
<Topic #> <Lesson Title> | Private and Confidential
17
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
development methods.

More recently, CASE tools have had to encompass or accommodate visual programming tools
and object-oriented programming. In corporations, a CASE tool may be part of a spectrum of
processes designed to ensure quality in what is developed.
Sub Topic 11.4.9
Benefits of CASE
 Some of the benefits of CASE and similar approaches are that, by making the customer part of
the process (through market analysis and focus groups, for example), a product is more likely to
meet real-world requirements.

Because the development process emphasizes testing and redesign, the cost of servicing a
product over its lifetime can be reduced considerably.

An organized approach to development encourages code and design reuse, reducing costs and
improving quality.

Finally, quality products tend to improve a corporation's image, providing a competitive advantage
in the marketplace.
Activity A (Courseware Activity)
Activity B (Group Activity)
Exercise
.
Topic Title
:
Topic 5: Agile methodologies and extreme programming
<Topic #> <Lesson Title> | Private and Confidential
18
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
Sub Topic 11.5.1
Besides the RAD, JAD, CASE and prototyping, there are newer and better methodologies being
introduced to improve systems development. Agile develoment and Extreme programming are some
of them. We will now look at them to understand how these new approaches work.
Sub Topic 11.5.2
Agile Methodology

An approach to project management, typically used in software development.

Helps teams respond to the unpredictability of building software through incremental, iterative
work cadences, known as sprints.

In waterfall, development teams only have one chance to get each aspect of a project right. In an
agile paradigm, every aspect of development — requirements, design, etc. — is continually
revisited throughout the lifecycle.

When a team stops and re-evaluates the direction of a project every two weeks, there’s always
time to steer it in another direction.

By focusing on the repetition of abbreviated work cycles as well as the functional product they
yield, agile methodology could be described as “iterative” and “incremental.”

The results of this “inspect-and-adapt” approach to development greatly reduce both
development costs and time to market.

Agile development methodology helps companies build the right product. Instead of committing to
market a piece of software that hasn’t even been written yet, agile empowers teams to optimize
their release as it’s developed, to be as competitive as possible in the marketplace.
Sub Topic 11.5.3
Extreme Programming (XP)

a deliberate and disciplined approach to software development.

It is only eight years old but it has already been proven at many companies of all different sizes
and industries worldwide to work.

XP is successful because it stresses customer satisfaction. The methodology is designed to
deliver the software your customer needs when it is needed. XP empowers your developers to
confidently respond to changing customer requirements, even late in the life cycle.

Emphasizes on teamwork. Managers, customers, and developers are all part of a team dedicated
to delivering quality software.

XP implements a simple, yet effective way to enable groupware style development.
<Topic #> <Lesson Title> | Private and Confidential
19
CONTENT WRITING
TEMPLATE

Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
XP improves a software project in four essential ways; communication, simplicity, feedback, and
courage. XP programmers communicate with their customers and fellow programmers.
They keep their design simple and clean. They get feedback by testing their software starting on day one.
They deliver the system to the customers as early as possible and implement changes as suggested.
With this foundation XP programmers are able to courageously respond to changing requirements and
technology. XP is a lot like a jig saw puzzle. There are many small pieces. Individually the pieces make
no sense, but when combined together a complete picture can be seen. This is a significant departure
from traditional software development methods and ushers in a change in the way we program.
Activity A (Courseware Activity)
True or False:
1. Agile methodology could be described as “iterative” and “incremental.”
2. Agile development cannot reduce both development costs and time to market.
3. Agile development focuses on the repetition of abbreviated work cycles as well as the functional
product they yield.
4. Agile development methodology helps companies build the right product
5. XP has already been proven at many companies of all different sizes and industries worldwide to
work.
6. XP empowers your developers to confidently respond to changing customer requirements, but oly
in the early life cycle.
7. XP does not emphasize on teamwork.
Answers:
1. True
2. False
3. True
4. True
5. True
6. Fasle
7. False
Activity B (Group Activity)
<Topic #> <Lesson Title> | Private and Confidential
20
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
Exercise
.
Topic Title
:
Topic 6: Object Oriented Analysis and Design and the Rational
Unified Process (RUP).
Sub Topic 11.6.1
Another approach to system development is through the object oriented paradigm. In the conventional
method, we use entities to model our data, but in object oriented approach we use objects to represent
data.
These objects have attributes to describe them and processes that it can be involved in which are called
methods. The approach to use objects in SLDC is called the Object Oriented Analysis and Design. It is
field or subject on its own. It has a set of notation and tools to assist analysts to develop systems. To
capture and document user requirements, the Use Case diagrams are used. To show the flow of events
and data in a process, the sequence diagrams are used. To show all the objects and relationships
between objects, the object and class diagrams are used.
Even though the Object Oriented Analysis and Design approach has been introuced since the late
1960s, the conventional approach to SDLC is still very much preferred and used in the industry.
Sub Topic 11.6.2
Rational Unified Process (RUP)

an object-oriented and Web-enabled program development methodology.

RUP is like an online mentor that provides guidelines, templates, and examples for all aspects
and stages of program development.

RUP and similar products -- such as Object-Oriented Software Process (OOSP), and the OPEN
Process -- are comprehensive software engineering tools that combine the procedural aspects of
development (such as defined stages, techniques, and practices) with other components of
development (such as documents, models, manuals, code, and so on) within a unifying
framework.
<Topic #> <Lesson Title> | Private and Confidential
21
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
Sub Topic 11.6.3
 RUP establishes four phases of development, each of which is organized into a number of
separate iterations that must satisfy defined criteria before the next phase is undertaken:
I.
in the inception phase, developers define the scope of the project and its business case;
II.
in the elaboration phase, developers analyze the project's needs in greater detail and
define its architectural foundation;
III.
in the construction phase, developers create the application design and source code;
IV.
and in the transition phase, developers deliver the system to users. RUP provides a
prototype at the completion of each iteration.
The product also includes process support for Java 2 Enterprise Edition (J2EE) and BEA (WebLogic)
development, and supplies an HTML-based description of the unified process that an organization can
customize for its own use.
Insert a block diagram to represent the above cycle.
Sub Topic 11.6.4
Other Methodologies that you may find includes:

Adaptive Project Framework

Crystal Methods

Dynamic Systems Development Model (DSDM)

Feature Driven Development (FDD)

Information Technology Infrastructure Library (ITIL)

Lean Development (LD)

PRINCE2

Rational Unified Process (RUP)

Scrum

Spiral

TenStep Project Management Process

Waterfall (a.k.a. Traditional)
Click on the above links to find out more about these methodologies and you may nt know whch one to
adopt. Each has its own strengths and weaknesses.
Activity A (Courseware Activity)
Fill in the blanks.
1. In the object oreinted methodology the ….. is used to capture and document user requirements.
<Topic #> <Lesson Title> | Private and Confidential
22
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
2. In the object oreinted methodology the ….. is used to show the flow of events and data in a
process.
3. In the object oreinted methodology the ….. is used to show the objects and relationships between
them.
4. ….. provides guidelines, templates, and examples for all aspects and stages of program
development.
5. … is an object-oriented and Web-enabled program development methodology.
6. In the ……. Phase of the RUP, developers define the scope of the project and its business case.
7. In the ……. Phase of the RUP, developers analyze the project's needs in greater detail and
define its architectural foundation.
8. In the ……. Phase of the RUP, developers create the application design and source code.
9. In the ……. Phase of the RUP, developers deliver the system to users.
10. ….. provides a prototype at the completion of each iteration.
Answers:
1. Use case diagram
2. Sequence diagram
3. Object and class dagrams
4. RUP
5. RUP
6. inception phase
7. elaboration phase
8. construction phase
9. transition phase
10. RUP
Activity B (Group Activity)
Exercise
<Topic #> <Lesson Title> | Private and Confidential
23
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
*Add more table for new topic if necessary.
<Topic #> <Lesson Title> | Private and Confidential
24
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
Summary
In the end of this lesson, you have learned that:
A system is a collection of components that work together to realize some objective forms.
Information system aims at providing detailed information on a timely basis throughout the
organization so that the top management can take proper and effective decisions.

The information system can be of two types: Integrated information system and Distributed
information system.

The system development life cycle is made up eight phases: System study, Feasibility study,
System analysis, System design, Coding, Testing, Implementation and Maintenance.

Rapid application development (RAD), attempts to create an application more quickly through
strategies that include fewer formal methodologies and reusing software components Prototyping
is the process of quickly putting together a working model (a prototype) in order to test various
aspects of a design, illustrate ideas or features and gather early user feedback.

The Joint Application Development (JAD) methodology aims to involve the client in the design
and development of an application.

CASE (computer-aided software engineering) is the use of a computer-assisted method to
organize and control the development of software, especially on large, complex projects involving
many software components and people.

Agile methodology helps teams respond to the unpredictability of building software through
incremental, iterative work cadences, known as sprints.

Extreme Programming (XP) is actually a deliberate and disciplined approach to software
development.

Rational Unified Process (RUP) is an object-oriented and Web-enabled program development
methodology.
Self Assessment
Fill in the blanks:
1. A …… is a collection of components that work together to realize some objective forms.
2. …… is an object-oriented and Web-enabled program development methodology.
3.
….. is a successful software development approach because it stresses customer satisfaction.
4. In ……. aspects of development such as: requirements, design, etc. — are continuously revisited
<Topic #> <Lesson Title> | Private and Confidential
25
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
throughout the lifecycle.
5. Some ….. support the concepts of structured programming and similar organized development
methods.
6. …… can lead to shorter development times and greater client satisfaction, both of which stem
from the constant involvement of the client throughout the development process.
7. ……. is often treated as an integral part of the system design process, where it is believed to
reduce project risk and cost.
8. ……. attempts to create an application more quickly through strategies that include fewer formal
methodologies and reusing software components.
9. ……. is the stage of a project during which all the programs of the system are loaded onto the
user's computer.
10. …… is when the programs which have been coded and compiled and brought to working
conditions, are individually tested with the prepared test data.
11. The ……. stage is when the design of the system becomes more structured.
12. The ……. is basically the test of the proposed system in the light of its workability, meeting user’s
requirements, effective use of resources and cost effectiveness.
13. The second phase of the …… is more detailed and in-depth, in which the identification of user’s
requirement and the limitations and problems of the present system are studied.
14. The …… system is based on the presumption that the data and information are used by more
than one system in the organization.
15. ……. is an organizational process of developing and maintaining systems.
Answers:
1. System
2. Rational Unified Process (RUP)
3. XP
4. agile programming
5. CASE tools
6. JAD
7. Prototyping
8. Rapid application development (RAD)
9. Implementation
10. Unit test
11. detailed design
12. feasibility study
<Topic #> <Lesson Title> | Private and Confidential
26
CONTENT WRITING
TEMPLATE
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
13. system study
14. integrated information
15. System life cycle
Short Essay Questions:
1. Define a system. Explain the components of a system.
2. What do you understand by system development life cycle?
3. Discuss the importance of system analysis and design in the development of a system?
4. What is difference between integrated information system and distributed information system?
5. What are the advantages of distributed systems?
6. What are the advantages and disadvantages of prototyping?
7. Compare and contrast between CASE tools, Prototyping, JAD and RAD.
8. What happens during the testing stage of the SDLC?
9. Why is the analysis phase of the SDLC very important?
10. Why is extreme programming getting more and more popular?
Reference
Computing Essentials 2002-2003 Complete, 14/e, Timothy J. O'Leary, Linda I. O'Leary, McGraw-Hill
2003.
Ending
*A short brief for the next lesson.
<Topic #> <Lesson Title> | Private and Confidential
27
CONTENT WRITING
TEMPLATE
<Topic #> <Lesson Title> | Private and Confidential
Revision No.
Document No.
Effective Date:
0
CWT/ISDT/001
Sept 2008
28
Download