CSC/ECE 517 Summer 2008/wiki2 3 kb: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
 
(58 intermediate revisions by the same user not shown)
Line 1: Line 1:
==''Unified Modeling Language(UML)''==
=='''Unified Modeling Language(UML)'''==
===what is UML?===
The Unified Modelling Language (UML) is a diagramming language or notation to specify, visualise and document models of Object Orientated software systems. UML is not a development method, that means it does not tell you what to do first and what to do next or how to design your system, but it helps you to visualise your design and communicate with others. UML is controlled by the Object Management Group (OMG) and is the industry standard for graphically describing software.UML is designed for Object Orientated software design and has limited use for other programming paradigms.


==Web extensions to UML: Using the MVC Triad==
===What is UML in Computer Science?===
Current Web Modelling Languages (WMLs) fall short of the
*The '''Unified Modelling Language (UML)''' is a diagramming language to specify, visualise and document models of Object Oriented software systems.  
requirements for the modelling of web system development. In particular,
those WMLs with a hypermedia basis are more closely focussed on
the information architecture whereas software system WMLs are more
focussed on the functional architecture. Generally, modelling languages
have failed to bridge the gap between these two areas. They also do not
handle well the connection between different levels of abstraction and are
largely unable to connect well with business models. Based on an analysis
of existing modelling approaches, we propose a conceptual extension
to modelling approaches that attempts to address these limitations. We
show how it can implemented using UML modelling along with the addition
of concepts taken from Web information modelling approaches,
WebML in particular. The extensions are structured around the Model-
View-Controller concept, which we argue provides an appropriate integrating
modelling framework.
==Java the UML Way==
The goal is to have a lightweight client browser at the front end sending requests to a Web server, which then acts as a broker in a container product that implements the application's business rules. The Web server uses servlets and JSPs to intercept the requests. For the business rules, alternate solution strategies involving JavaBeans and EJBs with Bean-managed/container-managed persistence are discussed, implemented, and compared.  


Although the application is simple, it makes use of a core set of UML diagrams and the Java framework.
*UML is not a development method, that means it does not tell you what to do first and what to do next or how to design your system, but it helps you to visualise your design and communicate with others.


example:
*UML is managed by the Object Management Group (OMG) and is the industry standard for graphically describing software.UML is designed for ''' Object Orientated software design ''' and has limited use for other programming paradigms.
The Case
*To renovate an apartment:
*How much paint, or wallpaper, will you need for a wall? Or how much flooring?
*Here: A little program calculating the area of a surface, e.g. afloor or a wall.
*We'll work with this case throughout the book. At last we'll have a useful program with graphical user interface (Fig. 15.8)
*Basic questions when solving a programming problem:
*utput data: What do we expect to get? What will the program display to theuser?
*Input data: What has the user to input for the program to produce the given output?
In this case:
*Output data: the area in square meters
*Input data: length and width


Example Run:
*[http://www.slideshare.net/ddebowczyk/uml-modeling-step-by-step?src=related_normal&rel=16709 link to UML getting started]
Length: 5.8 m
**This link explains us the concepts of UML in detail.
Height: 2.4 m
The area of the wall is 13.92 square meters.


Unfortunately, it is rather difficult to read data in to a program in Java.
===Review of MVC sites on the Web that are best for learning MVC(Model-View-Controller)Architechture===
The Source Code
<pre>
class WallCalculations{public static void main(String[] args)
{
double length = 5.0;
double height = 2.3;
double area = length * height;
System.out.println("The area of the wall is " + area + " square meters.");
}


</pre>
*[http://ootips.org/mvc-pattern.html link1]
/* Example Run:The area of the wall is 11.5 square meters.*/input data are coded directlyinto theprogram, rather than readfrom the user calculation ouput data Three variables. A variableis a place of storage in the computer's memory. The contents of a variable are interpreted according to the data type.Here the type is a decimal numeral (double).
This link gives an introduction to learn the concepts and the relationship between Model,View and the Controller.
 
*[http://en.wikipedia.org/wiki/Model-view-controller link2]
Next,This link gives an basic overview of the MVC architecture and then talks about the implementation of MVC in various languages along with a wide variety of examples.
 
*[http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html link3]
This link describes in detail the MVC framework as it existed in Smalltalk-80 v2.0 and also explains clearly the components of the MVC pattern.
 
*[http://www.enode.com/x/markup/tutorial/mvc.html link4]
This Tutorial describes the mvc pattern and gives an detailed example on how to use MVC pattern for Web Services using Java as an interface.
*[http://martinfowler.com/eaaDev/uiArchs.html link5]
This website provides an in-depth MVC description with examples to clearly understand the concept.
 
*[http://www.codeproject.com/KB/architecture/ModelViewController.aspx link6]
This article will explain the usage of Robustness Analysis in conjunction with Model View Controller, using UML with application in ASP.NET. This article is a sequel to my articles on Architecture and Design with ASP.NET
 
===Review of MVC sites on the Web that are best applicable for JAVA===
*[http://java.sun.com/blueprints/patterns/MVC-detailed.html link1]
In this link an application of MVC in java is Illustrated.
 
*[http://www.ibm.com/developerworks/web/library/j-struts/ link2]
This link introduces Struts, a Model-View-Controller implementation that uses servlets and JavaServer Pages (JSP) technology. Struts can help you control change in your Web project and promote specialization. Even if you never implement a system with Struts, you may get some ideas for your future servlets and JSP page implementation.
 
*[http://rollerjm.free.fr/pro/Struts11.html link3]
The website illustrates the Struts 1.1 Controller with UML diagrams. This article is an introduction to the Struts framework in order to help beginners programmers to understand the MVC model 2.
 
===Review of MVC sites on the Web that are best applicable for RUBY===
 
*[http://wiki.rubyonrails.org/rails/pages/mvc link1]
This link gives a clear understanding of MVC and also the application of MVC Ruby on Rails.
 
*[http://www.slideshare.net/codeinmotion/mvc-demystified-essence-of-ruby-on-rails?src=related_normal&rel=192456 link2]
These slides give a brief review of the use of MVC Architecture with a few examples in Ruby on Rails.


==Ruby the UML Way==
*ruby-uml tries to trace different aspects of an existing application, which is intended to provide support for refactorisations by generating UML-graphs.  
*ruby-uml tries to trace different aspects of an existing application, which is intended to provide support for refactorisations by generating UML-graphs.  


*ruby-uml is able to generate textual representations of the gathered informations.  
*ruby-uml is able to generate textual representations of the gathered informations.  


*These representations include pic- or dot-code that can be converted to images by their corresponding applications.
*These representations include a picture or dot-code that can be converted to images by their corresponding applications.  
 
*At this time ruby-uml is able to generate sequence- and class-diagrams.  


*ruby-uml is able to generate sequences and class diagrams.


== ''References'' ==
=== ''References'' ===
*http://www2.tisip.no/JavaTheUmlWay/
#http://www.slideshare.net/ddebowczyk/practical-uml
*http://ruby-uml.rubyforge.org/
#http://ootips.org/mvc-pattern.html
*Gu, A., Henderson-Sellers, B., Lowe, D.: Web modelling languages: the gap between
#http://en.wikipedia.org/wiki/Model-view-controller
requirements and current exemplars. In: AusWeb. (Submitted, 2002)
#http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html
*OMG: OMG Unified Modeling Language specification, version 1.3 (released to the
#http://www.enode.com/x/markup/tutorial/mvc.html
general public as OMG document formal/00-03-01 in March 2000) (2000)
#http://martinfowler.com/eaaDev/uiArchs.html
*Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modelling Language User
#http://www.codeproject.com/KB/architecture/ModelViewController.aspx
Guide. Addison-Wesley (1999)
#http://www.ibm.com/developerworks/web/library/j-struts/
#http://rollerjm.free.fr/pro/Struts11.html
#http://wiki.rubyonrails.org/rails/pages/mvc
#http://www.slideshare.net/codeinmotion/mvc-demystified-essence-of-ruby-on-rails?src=related_normal&rel=192456
#http://ruby-uml.rubyforge.org/

Latest revision as of 03:49, 8 July 2008

Unified Modeling Language(UML)

What is UML in Computer Science?

  • The Unified Modelling Language (UML) is a diagramming language to specify, visualise and document models of Object Oriented software systems.
  • UML is not a development method, that means it does not tell you what to do first and what to do next or how to design your system, but it helps you to visualise your design and communicate with others.
  • UML is managed by the Object Management Group (OMG) and is the industry standard for graphically describing software.UML is designed for Object Orientated software design and has limited use for other programming paradigms.

Review of MVC sites on the Web that are best for learning MVC(Model-View-Controller)Architechture

This link gives an introduction to learn the concepts and the relationship between Model,View and the Controller.

Next,This link gives an basic overview of the MVC architecture and then talks about the implementation of MVC in various languages along with a wide variety of examples.

This link describes in detail the MVC framework as it existed in Smalltalk-80 v2.0 and also explains clearly the components of the MVC pattern.

This Tutorial describes the mvc pattern and gives an detailed example on how to use MVC pattern for Web Services using Java as an interface.

This website provides an in-depth MVC description with examples to clearly understand the concept.

This article will explain the usage of Robustness Analysis in conjunction with Model View Controller, using UML with application in ASP.NET. This article is a sequel to my articles on Architecture and Design with ASP.NET

Review of MVC sites on the Web that are best applicable for JAVA

In this link an application of MVC in java is Illustrated.

This link introduces Struts, a Model-View-Controller implementation that uses servlets and JavaServer Pages (JSP) technology. Struts can help you control change in your Web project and promote specialization. Even if you never implement a system with Struts, you may get some ideas for your future servlets and JSP page implementation.

The website illustrates the Struts 1.1 Controller with UML diagrams. This article is an introduction to the Struts framework in order to help beginners programmers to understand the MVC model 2.

Review of MVC sites on the Web that are best applicable for RUBY

This link gives a clear understanding of MVC and also the application of MVC Ruby on Rails.

These slides give a brief review of the use of MVC Architecture with a few examples in Ruby on Rails.

  • ruby-uml tries to trace different aspects of an existing application, which is intended to provide support for refactorisations by generating UML-graphs.
  • ruby-uml is able to generate textual representations of the gathered informations.
  • These representations include a picture or dot-code that can be converted to images by their corresponding applications.
  • ruby-uml is able to generate sequences and class diagrams.

References

  1. http://www.slideshare.net/ddebowczyk/practical-uml
  2. http://ootips.org/mvc-pattern.html
  3. http://en.wikipedia.org/wiki/Model-view-controller
  4. http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html
  5. http://www.enode.com/x/markup/tutorial/mvc.html
  6. http://martinfowler.com/eaaDev/uiArchs.html
  7. http://www.codeproject.com/KB/architecture/ModelViewController.aspx
  8. http://www.ibm.com/developerworks/web/library/j-struts/
  9. http://rollerjm.free.fr/pro/Struts11.html
  10. http://wiki.rubyonrails.org/rails/pages/mvc
  11. http://www.slideshare.net/codeinmotion/mvc-demystified-essence-of-ruby-on-rails?src=related_normal&rel=192456
  12. http://ruby-uml.rubyforge.org/