Content deleted Content added
m →In a nutshell: clean up, typo(s) fixed: 12$ → $12 (24) using AWB |
Citation bot (talk | contribs) Alter: title, template type. Added chapter. Removed parameters. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox2 | #UCB_webform_linked 189/217 |
||
(14 intermediate revisions by 10 users not shown) | |||
Line 1:
{{Multiple issues|{{more footnotes|date=February 2014}}{{essay-like|date=February 2014}}}}
'''Story-driven modeling'''<ref name=SDMBook>{{cite book|
Class diagrams describe the static structure of a program, i.e. the building blocks of a program and how they relate to each other.
Class diagrams also model data structures, but with an emphasis on rather abstract concepts like types and type features.
Instead of abstract static structures, story-driven modeling focuses on concrete example scenarios<ref>{{cite journal|
may be represented as [[object diagram]]s and how these object diagrams evolve during scenario execution.
==
Story-driven modeling proposes the following software development approach:
Line 29:
#*Step 2: Putri brings salad for $9. Peter adds this item, too. The app shows that by now the average share is $7 and that Peng still have to bring these $7 while Peter gets $5 out and Putri gets $2 out: <br/>[[File:WikipediaGoDutchMockup.png|WikipediaGoDutchMockup]][[File:WikepediaObjectDiagramGoDutchBarbeque.png|Object diagram modeling a go-Dutch barbecue]]
#*Step 3: ...
# '''Class diagram derivation''': Now it is fairly
# '''Algorithm design''': So far you have modeled and implemented that object structures that are deployed in your application. Now you need to add behavior, i.e. algorithms and method bodies. Programming the behavior of an application is a demanding task. To facilitate it, you should first outline the behavior in [[pseudocode]] notation. You might do this, e.g. with an object game. For example, to update the saldo attributes of all persons you look at our object structure and from the point of view of the GroupAccount object you do the following:
#: Update the saldo of all persons:
Line 40:
#*** for each item add the value to the saldo of the current person
#** for each person subtract the share from the saldo
# '''Behavior implementation''': Once you have refined your algorithm [[pseudocode]] down to the level of operations on object structures it is
# '''Testing''': Finally, the scenarios may be used to derive automatic [[JUnit]] tests. The pseudocode for a test for our example might look like:
#: Test update the saldo of all persons:
Line 55:
== Summary ==
Story driven modeling has proven to work very well for the cooperation with non IT experts.<ref>{{cite journal|
Story Driven Modeling has matured since its beginning in 1997. In 2013 it is used for teaching e.g. in Kassel University, Paderborn University, Tartu University, Antwerp University, Nazarbayev University Astana, Hasso Platner Institute Potsdam, University of Victoria, ...
== See also ==
* [[Agile
* [[Entity–control–boundary]]
* [[Agile software development]]
* [[Class-responsibility-collaboration card]]
|