Week 11
Week 11
• Oh, and don't forget to check the business plan. The more
information you gather at this stage, the more complete
your information requirements statement will be and the
better idea you'll have of the finished product.
• In design stage, the analyst (or developer) design the
logical and physical design of the software (IS).
• Design stage also involves
– Data design (ERD, DFD)
– Architectural design (Modular framework of computer
program)
– User-interface design (Front-end of IS)
– Procedural design (PSPEC,CSPEC,STD)
STAGES OF THE SYSTEMS LIFECYCLE
• Just before the programming stage or coding stage
begins you should get everyone together, review all
documentation, rehash (recycle) system requirements,
and verify agreement (preferably in writing) from all sides.
It's hard work to create the programming code - it can be
harder to re-create it later on.
• What you decide up to this point will be pretty much set in
concrete during the programming stage.
• In Programming stage or Coding stage, the developer
selects the programming tool for the software
development according to the type, situation, scope and
size of problem.
STAGES OF THE SYSTEMS LIFECYCLE
STRUCTURED METHODOLOGIES
OBJECT- ORIENTED SOFTWARE
DEVELOPMENT
COMPUTER AIDED SOFTWARE
ENGINEERING (CASE)
SOFTWARE REENGINEERING
*
STRUCTURED
METHODOLOGIES
TOP DOWN, STEP BY STEP, EACH
STEP BUILDS ON PREVIOUS
STRUCTURED ANALYSIS
STRUCTURED DESIGN
STRUCTURED PROGRAMMING
FLOWCHARTS
*
STRUCTURED METHODOLOGIES
• A structured methodology is oriented
toward the actual processes used rather
than the data generated.
• Each step must be completed before the
next one is started--just like building a
house.
• These methods all have their shortcomings.
In fact, many of them simply aren't flexible
enough to be used in designing systems in
today's fast-paced world.
STRUCTURED ANALYSIS
DEFINES SYSTEM INPUTS, PROCESSES,
OUTPUTS
PARTITIONS SYSTEM INTO SUBSYSTEMS
OR MODULES
LOGICAL, GRAPHICAL MODEL OF
INFORMATION FLOW
• DATA FLOW DIAGRAM: Graphical display of
component processes, flow of data
*
STRUCTURED ANALYSIS
DATA FLOW
PROCESS
SOURCE
OR SINK
FILE
Fig 11.3: Data flow diagram for mail-in registration system.
STRUCTURED ANALYSIS
• DATA DICTIONARY: Controlled definitions of
descriptions of all data, such as variable
names & types of data
• PROCESS SPECIFICATIONS: Describes
logic of processes at module level
*
STRUCTURED DESIGN
DESIGN RULES / TECHNIQUES TO
DESIGN SYSTEM, TOP DOWN IN
HIERARCHICAL FASHION
STRUCTURE CHART
STRUCTURED PROGRAMMING
SEQUENCE CONSTRUCT
*
STRUCTURED DESIGN
CALCULATE CALCULATE
GROSS PAY NET PAY
DISCIPLINE TO ORGANIZE, CODE
PROGRAMS
SIMPLIFIES CONTROL PATHS
EASY TO UNDERSTAND, MODIFY
MODULE HAS ONE INPUT, ONE
OUTPUT
*
STRUCTURED PROGRAMMING:
BEGIN OR INPUT OR
END OUTPUT
DIRECTION
SUBROUTINE
PROCESS
MANUAL
OPERATION
DECISION
CONNECTOR
PROGRAM FLOWCHART:
START
1
2
READ
PRINT
>$10,000 REPORT
PROCESS A
<$10,000
PROCESS B 2 MORE?
1 END
PROCESS A PROGRAM FLOWCHART:
SEQUENCE
PROCESS B
TRUE PROCESS E
TRUE
PROCESS D PROCESS C
S
SELECTION ITERATION
SYSTEM FLOWCHART SYMBOLS:
DOCUMENT
DATABASE
ON-LINE INPUT
LOAD &
VALIDATE
PAYROLL SYSTEM
VALID TRANS-
ACTIONS PAYROLL
MASTER
PAYROLL UPDATED
REPORTS & DIRECT GENERAL
PAYROLL
CHECKS DEPOSITS LEDGER
MASTER
OBJECT - ORIENTED SOFTWARE
DEVELOPMENT
DE-EMPHASIZES OR NOT EMPHASIS ON
USE/DEVELOP OF PROCEDURES
SHIFTS FOCUS FROM MODELS & DATA
TO OBJECTS, WHICH COMBINE DATA &
PROCEDURES
EMPHASIS ON OBJECTS REUSABLE
SYSTEM: Classes; objects; relationships
REDUCES DEVELOPMENT TIME & COST
*
COMPUTER AIDED SOFTWARE
ENGINEERING (CASE)
AUTOMATION OF SOFTWARE
METHODOLOGIES
PRODUCES
− CHARTS; DIAGRAMS; SCREEN &
REPORT GENERATORS; DATA-
DICTIONARIES; PROGRESS REPORTS;
ANALYSIS; CHECKING TOOLS; CODE;
*
CASE
(CASE) In Detail
• Computer-aided software engineering (CASE) tools
automate much of the mundane (everyday), repetitious work
and can sometimes do a better job of it than a human.
• CASE tools keep you organized by automatically updating data
dictionaries and validating design diagrams and specifications.
• The figure shows an example of how CASE tools let you a
visualize business processes while you're developing a process
to automate them.
• These tools won't do everything for you, though. You still have
to ask the hard questions: Is the system feasible? cost
effective? right for our business? integrated with other areas of
the organization? And they require organizational discipline.
CASE tools enforce common methods and standards.
Fig 11.5: Using Scitor's Process Charter for Windows to
map and simulate business processes in real-time.
COMPUTER AIDED SOFTWARE
ENGINEERING (CASE) BENEFITS
INCREASES PRODUCTIVITY & QUALITY:
ENFORCES DEVELOPMENT DISCIPLINE
IMPROVES COMMUNICATION
DESIGN DEPOSITORY FOR OBJECTS
AUTOMATES TEDIOUS TASKS
AUTOMATES TESTING & CONTROL
CASE
*
RAPID APPLICATION DEVELOPMENT
(RAD)