Professional Documents
Culture Documents
Is 501 Systems Analysis & Design: Philip Ayoo, PHD
Is 501 Systems Analysis & Design: Philip Ayoo, PHD
References
1. Hoffer, J., George, J., and Valacich, J., (2000) Modern Systems Analysis and Design,
Second Edition. Pearson Education.
2. Ayoo, P. O. (2009) A Requirements Analysis Framework for Human Activity Systems
(HAS): the Case of Online Learning. International Journal of Computing and ICT
Research, 3(1), 12-25.
Systems Development Life Cycle (SDLC)
• Traditional methodology for developing, maintaining,
and replacing information systems
• Phases in SDLC:
– Planning
– Analysis
– Design
– Implementation
– Maintenance
Standard View of SDLC
SDLC Planning Phase
Identify, analyze,
prioritize, and
arrange IS needs
SDLC Analysis Phase
Study and
structure system
requirements
SDLC Design Phase
Logical design:
Convert functional features
recommended described
solution to system independently of
computer platform
specifications
Physical design:
logical
specifications
transformed to
technology-
specific details
SDLC Implementation Phase
Systematically
repair and
improve the
information
system
Products of SDLC Phases
The Heart of the Systems Development Process
Current practice
combines
analysis, design,
and
implementation
into a single
iterative and
parallel process
of activities
Traditional Waterfall SDLC
One phase
begins when
another
completes,
little
backtracking
and looping
Problems with Waterfall Approach
• Interviewing groups
– Interview several key people together
– Nominal Group Technique (NGT) – facilitated process that supports idea generation by
groups
• Direct Observation
– Watching users do their jobs
– Can provide more accurate information than self-reporting (like questionnaires and interviews)
• Document Analysis
– Review of existing business documents
– Can give a historical and “formal” view of system requirements
Contemporary Methods for Determining Requirements
• Joint Application Design (JAD)
– Brings together key users, managers, and systems analysts
– Purpose: collect system requirements simultaneously from key people
– Conducted off-site
• Group Support Systems
– Facilitate sharing of ideas and voicing of opinions about system requirements
• CASE tools
– Used to analyze existing systems
– Help discover requirements to meet changing business conditions
• System prototypes
– Iterative development process
– Rudimentary working version of system is built
– Refine understanding of system requirements in concrete terms
Business Process Reengineering (BPR)
• Search for and implementation of radical change in business processes
to achieve breakthrough improvements in products and services
• Disruptive technologies
– Technologies that enable the breaking of long-held business rules that inhibit
organizations from making radical business changes
• Goals
– Reorganize complete flow of data in major sections of an organization
– Eliminate unnecessary steps
– Combine steps
– Become more responsive to future change
• Identify specific activities that can be improved through BPR
Long-held organizational rules that are being eliminated through disruptive technologies
Agile Methodologies for Requirements Determination
No process can
have only outputs
or only inputs…
processes must
have both outputs
and inputs.
Bidirectional flow
between process
and data store is
represented by two
separate arrows.
Context diagram
shows the system
boundaries,
external entities
that interact with
the system, and
major information
flows between
entities and the
system.
Level-0 DFD
shows the
system’s
major
processes,
data flows,
and data
stores at a
high level of
abstraction.
This is a Level-1
DFD for Process
4.0.
This is a
Level-2 DFD
for Process
4.3.
Processes are labeled 4.3.1, 4.3.2, etc. If this is the lowest
level of the hierarchy, it is called a primitive DFD.
Use Cases
• Depiction of a system’s behavior or
functionality under various conditions as the
system responds to requests from users
Use Case
Actor
Boundary
Connection
<<include>> Include relationship
<<extend>>
Extend relationship
Definitions
Use case
• a set of actions, services, and functions that the system needs to perform.
Actor
• Actor is an external entity that interacts with the system.
• Most actors represent user roles, but actors can also be external systems.
• An actor is a role, not a specific user; one user may play many roles, and an actor may
represent many users.
Boundary
• A boundary is the dividing line between the system and its environment.
• Use cases are within the boundary.
• Actors are outside of the boundary.
Connection
• A connection is an association between an actor and a use case.
• Depicts a usage relationship
• Connection does not indicate data flow
Definitions…
<<extend>> Relationship
• A connection between two use cases
• Extends a use case by adding new behavior or actions
• Specialized use case extends the general use case
<<include>> Relationship
• A connection between two use cases
• Indicates a use case that is used (invoked) by another use case
• Links to general purpose functions, used by many other use cases
<<extend>> - University Registration System
<<include>> - Order System
Written Use Cases
Dataflow Diagram
Requirements Structuring – Data Modeling
Relationship between data modeling and SDLC
Conceptual Data Modeling
• A detailed model that captures the overall structure of data in
an organization
• Independent of any database management system (DBMS) or
other implementation considerations
Process of Conceptual Data Modeling
• Develop a data model for the current system
• Develop a new conceptual data model that
includes all requirements of the new system
• In the design stage, the conceptual data model is
translated into a physical design
• Project repository links all design and data
modeling steps performed during SDLC
Deliverables and Outcome
• Primary deliverable is an entity-relationship (E-R)
diagram or class diagram
• Various E-R or class diagrams are produced and
analyzed
– E-R diagrams for the application being replaced and
for the new application
• Second deliverable is a set of entries about data
objects to be stored in repository or project dictionary.
– Repository links data, process, and logic models of
an information system
Sample Conceptual Data Model
Gathering Information for Conceptual Data Modeling
• Two perspectives
–Top-down
• Data model is derived from an intimate
understanding of the business.
–Bottom-up
• Data model is derived by reviewing
specifications and business documents.
Requirements Determination Questions for Data Modeling
• What are subjects/objects of the business?
Data entities and descriptions
• What unique characteristics distinguish between subjects/objects of the same type?
Primary keys
• What characteristics describe each subject/object?
Attributes and secondary keys
• How do you use the data?
Security controls and user access privileges
• Over what period of time are you interested in the data?
Cardinality and time dimensions
• Are all instances of each object the same?
Supertypes, subtypes, and aggregations
• What events occur that imply associations between objects?
Relationships and cardinalities
• Are there special circumstances that affect the way events are handled?
Integrity rules, cardinalities, time dimensions
Introduction to Entity-Relationship (E-R) Modeling
• Candidate key
– Attribute (or combination of attributes) that uniquely identifies each instance of
an entity type
• Identifier
– A candidate key that has been selected as the unique identifying characteristic for
an entity type
• Selection rules for an identifier
1. Choose a candidate key that will not change its value.
2. Choose a candidate key that will never be null.
3. Avoid using intelligent keys.
4. Consider substituting single value surrogate keys for large composite keys.
Multivalued Attributes
• An attribute that may take on more than one value
for each entity instance
• Represented on E-R Diagram in two ways:
–double-lined ellipse
–weak entity
Entity and Attribute Example
Simple attributes
Identifier Multivalued
attribute… each attribute… an
employee has a employee may have
unique ID. more than one skill.
Degree of Relationship
• Degree: number of entity types that participate in a relationship
• Three cases
– Unary: between two instances of one entity type
– Binary: between the instances of two entity types
– Ternary: among the instances of three entity types
Example Relationships of Different degrees
Associative Entities
• An entity type that associates the instances of one or
more entity types and contains attributes that are
peculiar to the relationship between those entity
instances
• An associative entity is:
– An entity
– A relationship
• This is the preferred way of illustrating a relationship with
attributes
A relationship with an attribute
UML
associations
are analogous
to E-R
relationships.
UML
multiplicities
are analogous
to E-R
cardinalities.
Generalization
• Superclass-subclass relationships
• Subclass inherits attributes, operations, and
associations of the superclass
• Types of superclasses
–Abstract: cannot have any direct instances
–Concrete: can have direct instances
Example of Generalization, Inheritance, and Constraints
Abstraction:
Student is an abstract class and calc-
tuition() is an abstract operation (italicized)
Polymorphism:
Here, each type of student has
its own version of calc-tuition()
• Aggregation
–A part-of relationship between a component and
an aggregate object
• Composition
–An aggregation in which the part object belongs to
only one aggregate object and lives and dies with
the aggregate object
Aggregation and Composition