1.15k likes | 1.3k Vues
This overview explores the essentials of system analysis and design, focusing on their importance in developing effective information systems. It covers various methodologies and models, such as entity-relationship diagrams and data-flow diagrams, which simplify complex systems into manageable parts. The text highlights common reasons for system failures, including poor performance and shifting requirements, emphasizing the need for structured approaches to tackle complexity. Also discussed is the System Development Life Cycle (SDLC) and how it guides developers through phases from initiation to maintenance.
E N D
Overview • What is system analysis and design? • Tools and models • Methodologies
Information Systems • What is a system? • Why do systems fail? • What is systems analysis and design? • How do we do systems analysis?
What is a system? • A collection of parts • that work together • to achieve a goal/task
What is an information system? • Parts? • Usually on of the parts is a computer • Task? • The difficulty is getting the parts to work together
Complexity in Systems • IS are needed for large/complex tasks • Solve complexity by partitioning • More parts More interaction • More interaction Complexity
Bad Systems • Fail to meet requirements • Poor performance • Poor reliability • Unusability
Badly Produced Systems • Not to schedule • Not to budget • Runaway = 100% over budget or schedule
Reasons for Failure • Complexity • Shifting requirements • Bad estimation • Bad management • New technology
Need for Structure • Must tackle complexity • Structure partitioning of problem • Organised interaction of parts • Ensure you achieve the task
System Development Life Cycle • An ordering of a set of system development activities/phases. • Can be either sequential (serial) or non-sequential (e.g. contingent). • Contains guidance on how to progress from one phase to the next
Generic development phases: Initiation Development Implementation Operation & Maintenance
Links between phases: Problem statement; “vision” scenario, requirements Initiation Executables, user documentation etc Development Changes in scope, schedule, etc. An operational IS Implementation Design or programming errors Operation & Maintenance Implementation glitches: e.g. missing requirements
Standard System Life-cycle Problem Definition Feasibility Study System Analysis System Design Physical Design Implementation Maintenance
System Development Life-Cycle • Stages Milestones • Output/product/deliverable • Waterfall technique • Distilled experience
Systems Analysis and Design • Central to the life-cycle • Analysis: defining the problem • From requirements to specification • Design: solving the problem • From specification to implementation
Models • Representations • Simplify reality • Require training • Appropriate to problem
Models in Analysis and Design • Focus ideas • Aid communication with user • Highlight omissions and errors • Blueprint for the system
Good Models • Maintainable and disposable • CASE tools • Graphics v. Text • Understandable
The Main Models • Entity relationship diagram • Data-flow diagram • Entity life-history
Some Remarks • All three models represent the same system • There is no unique correct model • Need more than one attempt
Case Studies • Replace requirements • Informal • Ambiguous • Realistic! (Nearly) • Estate Agent System in handbook
Entity Relationship Diagrams • Centrality of data • DBA and DA • Represents structure of data • Shows relationships within data
Focus in ER diagrams • Structured • Logical • Process independent • Minimal
Components of ER Diagram • Entities with lists of attributes • Occurrences as set of values • Relationships • two directions - two sentences • degree • optionality
Entity • Block of information • Represents a type of thing • Occurrences are instances of the entity Student
Attributes • Belong to an entity • Simple item of data • Values are the data for an occurrence • Candidate keys and primary keys
Relationships • Show how entities affect each other • Two directions - two sentences
Degree • Number of occurrences in relationship • Remember two directions • Three types: • one to one • one to many (or many to one) • many to many
Resolving Many-to-manys • Hide information • Difficult to physical represent
Optionality • Optional - relationship MAY hold • Mandatory - relationship MUST hold • Two directions
Components of ER Diagram • Entities with lists of attributes • Occurrences as set of values • Relationships • two directions - two sentences • degree • optionality
Building ER Models • Based entirely on requirements • Process must be repeated several times • Alternative to normalisation
Steps to ER modelling • Identify entities • List attributes • Identify relationships • Repeat several times
Identify Entities • One or two obvious ones • Use nouns in case study • entity or attribute • Not the whole system!
List Attributes • Again obvious ones for some entities • Use nouns in case study • complex attributes might be entities • Use imagination • for deliveries need addresses • for phone calls need phone numbers
Identify Relationships • Consider each pair of entities • Begin drawing • Consider degree • Consider optionality • Resolve many-to-manys
Repeat • Is there enough data to do the job? • Identify new entities and attributes • Fit them to existing model • Do it again!
Representing Relationships • Each entity needs a primary key • Use a foreign key for many-to-one • The “many” entity has a foreign key attribute • One-to-ones are rare or incorrect!
Validation • Is there any repetition of data or relationships? • Are all attributes and entities relevant? • Are all many-to-manys resolved? • Are the one-to-one relationships sensible?
The Data-Dictionary • Description of ALL information on EVERY item of data • Precisely defines the diagrams • Adds new detail • Backbone uniting all diagrams
ERD and Dictionary • Description of every entity • Lists of attributes & descriptions • Volumetrics • Description of relationships
DD Notation • = consists of; + sequence • { } repetition; ( ) optional • [ ] selection between alternatives • | alternative separator • *….* comments
Example DD entry • CustomerDetails = • Title + {initial} + Surname + Address + (CustomerPhone) • Title = [Mr|Mrs|Ms|Dr|Rev] • Address = [Number|Name] + Street + {District} + (PostCode)
Data-flow Diagrams • Clarify requirements • Represent processes • Interaction between processes • Non-technical yet formal
Focus in DF diagrams • Data input to the system • Data output from the system • Movement of data between processes • Storage of data within system • Top-down decomposition
Customer Customer External Entities • Provides inputs, receives outputs • Different from Logical Data Structure • Represent types of things
StockInventory Data-flows • Movement of data between processes • No change of data during flow • One end MUST attach to a process
Processes • Main feature of DF diagrams • Change data • Appear as boxes: