1.15k likes | 1.3k Views
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
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: