Monday, January 14, 2013

N-tier vis MVC architecture


At first glance, the three tiers may seem similar to the model-view-controller (MVC) concept; however, topologically they are different. A fundamental rule in a three tier architecture is the client tier never communicates directly with the data tier; in a three-tier model all communication must pass through the middle tier. Conceptually the three-tier architecture is linear. However,

 the MVC architecture is triangular: the view sends updates to the controller, the controller updates the model, and the view gets updated directly from the model.


N-tier Concept





MVC -CONCEPT


References

http://en.wikipedia.org/wiki/Model-view-controller


Difrence between Platform-specific model and Platform-independent model

A platform-specific model is a model of a software or business system that is linked to a specific technological platform (e.g. a specific programming language, operating system, document file format or database). Platform-specific models are jruri for the actual implementation of a system.
For example, a need to implement an online shop. The system will need to store information regarding users, goods, credit cards, etc. The designer might decide to use for this purpose an Oracle database. For this to work, the designer will need to express concepts (e.g. the concept of a user) in a relational model using the Oracle's SQL dialect. This Oracle's specific relational model is an example of a Platform-specific model.


A Platform-Independent Model (PIM) in software engineering is a model of a software system or business system, that is independent of the specific technological platform used to implement it.


foe example using PHP DATA OBJECT  ( PDO)  in php language for model this maks you able to connect with different technologies such as MSsql , mysql , oracle , etc .. without needing to depend on spastic sql query for specific  database technology 



References


http://en.wikipedia.org/wiki/Platform-specific_model

http://en.wikipedia.org/wiki/Platform-independent_model

Software design

is a process of problem solving and planning for a software solution.

If the software is "semiautomated" or user centered, software design may involve user experience design yielding a story board to help determine those specifications. If the software is completely automated (meaning no user or user interface), a software design may be as simple as a flow chart or text describing a planned sequence of events. There are also semi-standard methods like Unified Modeling Language and Fundamental modeling concepts. In either case some documentation of the plan is usually the product of the design.

A software design may be platform-independent or platform-specific, depending on the availability of the technology called for by the design.
Software design can be considered as putting solution to the problem(s) in hand using the available capabilities. Hence the main difference between Software analysis and design is that the output of the analysis of a software problem will be smaller problems to solve and it should not deviate so much even if it is conducted by different team members or even by entirely different groups. But since design depends on the capabilities, we can have different designs for the same problem depending on the capabilities of the environment that will host the solution (whether it is some OS, web, mobile or even the new cloud computing paradigm). The solution will depend also on the used development environment (Whether you build a solution from scratch or using reliable frameworks or at least implement some suitable design patterns)


References

 http://en.wikipedia.org/wiki/Software_design


MS in Computer Science with paid training in USA company