University of South Carolina The Process for Software Development Using Use-Cases, Classes, and Sequence Diagrams Summer Research Experience for Undergraduates in Multidisciplinary Computing University of South Carolina LaShea Johnson Benedict College Columbia, SC Computer Science & Engineering University of South Carolina # 0353637
Objectives Model structures and behavior of a system Plan development process Apply to building a computer game on a cell phone
Unified Modeling Language (UML) Gives pictorial representation of system Three primary models Use-Case: Outside view of system structure Class diagram: Inside view of system components Sequence diagram: System behavior
What are Use-Cases? Use-Case diagrams serve to identify functions that a system provides Describe external entities that interact with the system Describes normal flow of events and describes what can go wrong Set of scenarios which describe the interactions
Use-Case Diagram: Ladybuggin’ Start Game Player Exit Game Play Game Server
Subsets in the Use-Case Download Game Start Game Direct Ladybug Collect Seeds Restart Player Play Game Server Exit Game Plant Seeds Finish Game Pause Credits
Storyboards Describe user scenarios What happens as game unfolds
Ladybug turns right
Discovers seed
Seed turns into flower
Ladybug exits maze
Normal Flows and Exceptions Normal Flow of Events ( All goes well) User calls for start game Game downloaded Exceptions ( What can go wrong) Server is down Out of service area
Class Diagram Provides a representation of the class Shows system components Name - identifies the class Attributes - information contained in class Operations - what class can do Shows relationships between components
Classes Driver User Interface Maze Character Seed includes * 1 1 1 1 1 1 1 1 1 1 includes 1 * Character Seed
Class Details Maze char [ ][ ] name; int name; boolean name; void maze( ) void display maze( ) void close maze( ) void update maze( )
Sequence Diagram Made up of objects and messages Shows the dynamics of how objects interact with each other and how these interactions occur over time
Start Game DRIVER UI MAZE CHAR SEED SCORE Start Button Game Screen Display Screen New Maze Display character Display seed Initialize score Display maze Screen
Benefits Provides pictorial representation that is easy for both developers and users to understand. Improves team productivity Documents and describes what users want and need Shows how system will work
Conclusions Expedite development process Gives clear requirements of what is needed Shows functions for each class Illustrates how functions interact with each other
Acknowledgements Dr. John Bowles, University of South Carolina Dr. Caroline Eastman, University of South Carolina Mentor: Tiffany Mintz Group Members: Carlos Rivera Lalique Gumbs-Prince Rob Jansen Supported by the National Science Foundation under grant # 0353637
Questions?