2. Learning Outcomes
On successful completion of this module students will be
able to:
• understand the tools and techniques that are used in the
development of information systems;
• Perform evaluation of methodologies and select appropriate
methodologies.
• analyze, model and design information systems
• understand the strategies that are used to improve
productivity and quality during systems development;
• understand the organizational context within which systems
development takes place;
• Introduce emerging modeling techniques through review of
published articles
3. Content
Module Content
• Introduction to Information Systems
Development
• Information Systems Development Approaches
• Requirement Determination
• Object oriented analysis
• People and Organization themes
• Conceptual and Physical Design
• Comparing, Selecting, and adopting ISD
methodologies
4. Assessment Criteria
• 50%: Examination
• 25%: critiques of selected readings and
research papers
• 25%: Requirement Analysis
5. Reading Materials
• Avison, D.E. & G. Fitzgerald. 2006. Information
Systems Development:
• Methodologies, Techniques and Tools. 4th Ed.
London: McGraw-Hill.
• Bruegge, Bernd. 1999. Object-Oriented
Software Engineering: Conquering Complex
and Changing Systems. Prentice Hall
6. Chapter One
• Provides broader conceptualization of systems
theory and systems approach
– General systems theory
– Systems thinking
• Hard System
• Soft Systems
• Describes Information Systems and the context
• Provides brief account how SDMs evolved
overtime
7. General Systems Theory
• aims to develop broadly applicable systems concepts
and principles, as opposed to concepts and principles
specific to one domain of knowledge
7
8. General Systems Theory
• Postulates or Assumes :
– Order
• Properties:
– Interrelationship and interdependent of objects and
their attributes
– Holism (Whole)
– Goal seeking
– Inputs and outputs
8
9. Cont…
– Transformation process
– Regulation
– Hierarchy
– Differentiation
– Equifinality
• Reaching a given end states through different means
9
10. Systems thinking
• is a mind set or way of viewing the world as a system.
– It helps to see the big picture;
– It also helps to break problems down to their
components to avoid complexity.
– Emphasize to reduce disruptive effects of system
interventions such as maintenance on the entire system
– Contrasts with Analytical, Reductionist thinking
– Accordingly “A system is bigger than the sum of its
components” synergy (Ethiopia is bigger than the sum total of regions
separately treated)
10
11. Hard and soft systems thinking
• “Hard” systems thinking treats parts of the world as
systems, and investigates/ engineers them.
– Systems taken to exist.
• “Soft” systems thinking uses a process of enquiry which
is systemic.
– It uses systems models to help find out about the real
world, so we may explore the consequences of choosing
to view elements as if they were systems, but the
systems we model are notional, not representations of
the world.
• (See Checkland, 1999)
11
12. “Hard” vs “soft” systems thinking
Checkland (1981):
Soft systems approach
• organizations are complex, with problems which are
“fuzzy”, ill-defined, not well-structured, and where
multiple points of view exist ( e.g Cutting edge technology will
not address AAU’s Problem)
• In organizational setting Norms and Values exists which are difficult to
identify and model
• For instance recently, Value Based Design (VBD) to embed ethics in AI
systems. The Moral Machine Project of MIT
Hard systems approach
• focus on the certain and precise in situations e.g.
structured approaches, SSADM
• assume there is, and consider, only one point of view
5.12
13. Information System and the Context
• Information systems exist in context
–Information systems
• How do you perceive it?
–The Context
13
14. Information System
• Refers to information content and social
context, as well as technologies (Avgerou,
2003)
• Thus a study of information system
should include
• Content
• Social context (organization, socio economic etc)
• Technologies (methodologies and infrastructure)
14
15. Building blocks of Information
System
• Data- the raw material used to create useful
information
• Processes- the activities that carry out the mission
of the business
• Interfaces- how the system interfaces with its
users and other information systems.
• Information Technology (Infrastructure)
• Social context or organization (human,
procedures, etc.)
– Involves various issues like structure and psychosocial
issues
15
16. Information systems context
• Complex and Dynamic (in both views of IS)
– Global economy
• Competition not only from local but also…
– Example difference in labor cost
– Digital economy
• Convergence of computer and telecom technologies
• Competition
• E- commerce, e-gov, e-learning , cloud computing, IoT,5G
network
– Change
• What change?
16
17. Cont…
– Other aspects
• Human dimension (diversity…
–Technical /system dev. Side- developers
–Business/domain- users of the system
–Others/External – like customers
• Organizational aspects (IS strategy group, SD
team…)
• Professional aspects (ethics, code of conduct..
–Link b/n human and organizational aspects
17
18. Recognizing Components of an Information
System- a way to methodology
18
Information
Work
practices
People
Information
technology
Goals
what the system tries to
accomplish
people who
handle data,
make decisions
hardware and
software that
process data
formatted text,
data, pictures, sound
how the work is
performed by people
and technology
20. Methodology
• A collection of procedures, techniques, tools, used for
analyzing, designing, and implementing information
system
• It involves various phases or cycles of development and
approaches
• In computing fields, practitioners led in terms of
innovating tools and methods
• Challenges encountered in system development eg IBM
360, Denver Airport software crisis triggered the need
for sound software engineering and SD methods
20
21. Objectives of SD Methodology
• To record requirements accurately
• To provide systematic ways so that progress can be
monitored
• To deliver the product with in time and cost
• To produce a system which is well documented and
easy for maintenance
• To indicate changes at earlier time in the process
• To provide system that is liked by all stakeholders
21
22. Historical Perspective
1.Pre-methodology era (code and fix)
before 1970’s
– Early computer system application development focused on the
technology and on programming and technical skills rather than user
and business needs, i.e. personal experiences were used
– Programmers overworked
– Maintenance period was long, etc.
– Rule-of-thumb and based on experience
– led to poor control and management of projects
• These problems led to a growing appreciation of the
desirability for standards and a more disciplined
approach to the development of IS in organizations.
– Realization of the increasing need for analysis and design
– The realization of more and more complexity of organizations
22
23. Cont…
2.Early Methodology era, 1970’s & early
1980’s
– SDLC, Water fall
– Feasibility study, system investigation, analysis, design,
development, review and maintenance
• However, SDLC was not without problems
– Instability, inflexibility, user dissatisfaction
– Businesses and their environments change frequently
– Problem with documentation, Lack of control (version
control)
– Maintenance workload
23
24. Cont…
3. Methodology era
3.1.Extended versions of SDLC
• Systems, strategy, participative, prototype
– Developments in techniques and tools
3.2.Structured methodologies based on functional
decomposition (DFDs, structured tools ….
3.3.Information engineering
3.4.Object-oriented methodologies
4.Incremental and evolutionary concepts
5.Contingency approach to methodologies
24
25. Cont…
4. Post methodology era
• an era of methodology reappraisal
– Productivity and Complexity
– Gilding the lily (to adorn unnecessarily)
– Skills and Tools
– Insufficient focus on social and contextual issues
– Difficulties in adopting methodologies
• Fitzgerald, Phillipides & probert (1999) – a survey in
UK indicated that only 57% of the sampled used
methodology.
25
26. Discussion Questions
• Explain the philosophy underlying Hard and
Soft Systems thinking
• Point out the major shortcomings of system
development methodologies
26
27. Chapter two
System Development Approaches
Chapter objectives
• explain the system development life cycles
• understand the various development
methodologies
• evaluate methodologies weakness and
strengths
29. 1. Process oriented methodologies/
SDLC/
• Under process oriented methodologies
–Structured analysis, design and
implementation of Information system
(STRADIS) developed by Gane and Sarson
(1979)
–Yourdon System Method
–Jackson System Development (JSD)
30. Gane and Sarson’s STRADIS
Methodology
• Concerned with the selection and organization of
program modules and interfaces that would solve
predefined problem
• This method is applicable to any information
system irrespective of size
• It has three phases
1. Initial study
2. Detailed study
3. Defining and designing alternatives
4. Physical design
31. Documentation & Modeling tools
– DFD
– Structured English
– Decision Tree
– Decision Table
– Structured Chart
32. Strength and limitations
• Provides a base guideline for systems
development
• highly structured and well-defined
• Sound project control, documentation,
standards, and quality control
33. Limitations
• resource intensive: long requirement
gathering and planning time required
• inflexible and inhibits change
–output-driven
–top-down, step-by-step
2.33
35. 2.1. SSADM
• Developed in UK by consultants Learmoath and
Burchett Management systems and the Central
computing and communication Agency (CCCA)
• Has five phases
1. Feasibility study
2. Requirement analysis
3. Requirement specification
4. Logical system specification
5. Physical design
3.35
36. Three important techniques -in SSADM
1.Logical data modeling
– The process of identifying, modeling and
documenting the data requirements of the system
being designed.
– The result is a data model containing entities
(things about which a business needs to record
information), attributes (facts about the entities)
and relationships (associations between the
entities).
37. Cont…
2.Data Flow Modeling:
– The process of identifying, modeling and
documenting how data moves around an
information system.
– Data Flow Modeling examines processes
(activities that transform data from one form to
another), data stores (the holding areas for data),
external entities (what sends data into a system or
receives data from a system), and data flows
(routes by which data can flow).
38. Cont…
3.Entity Event Modeling :A two-stranded
process:
–Entity Behavior Modeling: identifying,
modeling and documenting the events that
affect each entity and the sequence (or life
history) in which these events occur, and
–Event Modeling: designing the process to
coordinate entity life histories for each event.
39. Cont…
3.Entity Event Modeling :A two-stranded
process:
–Entity Behavior Modeling: identifying,
modeling and documenting the events that
affect each entity and the sequence (or life
history) in which these events occur, and
–Event Modeling: designing the process to
coordinate entity life histories for each event.
40. 2.Information Engineering
• IE is “an interlocking set of formal techniques in which enterprise
models, data models and process models are built... and are used
to create and maintain data processing systems” James Martin
(1986)
• IE is a comprehensive methodology covering all aspects
of the life cycle
• Viewed as a framework within which a variety of
techniques are used to develop good quality IS in an
efficient way
• Reflects the philosophy of “practicality and applicability”
– It is a proven and practical approach
– Applicable implies it is applied in a wider range of industries
focus on data and activities
41. Major phases of Information
Engineering
1.Information strategy planning
–to build an information architecture and
strategy to support overall business
objectives and needs of the organization
2.Business area analysis
–to understand the individual business areas
and determine their system requirements
4.41
42. Cont…
3.systems planning and design
• to establish the behavior of the systems in a
way that the user wants and that is
achievable using technology
4.Construction and cutover
• The objective is to build and implement the
systems as required by the three previous
levels
43. Information Engineering: Features
• organization-wide perspective aligned
with strategic business planning
• comprehensive
• emphasis on user involvement e.g. JAD,
• evolves by incorporating new
techniques, concepts, technologies e.g.
RAD, object-oriented concepts
4.43
44. 3.Object-Oriented Development Approaches
How to Model Real World?
• Models in systems development
environment
–Computation-oriented model (50s ~ 60s)
–Data-oriented model (70 ~ 80s)
–Object-oriented model (90s ~ )
• Balanced view between data and
computation
44
45. Modeling the Real World
• A software system provides a solution to a problem in the
real world.
• It consists of two essential components:
– Model: abstraction of a part of the real world
– Algorithm: captures the computations involved in
manipulating or processing the model.
45
Algorithm
Model
Software system
Real world
Abstraction
Interpretation
46. Why O-O Model?
• Possible to directly represent real world objects
in the computer system
• Thus, solves the so-called impedance mismatch
problem.
46
Software system
Real world
Data-oriented model
Software system
Real world
Object-oriented model
47. Five Major activities
• Finding classes and objects
• Identifying structure
– Generalization and specialization
– Whole-part
• Identifying subjects
– A sort of grouping to reduce complexity
• Defining attributes
• Defining services
• Currently UML has become the main modeling tool
47
48. 4.Rational Unified Process (RUP)
• A full-fledged process able to support the entire
software development lifecycle
• It is an architecture-centric process
• Software architecture contains hardware, the
operating system, the database, the network and the
non functional requirements
• system development begin architecture outline
48
49. RUP
• Has various cycles with 4 phases in each
– Inception, elaboration, construction and Transition
• 9 workflows in each phase and iterations
– Engineering workflows:
• Business modelling, requirements, analysis and design,
implementation, test and deployment
– Supporting workflows:
• Configuration and change management, project management
and environment
• The Phases shows the different emphasis of workflow
activities
50. Phases in the Process
Purpose of RUP four phases:
– Inception - Define the scope of project
– Elaboration - Plan project, specify features, baseline
architecture
– Construction - Build the product
– Transition - Transition the product into end user
community
50
time
Inception Elaboration Construction Transition
Major
Milestones
51. Rational Unified Process (RUP)
51
Project Management
Environment
Supporting Workflows
Configuration & Change Mgmt
Business Modeling
Implementation
Test
Analysis & Design
Process Workflows
Deployment
Requirements
Preliminary
Iteration(s)
Iter.
#1
Phases
Iterations
Iter.
#2
Iter.
#n
Iter.
#n+1
Iter.
#n+2
Iter.
#m
Iter.
#m+1
Elaboration Transition
Inception Construction
time
content
52. • Main Characteristics of RUP
–Use-case driven
• Implementation and testing is based on use
case
–Architecture centric
• How the system is organized
–Iterative and incremental (focus on
prototyping)
• non lifecycle or waterfall
Allows you to “plan a little, design a
little, and code a little”
52
53. 5.Evolutionary Development
• Involves: Agile, RAD, XP
• Stages or incremental approach
• A complete system evolves over time
• Changing requirements over time are expected
and are catered for
• Highly appropriate for situations where
requirements are difficult to discover in advance,
and also where systems are complex
• Promotes user participation in system
development
54. Agile Development
• Agile is characterized by:
– Iteration
– Short life cycles
– Minimalism
– Emergence (of new ideas and creative thinking)
– Risk acceptance
– People oriented
– Collaboration and communication
Agile Development: Flexibility, stresses difficulties in
identifying requirements