300 likes | 506 Views
Dataflow Diagrams. Modeling notations. A graphical modeling notation focuses on one aspect of a system Several models are needed to give a complete picture Models must work together No set of modeling notations is perfect. UML Models. Use case diagrams and use cases Class diagrams
E N D
Modeling notations • A graphical modeling notation focuses on one aspect of a system • Several models are needed to give a complete picture • Models must work together • No set of modeling notations is perfect CS427
UML Models • Use case diagrams and use cases • Class diagrams • Sequence diagram (event trace) • Object diagram • Package diagram • Deployment diagrams • State machine diagram • Activity diagram • Communication diagram • Component diagrams • Interaction overview diagrams • Timing diagrams CS427
Structured Analysis Models • Process • Data-flow diagram • Process specification • Data • Entity-Relationship Diagrams • Data dictionary • Control • Control flow diagram • State-transition diagram CS427
Elements of Dataflow Diagram • Boxes (bubbles) • Process - information transform • External entity – source/sink • Data store • Line • Data item - Flow of information CS427
Health Claims Processing • R1) Receives health claims and supporting documents via many sources: electronically, fax, on paper. • R2) Scanned paper and fax processed by OCR. Documents first subject to form dropout, deskewing, despeckling. • R3) All images are logged to optical disk. CS427
R4) Fields with low confidence levels are repaired by hand. Certain types of claims are transmitted to an offshore data entry vendor. • R5) Match the plan and the health care provider. • R6) Existing mainframe system processes accepted claims. CS427
R7) Determine if claim can be paid, and how much. If there are inconsistencies, suspend the claim until a human (adjudicator) can look at it. • R8) Adjudicator looks at documents about claim and history of client and can ask for more information, can accept claim, or can reject claim. CS427
Dataflow Diagram Adjudicator Web site claims Accept claim Mainframe Claim Processing System claim images Fax Request more info. Rejection claim images Paper claims Postal system database claims Manual CS427
Claim Processing System Adjudicator Mainframe accept claim Web site claims claims Automatic claims processing Rejection notice claims Postal system Make claims rejection 2 claims request more info. 1 Adjudication claim images claim images claims 3 database CS427
Process decomposition • What happens inside a process? • Another dataflow diagram! • Prefix process numbers with number of parent process CS427
Process 1: Make claims claims claims claims Manual repair OCR 1.2 claim images 1.1 claim images database CS427
Process specification • What happens inside a bubble? • Used for lowest level of detail. • Describe how inputs are converted to outputs. • Use • English • Pseudo-code • Formulas or program CS427
Process 1.1: OCR • Apply • form dropout algorithm • deskewing algorithm • despeckling algorithm • OCR algorithm • If any character is less than 99.9% reliable, send to manual repair, else submit for claim processing. CS427
Control • What is the order of events? • How fast must the system respond to an event? • What are the possible states of the system? CS427
Control models • Control Flow Diagram (DFD) • State machine (State Transition Diagram) CS427
Control Flow Diagram adjudicator accept claim Adjudicator ready Automatic claims processing claims Claim ready rejection OCR request more info. Adjudication claim images database CS427
State transition diagram Adj. ready Work queue empty Worker busy Adj. ready claim ready claim ready Work queue empty Worker waiting Work queue nonempty Worker busy claim ready CS427
UML vs. DFD • UML designed for OO systems • Concentrates on structure • Control flow and data flow secondary • DFD designed for procedural systems • Process corresponds to a procedure • Data structure secondary CS427
Conclusion • Need a SET of models • Building one model shows flaws in others • Reviews must check for consistency • No set is perfect - you may need to add a model CS427
Software Quality Assurance • How can you tell if software has high quality? • How can we measure the quality of software? • How can we make sure software has high quality? CS427
Perspective on quality • Customer • system not crashes • system follows documentation • system is logical and easy to use • Developer • system is easy to change • system is easy to understand • system is pleasant to work on CS427
Mistakes about SQA • Quality is conformance to requirements and standards. • Variation control is the heart of quality control. Feedback and continual improvement is the real heart of quality software. CS427
Total Quality Management • Factories • Goal is for every item coming off the assembly line to be perfect • Management, production, engineering, QA • Everyone is involved in quality • Develop a reliable, repeatable process • Continuously improve the process CS427
“Quality is free” Effort Quality CS427
Failure vs. flaw • Failure - program didn’t work right • Flaw - mistake in the text of the program • Failure analysis - what flaw caused this failure? • Flaw analysis - what is wrong with our process that allowed this flaw to be created and not detected? CS427
Failure costs • Internal • rework • repair • failure analysis • External • resolving complaints • returning and replacing product • help line CS427
Prevention costs • Prevention • planning • managing and collecting information • reviews • Appraisal • inspection • testing CS427
Next time • More on quality assurance • Inspections and Reviews CS427