130 likes | 244 Vues
Techniques for designing code. Storyboards Text (aka pseudocode) Diagrams Flowcharts (a procedural technique) Text presents one of these for the If/Else structure Directed lines indicate flow of execution UML activity diagrams (an OO technique)
E N D
Techniques for designing code • Storyboards • Text (aka pseudocode) • Diagrams • Flowcharts (a procedural technique) • Text presents one of these for the If/Else structure • Directed lines indicate flow of execution • UML activity diagrams (an OO technique) • UML is an OO standard for diagramming for OO systems • Directed lines indicate flow of execution • *Note: Be familiar with UML ACS-1903
Techniques for designing code A storyboard in text form: • Do the following steps in order • alien moves up • alien says "Slithy toves?" • robot's head turns around • robot turns to look at alien • Do together • robot moves toward the alien • robot legs walk • alien moves down • robot turns to face the camera • robot blushes • robot says “Houston, we have a problem!” ACS-1903
Flowchart for Action Sequence Action 1 Action 2 … A simple sequence of actions. Looks the same in UML. ACS-1903
Action Sequence A simple sequence of actions is a Do in order structure in Alice ACS-1903
UML for Parallelism If a set of actions are to be done at the same time they can be represented in a UML activity diagram as Action 1 Action n … ACS-1903
Parallel Set of Actions A Do together structure in Alice specifies that certain actions are to be done at the same time… i.e. in parallel ACS-1903
Flowchart for If/Else expression false true action(s) when true action(s) when false An if/else results in one of two actions being executed depending on the truth or falsity of some expression ACS-1903
UML for If • As a UML activity diagram [false expression] [true expression] Actions for true expression Actions for false expression ACS-1903
If/Else expression ACS-1903
Flowchart for Loop Set index to 0 Loop action(s) executed while an index goes from 0 up to a limit Increment index index < limit? true Loop action(s) false ACS-1903
UML for Loop Loop action(s) executed while an index goes from 0 up to a limit Set index to 0 Increment index Loop action(s) [index < limit] [index >= limit] ACS-1903
Loop Loop action(s) executed while an index goes from 0 up to but not including a limit *Also: see the more complicated version of loop ACS-1903
A UML diagram for Robot Discovering Alien Alien moves up Alien says “Slithy toves?” Robot turns head around Robot faces alien Where does the If/Else from the other day fit into this? Index 1 Limit distance between alien and robot Increment index Robot moves 1m towards alien Robot leg moves Robot other leg moves [Index < limit] [Index >= limit] Alien moves down Robot faces camera Robot blushes Robot says “Houston, we have a problem!” ACS-1903