Input and output of different stages in software development:
Stage | Inputs | Outputs |
Requirement Analysis | Stackeholders, goals, existing bussiness processes | Business models, use case models, prototypes |
Systems
Analysis | Business models, use case models, prototypes | Use case definitions, object model, prototypes |
Design | Use case definitions, object model, prototypes | Object model, data model, component model, architectural view, interface specifications |
Implementation | Object model, data model, component model, architectural view, interface
specifications | Source code, complied code, database, interfaces, deployment plan |
Testing | Business models, use case models, use case definitions | Fault report, acceptance |
Activity diagrams are used to describe flows in a variety of situations, they are flow diagrams and can be used in business modelling, requirements modelling, systems analysis and design.
Use case diagrams are used to show the presentation of functionality of a system and its interaction with the outside world. The diagrams show the boundaries of software systems but do not specify functionalities. They can be used in business modelling and requirements modelling.
Class diagrams show the static structure of a system, with classes and relationships between classes. They are used in business modelling, requirements modelling, systems analysis and design.
Statechart diagrams are used for modelling the internal state changes of and object and are a variant of activity diagrams with largely the same notation. They are used in business modelling, requirements modelling, systems analysis and design.
Sequence diagrams provide a time-ordered mapping of steps in the execution of a scenario into interactions between objects. They are one of the primary tools ofr elaborating use cases in analysis and design. They are used in systems analysis and design.
Collaboration diagrams provide a mapping of steps in the execution of a scenario into interactions between objects, drawn in two dimension in a similar way to class diagrams. They are used for similar purposes to sequence diagrams, but present the information in a different way.
Component diagrams show the implementation structure of the application and are used by the designer to indicate where the objects are implemented and how the components interact.
Reference: Ken Lunn, Software Development with UML, Palgrave Macmillan, New York, 2003, pp362-376