Introducing DotNetFunda.com on mobile http://m.dotnetfunda.com ! Be with DotNetFunda.com on the go !
Go to DotNetFunda.com
Twitter TwitterLinkedIn
YouTubeGoogle
 Online : 2327 |  Welcome, Guest!   Register  Login
Home > Articles > Best Practices > Software Design - Part 1

Software Design - Part 1

Article posted by Sudhakarj21 on 11/26/2009 | Views: 4128 | Category: Best Practices | Level: Beginner red flag


Software Design is one of the phase in SDLC where many key decisions and though process goes into.

Overview

 

In general the Software Design is categorized into 3 types.

 

1.    Conceptual

2.    Logical

3.    Physical

 

Conceptual 

 

This design is from High Level targeting End User and Business Owners. This Design helps to identify the interactions of Users and Systems, System to Modules, Modules to Modules or layers. This design also mentions about Architecture in domain level and also based on requirements provides basic structure of layers and the interaction between each layers.

 

 

The above diagram shows the Conceptual View of the Architecture. It also shows some of the Non Functional Services like Security, Caching, Usability etc…

 

Logical 

 

This is one of most important design layer when compared with others It is from the view of Project Team includes DEV/QA/Architects. This is where the highly thought process goes. This uses OOAD to move our domain level Models like Product, Orders in the above diagram to a Logical Models. This Model defines the Logical Object Models, Their Roles and Relations (ORM – Objects, Roles/Relations, Mapping). This layer also defines about Tasks of these Models and also the State of the object from which the Database Logical Model will be derived. ORM places in important role in deriving Database Design. This layer connects the gap between Conceptual and Physical.

 

Physical

 

This is not a Technology Layer and is from Developer point of view . This is the layer where we can see the blue prints of your application implementation in the form of Class Diagrams, Database Schema, Sequence Diagrams etc… This is not a Technology Specific since the Classes can be implemented in a language you choose. But this layer can provide some Technical Constraints or Recommendations about implementations. Because this view also holds the key to effort estimate for projects. This layer also provides the Infrastructure Design in the form of Deployment Diagram which will be used while deploying the application.

 

Conclusion
 

These are the high level details about Software Design. Will provide more details in the coming posts.

 

If you like this article, subscribe to our RSS Feed. You can also subscribe via email to our Interview Questions, Codes and Forums section.

Page copy protected against web site content infringement by Copyscape
Found interesting? Add this to:



Please Sign In to vote for this post.

Experience:7 year(s)
Home page:
Member since:Monday, October 05, 2009
Level:Bronze
Status: [Member]
Biography:
>> Write Response - Respond to this post and get points
Related Posts

In this part of article series for "Software patterns- GRASP", we would explore the process of assigning responsibilities so has to handle the situation where the existing domain classes are violating the High cohesion and low coupling principles in turn using Pure Fabrication in such scenarios.

In this part of article for "Software Patterns- GRASP", we would explore the pattern "Information Expert" and run through the process of assigning responsibilties to such class.

In this part of article series for "Software patterns- GRASP", we would explore the process of assigning responsibilities so as to protect the objects from variations in other objects/elements.

In OOAD, assignment of responsibilties to classes and objects is an inportant task and GRASP caters the guidelines for such assignments.

In this part of article series for "Software patterns- GRASP", we would explore the process of assigning responsibilities so has to combine the low coupling and potential for reuse.

More ...
About Us | Contact Us | The Team | Advertise | Software Development | Write for us | Testimonials | Privacy Policy | Terms of Use | Link Exchange | Members | Go Top
General Notice: If you found plagiarised (copied) contents on this page, please let us know the original source along with your correct email id (to communicate) for further action.
Copyright © DotNetFunda.Com. All Rights Reserved. Copying or mimicking the site design and layout is prohibited. Logos, company names used here if any are only for reference purposes and they may be respective owner's right or trademarks. | 5/21/2012 7:23:07 AM