1. Company
LOGO
Chapter 2
The System Analysis and Design
อ.ปัทมา เจริญพร
Email: popattama@hotmail.com
ภาควิชาวิทยาการคอมพิวเตอร์
คณะวิทยาศาสตร์และเทคโนโลยี
มหาวิทยาลัยเทคโนโลยีราชมงคลธัญบุรี
2. Describe the information
systems development life cycle
(SDLC)
Explain Rapid Application
Development (RAD) and its
constituent parts : Prototype ,
Joint Application Design (JAD) ,
and Computer-aided software
engineering (Case) tools.
Describe the Agile
Methodologies and extreme
Learning objectives
24. 2424
ลักษณะของตัวแบบวิวัฒนำกำรลักษณะของตัวแบบวิวัฒนำกำร
((Evolutionary Model Characteristics)Evolutionary Model Characteristics)
เป็นต้นแบบเบื้องต้น (Exploratory
prototyping) - เพื่อทำำกำรพัฒนำควบคู่ไปกับ
กำรปรับแก้ตำมควำมต้องกำรของผู้ใช้งำน
เหมำะสมกับ
o ระบบปฏิสัมพันธ์ขนำดเล็กและขนำดกลำง
(small or medium-size interactive
systems)
o ระบบย่อยภำยในระบบใหญ่ (parts of large
systems) เช่น ระบบติดต่อกับผู้ใช้งำน
o ระบบที่มีข้อจำำกัดด้ำนเวลำ (for short-
lifetime systems)
เน้นกำรพัฒนำระบบที่สนองตอบควำมต้องกำร
35. Case Tools
CASE tools are productivity tools for
systems analysts that have been
created explicitly to improve their
routine work through the use of
automated support
Reasons for using CASE tools
Increasing Analyst Productivity
Improving Analyst-User Communication
Integrating Life Cycle Activities
Accurately Assessing Maintenance Changes
36. Case Tool Classifications
Upper CASE tools perform analysis
and design
Lower CASE tools generate
programs from CASE design
Integrated CASE tools perform
both upper and lower CASE
functions
37. Upper CASE Tools
Create and modify the system
design
Help in modeling organizational
requirements and defining system
boundaries
Can also support prototyping of
screen and report designs
38. Lower CASE Tools
Lower CASE tools generate
computer source code from the
CASE design
Source code is usually generated
in several languages
56. Structured System Analysis
and Design Methodology
(SSADM)
SSADM เป็น Methodology ที่ใช้ในการพัฒนา
ระบบ มีวิธีการปฏิบัติเป็นลำาดับขั้น (Phase) จาก
ขั้นตนหนึ่งไปสู่ขั้นตอนต่อไปและมีการใช้
Model ที่เป็นแผนภาพเพื่ออธิบายชั้นตอนการ
ทำางานและข้อมูลทั้งหมดของระบบ
Waterfall
Adapted Waterfall
Advantage ?
Disadvantage?
A na ly sis
P la nning
D e sign
Im ple m e nta tion
S y ste m
58. Phased Development-Based
Methodology
A n a ly sis
P la nn ing
D e sign
Im ple m e nta tion
S y ste m
V e rsio n 2
A na ly sis
D e sig n
Im ple m e n ta tion
S y ste m
V e rsion 1
A na ly sis
D e sign
Im ple m e nta tio n
S y ste m
V e rsion 3
A na ly sis
Advantage ?
Disadvantag
e?
60. Throw-Away Prototyping-
Based Methodology
Design Prototype
Advantage?
Disadvantage? A na ly sis
D e sign
Im ple m e nta tio n
D e sign
P ro to ty pe Im ple m e n ta tio n
S y ste m
P la nnin g
A na ly sis
D e sign
61. Object-Oriented Analysis and
Design Methodology (OOAD)
Systems development methodologies and techniques based
on objects rather then data and processes.
combines data and processes (methods) into single entities
called Objects.
The goal is to make system elements more reusable
improving system quality and the productivity of systems
analysis and design.
UML (Unified Modeling Language) – Use Case Diagram
64. Use Case Modeling
Describes what a system does without
describing how the system does it;
that is, it is a logical model of the
system
65. Use Case Diagram
Actor
Refers to a particular role of a user of the system
Similar to external entities; they exist outside of the system
Use case symbols
An oval indicating the task of the use case
Connecting lines
Arrows and lines used to diagram behavioral relationships
66. Actor
Divided into two groups
Primary actors
• Supply data or receive information from the system
• Provide details on what the use case should do
Supporting actors
• Help to keep the system running or provide help
• The people who run the help desk, the analysts,
programmers, and so on
67. A Use Case Always Provides
Three Things
An actor that initiates an event
The event that triggers a use case
The use case that performs the actions
triggered by the event
68. Use Case Relations
Behavioral relationships
Communicates
• Used to connect an actor to a use case
Includes
• Describes the situation in which a use case
contains behavior that is common to more than
one use case
69. Use Case Relations
Behavioral relationships (Continued)
Extends
• Describes the situation in which one use case
possesses the behavior that allows the new
case to handle a variation or exception from the
basic use case
Generalizes
• Implies that one thing is more typical than the
other thing
70. Figure 2.13 Some components of use case diagrams showing actors,
use cases, and relationships for a student enrollment example
71. Figure 2.14 Examples of use cases and behavioral
relationships for student enrollment
72. Developing Use Case
Diagrams
Review the business specifications and
identify the actors involved
Identify the high-level events and develop
the primary use cases that describe those
events and how the actors initiate them
Review each primary use case to determine
the possible variations of flow through the
use case
The context-level data flow diagram could
act as a starting point for creating a use case
73. Figure 2.15 A use case diagram representing a system used to
plan a conference
74. Developing the Use Case
Scenarios
The description of the use case
Three main areas
Use case identifiers and initiators
Steps performed
Conditions, assumptions, and questions
75. Figure 2.16 A use case scenario is divided into three sections:
identification and initiation; steps performed; and conditions,
assumptions, and questions
76. Why Use Case Diagrams
Are Helpful
Identify all the actors in the problem
domain
Actions that need to be completed are
also clearly shown on the use case
diagram
The use case scenario is also
worthwhile
Simplicity and lack of technical detail
Editor's Notes
The Spiral Model - an iterative (evolutionary) system development life cycle developed by Boehm (1988) which incorporates risk assessment.
Developed in recognition of the fact that systems development projects tend to repeat the stages of analysis, design and code as part of the prototyping process.
Model closely related to RAD, as it implies iterative development with a review possible after each iteration or spiral - which corresponds to the production of one prototype or incremental version.
Increasing analyst productivity –
automates the drawing and modifying of diagrams
automates the sharing of work thus reducing the time to collaborate with group members
facilitates interaction among team members by making diagramming a dynamic, interactive process.
Improving Analyst-User Communication – CASE tools foster greater, more meaningful communication among users and analysts.
Integrating Life Cycle Activities – integration of activities through the underlying use of technologies makes it easier for users to understand how all the life cycle phases are interrelated and interdependent.
Accurately Assessing Maintenance Changes – enable users to analyze and assess the impact of maintenance changes.
Upper CASE support analyst and designers
Lower CASE support programmers and workers who must implement the systems design via Upper CASE.
All the information about the project is stored in the CASE repository. From the CASE repository analysis reports can be produced to show where the design is incomplete or contains errors.
The repository is a collection of records, elements, diagrams, screens, reports, and other information.
By modeling organizational requirements and defining system boundaries the analyst can visualize how the project meshes with other parts of the organization.
CASE code generation has several advantages:
1. Quicker than writing computer programs.
2. Time spent on maintenance decreases.
3. Code can be generated in more than one computer language.
4. Cost-effective for tailoring systems purchased from third-party vendors.
5. Generated code is free from computer program errors.
Originally introduced as a diagram for use in the object-oriented UML, use cases are now being used regardless of the approach to systems development. It can be used as part of the SDLC or in agile modeling.
A use case always describes three things: an actor that initiates an event; the event that triggers a use case; and the use case that performs the actions triggered by the event.
Sometimes a table is created with actor profiles that lists the actors, their background, and their skills.
These profiles can be useful to understand how the actor interacts with the system.
A use case documents a single transaction or event.
An event is an input to the system that happens at a specific time and place and causes the system to do something.
Communicates – used to connect an actor to a use case. The task of the use case is to give some sort of result that is beneficial to the actor in the system.
Includes – describes the situation in which a use case contains behavior that is common to more than one use case.
Extends - describes the situation in which one use case possesses the behavior that allows the new use case to handle a variation or exception from the basic use case.
Generalizes – implies that one thing is more typical than the other thing.
When diagramming a use case, start by asking the users to list everything the system should do for them.
Example of a use case diagram representing a system used to plan a conference.
Each use case has a description referred to as the use case scenario.
(First area)
Use case identifiers and initiators – orients the reader and contains:
1. The use case name and a unique ID
2. The application area or system that this use case belongs to
3. The actors involved in the use case
4. A brief description of what the use case accomplishes
5. The triggering event
6. Type of trigger - external or temporal
external – those started by an actor
temporal – triggered or started by time
7. May list stakeholders
(Second area)
Includes the steps performed, and the information required for each of the steps.
(Third area)
Preconditions
Post conditions
Assumptions
Outstanding issues
optional statement of priority
optional statement of risk
Identify all the actors in the problem domain – the systems analyst can concentrate on what humans want and need to use the system, extent their capabilities, and enjoy their interaction with technology.
Actions that need to be completed are also clearly shown on the use case diagram – this makes it easy for the analyst to identify processes and aids in communication with other analysts on the team and business executives
The use case scenario is also worthwhile – since a lot of the information the users impart to the analysts are in story form, it is easy to capture on the use case scenario form.
Simplicity and lack of technical detail – used to show the scope of a system, along with the major features of the system and the actors that work with those major features.