RealEstate Example
Software engineering covers the entire software development process from requirements to testing and beyond. This module contains an extensive example that covers requirements, design, and testing for a favorite board game, Monopoly. This RealEstate example was created using agile software practices, including pair programming and test driven development (TDD), in the Eclipse environment. JUnit and FIT were the unit and acceptance testing frameworks for the application. Eclipse UML was used to create the UML diagrams.
Three types of requirements documents were written to describe what the RealEstate game should do. The first type of requirements, User Stories, are short descriptions of what the user or customer wishes the program to do. The second requirement type is Use Cases. Use cases describe the interaction between elements of the system, and the tasks these elements must complete. Third, are Formal Requirements. Formal requirements are a list of statements describing small pieces of functionality.
We used class diagrams, sequence diagrams, and state charts to describe the design of the RealEstate game. Class diagrams describe the structure of the program and how the different objects interact with each other. Each sequence diagrams describes a specific path through the program, while state charts show all of the decision points in the application.
Finally, we used several different methods of testing. A full suite of black box acceptance test cases are provided. During development, testing was used to drive development forward. JUnit was used to create automated unit tests of the application, and FIT was used to create automated acceptance test cases. The JUnit test cases are located in the unittests/ folder and the FIT fixtures are located in the acctest/fixtures/ folder in the RealEstate project.
Previous
