Siraj ’s heaven.

Imagination is more important than knowledge. -Albert Einstein

Modeling in Software Development

Posted by sirajq on March 20, 2008

Modeling help you depict business processes and their relationship with other processes. It also help you to describe complex problems in a simpler structure and enable easy communication. As the business processes are modeled and adapted to reflect the requirements, you can build a model of the architecture that describe the final business solution. Most commonly used modeling notations are:Unified Modeling Language (UML)  UML: UML is a standard modeling language that you use to model software systems of varying complexities. It was developed to provide users with a standard visual modeling language so that they can develop and exchange meaningful models. UML is independent of particular programming languages and development processes. You use UML to: 

  • Visualize a software system with well defined symbols.
  • A developer or application can unambiguously interpret a model written in UML by another developer.
  • Specify the software system and help build precise, unambiguous, and complete models. Construct models of the software system that can correspond directly with a variety of programming languages. Document the model of the software system by expressing the requirements of the system during it development and deployment stages.
  • It is a simple, extensible, and expressive visual modeling language.
  • It provide the ability to create simple, well documented, and easy to understand software models.

 UML enables system engineers to create standard blueprint of any system.  UML provides a number of graphical tools that you can use to visualize and understand the system from different viewpoint. You can use diagrams to present multiple view of the system. You use models or views to depict the complexity of a software system. The various UML view depict several aspect of the system. For example End User/Stakeholder may not understand the technical diagram.. So UML has User view which represents the goal and objective of the system from the viewpoint of the end user and their requirement of the system.  This view shows how User interact with the system for day to day activities. User view help project team to understand the system and it requirements. Major task of the project team is to use requirement to design and develop the system.  Use case diagrams. A use case diagram represents the functionality that is provided to external entities by the system.  

UML has following Views. 

  • User View contains Use Case diagram represents the functionality that is provided to external entities by the system. 
  • Structural view which is also called design view and it represents static or  idle state of the System. Structural View includes Class and Object Diagrams: A class diagram depict various classes and their associations. Associations are depicted as bi-directional connections between classes. A object diagram depict various object in a system and their relationship with each other. 
  • Behavioral view which represents the dynamic or changing state of the system. This is also call Process view.  Behavioral View contains following diagrams: 
  • Collaboration diagrams. A collaboration diagram represents a set of classes and the messages sent and received by those classes.
  • Sequence diagrams. A sequence diagram describes the interaction between classes. The interaction represents the order of messages that are exchanged between classes.
  • State diagrams. A state diagram describes the behavior of a class when the external processes or entities access the class. It depicts the states and responses of a class while performing an action.
  •  Implementation View:  The view represents the structure of the logical elements of the system.   This View contains A component diagram represents the implementation view of a system. It represents various components of the system and their relationships, such as source code, object code, and execution code. 
  • Environment View which represents the distribution of the physical elements of the system. This is also called Deployment View. This View contains a deployment diagram represents the mapping of software components to the nodes of the physical implementation of a system.   

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>