Software Engineering

Download Report

Transcript Software Engineering

Software Engineering
System analysis and Design
Steps in System Analysis and
Design
• Identification of the problem
• Feasibility Study
• System Analysis
• System Design
• System
Development
• Testing & Debugging
I
• System mplementation
• System
M
aintenance
Identification of the Problem
• Computable solution
Feasibility Study
• Economic feasibility
• Technical feasibility
• Cost-Benefit analysis
– Financial benefit
– Quality improvement
– Efficient
– Easy
System Analysis
• System Analyst
• Study the current system
– Identification of entities & functions (nouns & verbs)
– Entity relationship
– Study of the data flow through the system between
subsystem (sub processes)
• Input, output and storage
– Process description (input, actions on data, output
and storage of data/information)
– Methods of obtaining details –
• Interviews. Questionnaires, observations, documents
System Analysis contd…
• Specifications of the new system
System Design
• Preliminary Design
– Screen layouts (data input), report formats, in
paper and ink
– Entity relationships, database structures, data
security,
– Prototype – client- to complete analysis
• Throw-away prototype
• Evolutionary prototype
• Detailed Design
Prototype
A prototype is an early version of the system that
exhibits the essential features of the later
operational system. Some … prototypes may
evolve into the actual production systems whereas
others are used only for experimentation and may
eventually be replaced by the production system.
Detailed Design
• User interaction
– Login screens
– Data input screens
– Report formats (by request or automated)
– Security
– Search facilities
• Database structure
• Process descriptions
• Data dictionaries
Detailed Design contd…
• Software specifications
– Operating system
– Utilities
– Antivirus
• Hardware specifications
– Servers and workstations
– Network cabling (Local and internet)
– Printers, barcode readers….
– UPS
CASE Tools
• Computer Assisted Software Engineering
– Computer software is used to design the
system
– System specifications are input to the
software
– Design document is automatically created
– Finally the database and the computer
program is automatically generated in a
language decided by the developer.
System Development
• Conversion of the design into computer
programs
– Modular approach: Each module is developed
by individual programmers
– Finally modules are integrated into one
system
Advantages of modular approach
•
•
•
•
•
•
Easy to manage – distribution of workload
Parallel development - save time
Easy to test and debug
Easy to trouble shoot and maintain
Use of individual expertise
Reuse of software modules
Testing & Debugging
(at the developer’s lab)
• Each module is separately tested and
debugged
• Then modules are combined and tested &
debugged
• Then whole system is built, tested &
debugged
• Test data:
– Normal, Abnormal, Extreme data are used
Testing & Debugging
(at the client’s site)
• System accepting test – with the client
• Problems due to
– Bad or wrong hardware
– Bad or wrong OS
– Cabling problems
– Environmental problems: network cables near
tube lights or any other interference
Implementation
• Installation of hardware and relevant
software
• Creation of databases and initialization
• Installation of front-ends (user interfaces)
at individual machines
• Training of operators and officers
• Provision of user manuals
– Installation instructions
– Simple troubleshooting procedures
Implementation methods
• Direct implementation
• Phase by phase implementation
• Parallel implementation
System Maintenance
• The developers will monitor the system for
a short period
• Attend to minor changes and repairs
System Life Cycle
(SADLC)
Analysis
Maintenan
ce
Implement
ation
Design
Development
Structured Systems Analysis and
Design Method (SSADM)
• A comprehensive and structured approach
to systems development
• A “baseline” for comparison and
evaluation of other methodologies and for
themes in systems development
• The true successor to the traditional SDLC
approach with new techniques and tools
developed since the 1970s
Systems Development Life
Cycle (SDLC)
Strategy
Planning
Feasibility Study
Feasibility
Analysis
Design
Implementation
Maintenance
S
S
A
D
M
Requirements
Analysis
Requirements
Specification
Logical System
Specification
Physical Design
Structured Systems Analysis and
Design Method (SSADM)
assumptions about information systems:
– relatively stable
– routine processing, well-defined interaction
– free-standing, developed from "scratch"
– globally defined data, processes
– complete and objectively definable
– information is well-structured
Structured Systems Analysis and
Design Method (SSADM)
assumptions about information systems development:
– essentially a linear process
– users know their current and future needs
– conceptual descriptions can be complete
– in the early lifecycle stages, system structure is more
important than system behaviour
– specification techniques should be simple and
graphical for users to understand easily
SSADM techniques
Downs, Clare and Coe 1988
•
data flow diagrams
•
logical data structuring (LDST)
•
entity life histories
•
dialogue design
•
relational data analysis (RDA)
•
composite logical data design (CLDD)
•
process outlines
•
system flow charts
SSADM: later versions
• version 4 - Avison and Fitzgerald 2003: five phases, seven stages
feasibility study
0
Feasibility
requirements analysis
1
Investigation of current environment
2
Business system options
requirements specification
3
Definition of requirements
logical system specification
4
Technical system options
5
Logical design
physical design
6
Physical design
SSADM version 4:
Feasibility Study
• ensure the project identified in planning phase is feasible
(= technically possible) and benefits > costs
• prepare for the study (assess the scope)
• define the problem (compare requirements with current
situation)
• identify and select feasibility option (consider broad
alternatives in terms of business requirements and
technical options)
• produce feasibility report
• techniques: interviewing, document review etc., broad
DFDs and ER model
SSADM version 4:
Requirements Analysis
1 Investigation of current environment
•
detailed physical DFDs and ER model of current
processing and data,
•
logical DFDs, functional and non-functional
“requirements catalogue”,
•
scope and feasibility study results re-examined
2 Business system options
•
cost-justified requirements only, determine and agree on
functionality,
•
business options meeting minimum requirements: cost,
technical constraints, development schedule, benefits
and impact, training, etc.
SSADM version 4:
Requirements Specification
3 Definition of requirements
• logical data model (ER) extended,
• attribute collection and normalisation,
• DFDs extended,
• full documentation of all data, processes and
events,
• entity life history diagrams,
• prototyping can be used for important dialogues
and menu structures
SSADM version 4:
Logical System Specification
• These stages occur in parallel:
4 Technical system options
• environment in which system will operate - hardware,
software, contraints (e.g. performance, security, service
levels)
5 Logical design
• design what the system is required to do
• user involvement, refer to any prototypes, define
dialogues and menu structures for specific user roles,
ELHs used to define update and enquiry processing,
data validation rules etc.
SSADM version 4:
Physical Design
map the logical design onto a specific physical environment:
functional component implementation map (FCIM)
6
Physical design
• roles of the technologists stressed
• users and analysts verify final design satisfies user
requirements,
• convert data model, specify programs, procedures etc.
• specific activities depend on specific environment (system
type, size, technical platform etc.
SSADM ends: subsequent activities build, test and install the
system
Waterfall Model
e.g.,
Structured Systems And
Design Method
(SSADM)
Waterfall Model of SADLC
Process Descriptions
Process ID: P001
Process Title: Calculate Average
Input: Marks of Math and Science from Marks table
Output: Average Marks
Process Logic:
Begin
Get Math marks
Get Science marks
Add together and place in Total
Divide Total by two and place in Average
Output Average
End