1 / 113

Dr. Natalio Krasnogor Natalio.KrasnogorNottingham.ac.uk

shen
Télécharger la présentation

Dr. Natalio Krasnogor Natalio.KrasnogorNottingham.ac.uk

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Dr. Natalio Krasnogor Natalio.Krasnogor@Nottingham.ac.uk

    2. Lecture 1 Administrative Information

    3. Module Content

    4. Assessment Schedule for G64HLL

    5. Module Timetable

    6. Module Support

    9. Module is 100% assessed by coursework 3 courseworks, equally weighted at 33% each You must attempt all courseworks Courseworks *are* exams No extensions No cheating/copying/plagiarism tolerated I use Turnitin to check for plagiarism among youselves and the internet! Courseworks give you the opportunity to show off your skills and get a good mark Lets see previous courseworks and marks attained by students

    12. Coursework 2, deadline: 3 & 4 March Based on the deliverables of the 1st coursework you will extend the UML design with the look-and-feel of the website you will implement. You will also implement all the functionality in PHP and mySQL such that every customer interaction within your subsytem is taken into account. You will not consider for this coursework the cinemas manager viewpoint Deliverables: XHTMLs files (source codes) PHP files (source codes) mySQL (tables details, populated) Manuals (pdfs) Updated UMLs and specifications (pdfs) README file

    15. Courseworks Submittion Procedure

    16. Systems Development Life Cycle

    32. The Unified Modelling Language

    33. Todays Lecture

    34. The Unified Modelling Language During the 90s there were several disparate modelling methods for object oriented programming. They used the same concepts with different notations. This produced lots of confusion among designers and programmers. The war of the methods In 1994, Booch, Rumbaugh (OMT) y Jacobson (Objectory) decided to unify their methods and created: Unified Modeling Language (UML) This was a standardisation method promoted by OMG

    35. Object Oriented Analysis Methods Booch Coad/Yourdon OMT Champeaux Jacobson Martin/Odell Shlaer-Mellor OOram Wirfs-Broks BON Fusion Open Catalysis And many many more!

    39. UML encompasses various methods

    40. History of UML

    41. Advantages of the unification Has all the strong points of each method Promotes new ways of improving designs/analysis Promotes stability in the software industry Simplifies users life!

    42. From the specification to the solution

    43. UML and Modelling UML is a notation, not a design process Various design processes are being design with UML in mind. E.g. Rational created RUP, which is aunified process. UML could be used for systems which are not necessarily software based.

    44. What is UML useful for? Allows to: Specify all the analysis, design and implementation decisions. Build models which are precise, unambiguous and complete Documents all the development steps (e.g. requirements, architecture, tests, versioning, etc..)

    46. UML Characteristics UML is independent of the implementation language. UML could be implemented in various languages We will focus on UML tied to PHP, PERL

    47. UML Diagrams UML defines several types of diagrams: Use Case Clases Packages Objects Interaction Sequence Colaboration States Activities Components Deployment

    48. Class Diagrams Notation Class name Attributes Methods Method and attributes organization

    49. Advanced Concepts Class variables Class methods Abstract classes Abstract methods Miscellaneous (e.g. exceptions)

    51. Class Diagrams: Relations Simple Generalisation Is-a

    52. Class Diagrams: Relations

    53. Another Example

    57. Associations Is a structural relation that specifies that the objects of one class are connected to those of another class. Notacin: Role name : role which the class plays from the others viewpoint Visibility Multiplicity : for each object (of the other class) specifies how many in this side could have associated.

    68. Associations Restrictions

    69. Dependencies A change in the specification of one class affects the other

    70. Quiz: is this right or wrong?

    72. Complete Example

    73. Another example:

    74. Another example Lets build the class diagram for vehicles! Consider the characteristics of: Trucks Cars Motorcycles Military Naval Vessels Commercial sea liners Airplanes etc

    75. Packages and UML A package is a set of interrelated classes and interfaces that provide protected access and name management The classes and interfaces which are part of the java language are grouped in packages accordingly to function: java.applet : Applets management. java.io: IO management. java.awt: GUI management. etc

    76. Why its good to define packages?

    77. Complexity management by restricting access through the use of the import command The public aspects of a package are those which it exports. They become visible to those other packages, classes, etc that import the package. Import is not transitive.

    78. Package Diagrams: Notation 1

    79. Package Diagrams: Notation 2

    80. UML notation for packages is independent of programming language You could use this notation for PHP,PERL: Code libraries Organize your design and hence your code Document your code

    81. We saw:

    83. The Unified Modelling Language

    84. Todays Lecture

    85. In general a use case model contains: Actors Use Cases Dependency and association relations. <<includes>> <<extend>>

    87. Use Cases Captures a visible and clear function for the user. That is, a use case is related to a users specific need/requirement . One way of obtaining use cases is talking with the user and finding out what on earth (s)he wants to do with it All use cases are about externally required functionality That is, a use case can also relate to functions needed by other systems!

    88. Systems & Subsystems

    95. Use Case, another example:

    102. Use Case, another example:

    108. Another example: web-based retailer

    110. Case Tools

    111. Bibliography Software Engineering. D. Gustafson, Schaums Outlines by McGraw-Hill The Unified Modeling Language User Guide. G. Booch, J. Rumbaugh, and I. Jacobson. Addison-Wesley. The Unified Modeling Language G. Booch, J. Rumbaugh, and I. Jacobson. Addison-Wesley Teach Yourself UML in 24 Hours - Joseph Schmuller UML for Java Programmers - Robert Cecil Martin OMG Unified Modeling Language Specification (Version 1.4 September 2001) UML Explained Kendall Scott

    112. Today We Saw:

    113. Next Week Next week we start with PHP Self-Learning, lecture 1, a review of html and unix

More Related