Quantcast
Channel: Software Engineering Blog | Software engineering , Software Document ,Software Process
Viewing all articles
Browse latest Browse all 32

UML and Agile Modeling

$
0
0

UML is a graphical language for organizing, analyzing, and planning object-oriented or component-based software projects. The UML 2 specification defines fourteen major different diagram types and over one thousand graphical and textual language elements, as well as additional extension mechanisms. Traditionally these diagrams have been used by software developers and project managers as a powerful, standardized planning language to verify application logic and confirm that end-user needs will be met.
UML is complex by design, offering a multitude of options for visually detailing software implementations in a wide variety of hierarchical models that can provide representations for every stage and process within the development cycle.


Structure Diagrams

  • Class diagram
  • Component diagram
  • Composite structure diagram
  • Deployment diagram
  • Object diagram
  • Package diagram
  • Profile diagram


Behavior Diagrams

  • Activity diagram
  • State machine diagram
  • Protocol state machine diagram
  • Use case diagram


Interaction Diagrams

  • Communication diagram
  • Interaction overview diagram
  • Sequence diagram
  • Timing diagram

Agile Modeling
The agile methodology requires a modeling and documentation process that reflects the fluidity of its founding principles. The agile modeling process is a means to support development projects, addressing interaction and collaboration through the presentation of action plans in a visual format that stakeholders can readily understand, while also being technical enough to provide developers with a basis for their design.


Agile modeling focuses on simplicity and the ability to process and handle changing requirements, leading to an incremental approach, where software projects are visually modeled and presented in phases, rather than a traditional model in which all encompassing plans are drawn up at the outset.
The Agile Model Driven Development (AMDD) approach dictates a relatively short requirements analysis phase, with successive just-in-time modeling to address project needs at each iteration. Using this method, working software is available for review and testing at a much earlier stage, giving collaborators the opportunity to change requirements as the project evolves.

UML and Agile Modeling
The widespread adoption of UML as a modeling language stems largely from its ability to express software design in many different ways and at many different stages. In addition, its rapid acceptance as a standard suggests a recognized need for a unified approach to modeling, helping disparate development communities to collaborate over shared projects.
As a predecessor to agile methods, UML was developed to address more stringent object-oriented design methods, which have more robust modeling and documentation requirements. However, with the right tool, developers, project managers, and stakeholders can take advantage of this standard modeling language in their agile projects.


Viewing all articles
Browse latest Browse all 32

Trending Articles