Requirements: use cases Make a use case diagram. Write specifications for some of the use cases. A specification should include a brief description of the use case, names of the primary and secondary actors involved in the use case, preconditions, main flow, postconditions. You may also specify alternative flows. Analysis: class diagram Analyze the requirements. Make and describe a diagram of analysis classes. State machines Make and describe a state machine diagram for some object of you system, which has many states. If you can't find such an object, you may create a state machine for some part of the user interface. Packages diagram Make and describe a diagram of packages. Design classes Make and describe a diagram of design classes. Refine analysis relationships. You may generate it from source code if you already have it written. If the diagram becomes huge, try to separate it into multiple parts. If it is hard to separate it into loosely coupled parts, consider redesign of your program. Sequence diagrams Make and describe a sequence diagram for some non-trivial operation from the diagram of design classes (one diagram per person). Unit and integration testing Create some unit or integration tests and make them pass. Make sure that you included the source code of your tests to the source code repository, since you will need them when configuring continuous integration. Continuous integration Configure a continuous integration system (e.g.: Jenkins, TeamCity, Travis). On each commit in the source code repository the continuous integration system must - compile the source code (if needed);
- check the code quality;
- run the tests;
- calculate test coverage;
- build a distribution (if needed).
On error in any of the above steps, the CI system must send and email alert to the team member who committed code that caused this error.
|
|