what to document all diagram with title blocks

what to document? all diagram (with title blocks) data dictionary items: University of Toronto at Scarborough entities data structures data stores data flows data elements processes © Kersti Wain-Bantin CSCC 40 data dictionaries 1

documenting external entities name ________ label ________ system ________ alias/alternate name ________ description _____________________________________ input data flows ________ output data flows ________ related data store ________ University of Toronto at Scarborough © Kersti Wain-Bantin CSCC 40 data dictionaries 2

documenting data structures name ________ label ________ system ________ alias/alternate name ________ composition [ this is a formal ordered list of the data elements included in the structure] for example. . . mailing label = customer_name = customer_last_name + customer_middle_initial + customer_surname + customer_address = number_and_street + town + etc. University of Toronto at Scarborough © Kersti Wain-Bantin CSCC 40 data dictionaries 3

documenting data stores name ________ label ________ system ________ alias/alternate name ________ description/purpose _____________________________________ data structure ________ input data flows ________ output data flows ________ volume and hit rate ________ University of Toronto at Scarborough © Kersti Wain-Bantin CSCC 40 data dictionaries 4

documenting data flows name ________ label ________ system ________ alias/alternate name ________ description/purpose _____________________________________ data structure ________ origin ________ destination ________ volume and frequency ________ University of Toronto at Scarborough © Kersti Wain-Bantin CSCC 40 data dictionaries 5

documenting fields / attributes / data elements name ________ label ________ system ________ alias/alternate name ________ description/purpose _____________________________________ source ________ type and length ________ default value ________ output format ________ acceptable values _______________ prompt/column header ________ responsible user ________ security ________ derivation formula _______________ compound data is also documented e. g. customer_name customer_address University of Toronto at Scarborough © Kersti Wain-Bantin CSCC 40 data dictionaries 6

documenting processes name ________ label ________ system ________ alias/alternate name ________ description/purpose _____________________________________ input data flows ________ output data flows ________ process description: ______________ [text, decision tables, decision trees, equations, formal specification. . . etc] or any combination of the above University of Toronto at Scarborough © Kersti Wain-Bantin CSCC 40 data dictionaries 7

text, formal specification code, sample mini-spec FOR EACH shipped_order_detail GET customer_name + customer_address For EACH part_shipped GET retail_price MULTIPLY retail_price BY quantity_shipped TO OBTAIN total_this_order CALCULATE shipping_and_handling ADD shipping_and_handling TO total_this_order TO OBTAIN total_this_invoice PRINT invoice University of Toronto at Scarborough © Kersti Wain-Bantin CSCC 40 data dictionaries 8

decision tables, decision trees payment total > $50, 000 add 2% commission output special letter output award list payment total =< $50. 000 add 1% to commission output award list payment total > $50, 000 add 1% to commission output special letter payment total =< $50. 000 no action extra bonus no extra bonus University of Toronto at Scarborough © Kersti Wain-Bantin CSCC 40 data dictionaries 9

formal specification using abstraction name parameters and describe actions taken specify pre-conditions and post-conditions procedure returns requires effects modifies raises [name] [result] [conditions under which the process will work, incl. input] [what the process achieves] [side effects such as changes to global variables or system state] [exceptions] University of Toronto at Scarborough © Kersti Wain-Bantin CSCC 40 data dictionaries 10

Implementation bias is the inclusion of requirements that have no basis in the application domain. i. e. mixing some ‘how’ into the requirements Examples: The dictionary shall be stored in a hash table. The patient records shall be stored in a relational database. But sometimes it’s not so clear: The software shall be written in FORTRAN. The software shall respond to all requests within 5 seconds. The software shall be composed of the following 23 modules. . The software shall use the following fifteen menu screens whenever it is communicating with the user. … Instead of ‘what’ and ‘how’, ask: Is this requirement only a property of the machine domain? in which case it is implementation bias Or is there some application domain phenomena that justifies it? University of Toronto at Scarborough © Kersti Wain-Bantin CSCC 40 data dictionaries Source: Adapted from Jackson, M. “Software Requirements & Specifications: A Lexicon of Practice, Principles and Prejudices”. Addison-Wesley, 1995. , p 98 © Steve Easterbrook implementation bias 11
- Slides: 11