Automated consultant for higher studies

download Automated consultant for higher studies

of 73

Transcript of Automated consultant for higher studies

  • 8/9/2019 Automated consultant for higher studies

    1/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 1 03085016

    INDEX

    S.NO Topic Page No.

    1 ABSTRACT 2

    2 Problem Statement 3

    3 Proposed Statement 4

    4 Software Requirement Specifications 5

    5 Unified Modeling Language 9

    6 Class Diagrams 57

    7 Use Case Diagrams 59

    8 Interaction Diagramsa)Sequence Diagram

    b)Collaboration Diagram6061

    9 Activity Diagram 62

    10 State Chart Diagram 66

    11 Component Diagram 69

    12 Deployment Diagram 70

  • 8/9/2019 Automated consultant for higher studies

    2/70

  • 8/9/2019 Automated consultant for higher studies

    3/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 3 03085016

    P ROBL EM STAT EMEN T

    A problem statement is a class concise designation of the issues that need to beaddressed by a problem solving team and should be presented to them or created bythem before they try to solve the problem.

    When bringing together a team to achieve a particular purpose efficiently providethem with a problem statement answers the following questions:

    1. What is the problem?2. Who has the problem? Or who is the client customer?

    This should explain who needs the solution and who will decide the problem has been solved.

    3. What is the scope and limitations (in time, money resources, technology) thatcan be used to solve the problem?4. What are the features of the problem?

    The various problems that are being faced are that:

    The student does not have enough resources to prepare for the various test that areheld by the university, which may result in the student getting unsatisfactory marks.

    Moreover the student has to manually go about submitting and applying in variousuniversities which is time consuming. The student has no guidance what so ever and itgets tedious to manually look for the students preferred courses offered at theuniversities.

    Making the consultant automated provides maximizing of revenues, timeconservation and Information on demand

  • 8/9/2019 Automated consultant for higher studies

    4/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 4 03085016

    P RO P OS ED STAT EMEN T

    The automated consultant makes dreams come true. This helps those students

    who wish to pursue higher education in abroad. This consultant provides necessary

    details for higher education in abroad. The consultancy also provides training institute

    for entrance exam like GRE-TOFEL these automated consultants give all required

    details for visa process.

    The automated consultant is designed to teach and provide consultation to user

    in one single software. It provides consultation about what user can take as his future

    course and make him easy to decide his carrier.

    Students can apply to some colleges using the Common Application. There is

    no limit to the number of colleges or universities to which a student may apply,

    though an application must be submitted for each. With a few exceptions, mostundergraduate colleges and universities maintain the policy that students are to be

    admitted to (or rejected from) the entire college, not to a

    particular department or major (This is unlike college admissions in many European

    countries, as well as graduate admissions.) Some students, rather than being rejected,

    are "wait-listed" for a particular college and may be admitted if another student who

    was admitted decides not to attend the college or university.

  • 8/9/2019 Automated consultant for higher studies

    5/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 5 03085016

    SOFTWAR E R EQUI R EMEN T S P E C IF ICAT IO N

    IN TRO DU CT I O N

    1.1 PURPOSE:

    Automated Consultant is a case study in which we through examine andanalyze process carried out by an education consultant.

    1.2 SCOPE:

    y Enrolling for higher studies MS, MBA.y Preparing for GRE.y Preparing for TOEFL.y Admission procedure for UNIX.

    1.3 DEFINATION, ABBREVIATION AND ACRONYMS:

    ACTIVITY:An activity is on going atomic execution within a state machine.

    ASSOCIATION:An association is a structural relationship, that object of one thing was

    connected to object of another.

    GENERALIZATION:A generalization is a relationship between general things.

    1.4 REFERENCE:

    y SE fundamentalsy

    www.wikipedia.org y www.google.com

    1.5 OVERVIEW:

    This helps to understand functionality of consultant office and how to helpthe students.

  • 8/9/2019 Automated consultant for higher studies

    6/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 6 03085016

    G ENE RAL DE SCR I P T I O N

    2.1 PRODUCT PERSPECTIVE:

    A sample diagram that shows the major components of overall system, sub-systems, interconnection and external interference can be helpful.

    2.2 PRODUCT FUNCTION:

    It summarizing major function product must preferably.

    y Enrollment in MS, MBA.y Preparation for GRE.

    2.3 USER CHARACTERISTICS:The various users that anticipate using this product user loss may be

    differentiated based on frequency of use.

    2.4 GENERAL CONSTRAINTS:

    Describe any term an issues that will tell the option available for developers.

    2.5 ASSUMPTIONS AND DEPENDENCY:

    The software requires a 256 kbps BW and connection. It must be supported bydatabase.

  • 8/9/2019 Automated consultant for higher studies

    7/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 7 03085016

    S P E C I F ICAT I O N F UN CT I O NS

    3.1 FUNCTIONAL REQUIREMENT:

    FUNCTIONALITY 1:

    INTRO: Functional requirement of students is to register for course such asMS, MBA with consultancy applying for US, UK etc.

    INPUT: Basic educational requirement and percentage of marks scored are provided.

    PROCESSING: Examinational details forwarded to the various universities bythe student.

    OUTPUT: Sending the admission request to the desired university by thestudent.

    FUNCTIONALITY 2:

    INTRO: Preparing for GRE.

    INPUT: Giving the required information to students to clear the examination.

    PROCESSING: Preparing for GRE

    OUTPUT: Making him/her score high marks in GRE, students will either pass or fail.

    FUNCTIONALITY 3:

    INTRO: Preparation for TOEFL.

    INPUT: Having excellence knowledge to pass exam.

    PROCESSING: Preparing for TOEFL

    OUTPUT: Making sure the score is high in exam; students will either pass or fail.

    FUNCTIONALITY 4:

    INTRO: Helping VISA processing.

    INPUT: Having the required information for VISA application.

  • 8/9/2019 Automated consultant for higher studies

    8/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 8 03085016

    PROCESSING: Processing his/her VISA application checking whether he/shehave required document or not.

    OUTPUT: The Visa application is either granted or rejected

    FUNCTIONALITY 4:

    INTRO: Applying in various universities for admission.

    INPUT: Forwarding the details of the candidate to the desired university.

    PROCESSING: Providing all information required by the university.

    OUTPUT: The students admission request is either granted or rejected

    3.2 EXTERNAL INTERFACE:

    USER INTERFACE:

    The user interface element should be easy to understand to use and learn. Itused to perform common link between student and consultant.

  • 8/9/2019 Automated consultant for higher studies

    9/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 9 03085016

    UNI F IED M O DE L IN G LA NG UA G E

    IN TRO DU CT I O N

    The unified modeling language (UML) is a standard language for writingsoftware blue prints.

    The UML is a language for

    y Visualizingy Specifyingy Constructiony Documenting

    The artifacts of a software system:

    UML is a language that provides vocabulary and the rules for combing wordsin that vocabulary for the purpose of communication.

    A modeling language is a language whose vocabulary and rules focus on theconcept and physical representation of a system.

    Vocabulary and rules of a language tell us how to create and real well formedmodels, but they dont tell you what model you should create and when should createthem.

    V IS UAL IZIN G

    The UML is more than just a bunch of graphical symbols. In UML eachsymbol has well defined semantics. In this manner one developer can write a model inthe UML and another developer or even another tool can interpret the modelunambiguously.

    S P E C I FY IN G

    UML is used fro specifying means building models that are precise,unambiguous and complete.

    UML addresses the specification of all the important analysis, design andimplementation decisions that must be made in developing and deploying a softwareintensive system.

  • 8/9/2019 Automated consultant for higher studies

    10/70

  • 8/9/2019 Automated consultant for higher studies

    11/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 11 03085016

    UM L building blocks

    Rules to connect the building blocks

    Common mechanisms of UML

    This chapter describes all the UML building blocks. The building blocks of UML can be defined as:

    y Thingsy Relationshipsy Diagrams

    Things:

    Things are the most important building blocks of UML. Things can be:

    y Structuraly Behavioraly Groupingy Annotational

    STR UCT URAL TH IN G S:

    The Structural things define the static part of the model. They represent physical and conceptual elements. Following are the brief descriptions of thestructural things.

    CLASS:

    Class represents set of objects having similar responsibilities.

  • 8/9/2019 Automated consultant for higher studies

    12/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 12 03085016

    INTERFACE:

    Interface defines a set of operations which specify the responsibility of a class.

    COLLABORATION:

    Collaboration defines interaction between elements.

    USE CASE:

    Use case represents a set of actions performed by a system for a specific goal.

    COMPONENT:

    Component describes physical part of a system.

  • 8/9/2019 Automated consultant for higher studies

    13/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 13 03085016

    NODE:

    A node can be defined as a physical element that exists at run time.

    B E HA V I ORAL TH IN G S:

    A behavioral thing consists of the dynamic parts of UML models. Followingare the behavioral things:

    INTERACTION:

    Interaction is defined as a behavior that consists of a group of messagesexchanged among elements to accomplish a specific task.

    STATE MACHINE:

    State machine is useful when the state of an object in its life cycle is important.It defines the sequence of states an object goes through in response to events. Eventsare external factors responsible for state change.

  • 8/9/2019 Automated consultant for higher studies

    14/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 14 03085016

    G RO UP IN G TH IN G S:

    Grouping things can be defined as a mechanism to group elements of a UMLmodel together. There is only one grouping thing available.

    PACKAGE:

    Package is the only one grouping thing available for gathering structural and behavioral things.

    A NN OTAT IO NAL TH IN G S:

    Annotational things can be defined as a mechanism to capture remarks,descriptions, and comments of UML model elements. Note is the only oneAnnotational thing available.

    NOTE:

    A note is used to render comments, constraints etc of an UML element.

  • 8/9/2019 Automated consultant for higher studies

    15/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 15 03085016

    R E LAT I O NSH I P IN UM L

    Relationship is another most important building block of UML. It shows howelements are associated with each other and this association describes thefunctionality of an application.

    There are four kinds of relationships available.

    DEPENDENCY:

    Dependency is a relationship between two things in which change in oneelement also affects the other one.

    ASSOCIATION:Association is basically a set of links that connects elements of an UML model.

    It also describes how many objects are taking part in that relationship.

    GENERALIZATION:

    Generalization can be defined as a relationship which connects a specializedelement with a generalized element. It basically describes inheritance relationship inthe world of objects.

    REALIZATION:

    Realization can be defined as a relationship in which two elements are

    connected. One element describes some responsibility which is not implemented andthe other one implements them. This relationship exists in case of interfaces.

  • 8/9/2019 Automated consultant for higher studies

    16/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 16 03085016

    UM L DI A G RA M S:

    UML diagrams are the ultimate output of the entire discussion. All theelements, relationships are used to make a complete UML diagram and the diagramrepresents a system.

    The visual effect of the UML diagram is the most important part of the entire process.All the other elements are used to make it a complete one.

    UML includes the following nine diagrams and the details are described in thefollowing chapters.

    Class diagram Object diagram Use case diagram

    Sequence diagram Collaboration diagram Activity diagram Statechart diagram Deployment diagram Component diagram

  • 8/9/2019 Automated consultant for higher studies

    17/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 17 03085016

    CLASS DI A G RA M

    OVERVIEW:

    The class diagram is a static diagram. It represents the static view of anapplication. Class diagram is not only used for visualizing, describing anddocumenting different aspects of a system but also for constructing executable code of the software application.

    The class diagram describes the attributes and operations of a class and alsothe constraints imposed on the system. The class diagrams are widely used in themodelling of object oriented systems because they are the only UML diagrams whichcan be mapped directly with object oriented languages.

    The class diagram shows a collection of classes, interfaces, associations,collaborations and constraints. It is also known as a structural diagram.

    PURPOSE:

    The purpose of the class diagram is to model the static view of an application.The class diagrams are the only diagrams which can be directly mapped with objectoriented languages and thus widely used at the time of construction.

    The UML diagrams like activity diagram, sequence diagram can only give thesequence flow of the application but class diagram is a bit different. So it is the most

    popular UML diagram in the coder community.

    So the purpose of the class diagram can be summarized as:

    y Analysis and design of the static view of an application.y Describe responsibilities of a system.y Base for component and deployment diagrams.y Forward and reverse engineering.

    How to draw Class Diagram?

    Class diagrams are the most popular UML diagrams used for construction of software applications. So it is very important to learn the drawing procedure of classdiagram.

    Class diagrams have lot of properties to consider while drawing but here the diagramwill be considered from a top level view.

    Class diagram is basically a graphical representation of the static view of the systemand represents different aspects of the application. So a collection of class diagramsrepresent the whole system.

  • 8/9/2019 Automated consultant for higher studies

    18/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 18 03085016

    The following points should be remembered while drawing a class diagram:

    The name of the class diagram should be meaningful to describe the aspect of the system.

    Each element and their relationships should be identified in advance. Responsibility (attributes and methods) of each class should be clearly

    identified. For each class minimum number of properties should be specified. Because

    unnecessary properties will make the diagram complicated. Use notes when ever required to describe some aspect of the diagram. Because

    at the end of the drawing it should be understandable to the developer/coder. Finally, before making the final version, the diagram should be drawn on plain paper and rework as many times as possible to make it correct.

    Now the following diagram is an example of an Order System of anapplication. So it describes a particular aspect of the entire application.

    First of all Order and Customer are identified as the two elements of thesystem and they have a one to many relationship because a customer can havemultiple orders.

    We would keep Order class is an abstract class and it has two concrete classes(inheritance relationship) SpecialOrder and NormalOrder.

    The two inherited classes have all the properties as the Order class. In additionthey have additional functions like dispatch () and receive ().

    So the following class diagram has been drawn considering all the points mentionedabove:

  • 8/9/2019 Automated consultant for higher studies

    19/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 19 03085016

    Where to use Class Diagrams?

    Class diagram is a static diagram and it is used to model static view of a system.The static view describes the vocabulary of the system.

    Class diagram is also considered as the foundation for component and deployment

    diagrams. Class diagrams are not only used to visualize the static view of the system but they are also used to construct the executable code for forward and reverseengineering of any system.

    Generally UML diagrams are not directly mapped with any object oriented programming languages but the class diagram is an exception.

    Class diagram clearly shows the mapping with object oriented languages like Java,C++ etc. So from practical experience class diagram is generally used for construction

    purpose.

    y

    So in a brief, class diagrams are used for:y Describing the static view of the system.y Showing the collaboration among the elements of the static view.y Describing the functionalities performed by the system.y Construction of software applications using object oriented languages.

    OBJ E CT DI A G RA M

    Object diagram shows a set of objects and there relationships. Object diagramrepresents static snapshot of instances of the things found in class diagram.

    These diagrams address static design view or static process view of a system.

  • 8/9/2019 Automated consultant for higher studies

    20/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 20 03085016

    US E CAS E DI A G RA M

    OVERVIEW:

    To model a system the most important aspect is to capture the dynamic behaviour. To clarify a bit in details, dynamic behaviour means the behaviour of thesystem when it is running /operating.

    So only static behaviour is not sufficient to model a system rather dynamic behaviour is more important than static behaviour. In UML there are five diagramsavailable to model dynamic nature and use case diagram is one of them. Now as wehave to discuss that the use case diagram is dynamic in nature there should be someinternal or external factors for making the interaction.

    These internal and external agents are known as actors. So use case diagrams

    are consists of actors, use cases and their relationships. The diagram is used to modelthe system/subsystem of an application. A single use case diagram captures a

    particular functionality of a system.

    So to model the entire system numbers of use case diagrams are used.

    PURPOSE:

    The purpose of use case diagram is to capture the dynamic aspect of a system.But this definition is too generic to describe the purpose.

    Because other four diagrams (activity, sequence, collaboration and Statechart)are also having the same purpose. So we will look into some specific purpose whichwill distinguish it from other four diagrams.

    Use case diagrams are used to gather the requirements of a system includinginternal and external influences. These requirements are mostly design requirements.So when a system is analyzed to gather its functionalities use cases are prepared andactors are identified.

    Now when the initial task is complete use case diagrams are modelled to present the

    outside view.

    So in brief, the purposes of use case diagrams can be as follows:

    y Used to gather requirements of a system.y Used to get an outside view of a system.y Identify external and internal factors influencing the system.y Show the interacting among the requirements are actors.

  • 8/9/2019 Automated consultant for higher studies

    21/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 21 03085016

    How to draw Component Diagram?

    Use case diagrams are considered for high level requirement analysis of asystem. So when the requirements of a system are analyzed the functionalities arecaptured in use cases.

    So we can say that uses cases are nothing but the system functionalities written in anorganized manner. Now the second things which are relevant to the use cases are theactors. Actors can be defined as something that interacts with the system.

    The actors can be human user, some internal applications or may be some externalapplications. So in a brief when we are planning to draw an use case diagram weshould have the following items identified.

    Functionalities to be represented as an use case

    Actors

    Relationships among the use cases and actors.

    Use case diagrams are drawn to capture the functional requirements of asystem. So after identifying the above items we have to follow the followingguidelines to draw an efficient use case diagram.

    The name of a use case is very important. So the name should be chosen insuch a way so that it can identify the functionalities performed.

    Give a suitable name for actors. Show relationships and dependencies clearly in the diagram. Do not try to include all types of relationships. Because the main purpose of

    the diagram is to identify requirements. Use note when ever required to clarify some important points. The following is a sample use case diagram representing the order

    management system. So if we look into the diagram then we will find threeuse cases (Order, SpecialOrder and NormalOrder) and one actor which iscustomer.

    The SpecialOrder and NormalOrder use cases are extended from Order usecase. So they have extends relationship. Another important point is to identifythe system boundary which is shown in the picture. The actor Customer liesoutside the system as it is an external user of the system.

  • 8/9/2019 Automated consultant for higher studies

    22/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 22 03085016

  • 8/9/2019 Automated consultant for higher studies

    23/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 23 03085016

    IN T E RACT IO N DI A G RA M

    We have two types of interaction diagrams in UML. One is sequence diagramand the other is a collaboration diagram. The sequence diagram captures the timesequence of message flow from one object to another and the collaboration diagramdescribes the organization of objects in a system taking part in the message flow.

    So the following things are to identified clearly before drawing the interactiondiagram:

    y Objects taking part in the interaction.y Message flows among the objects.y The sequence in which the messages are flowing.y Object organization.

    Following are two interaction diagrams modeling order management system.The first diagram is a sequence diagram and the second is a collaboration diagram.

    TH E S EQUEN C E DI A G RA M :

    The sequence diagram is having four objects (Customer, Order, Special Order

    and Normal Order).The following diagram has shown the message sequence for Special Order object andthe same can be used in case of Normal Order object. Now it is important tounderstand the time sequence of message flows. The message flow is nothing but amethod call of an object.

    The first call is sendOrder () which is a method of Order object. The next call isconfirm () which is a method of SpecialOrder object and the last call is Dispatch ()which is a method of SpecialOrder object. So here the diagram is mainly describingthe method calls from one object to another and this is also the actual scenario when

    the system is running.

  • 8/9/2019 Automated consultant for higher studies

    24/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 24 03085016

    TH E COLLABORAT IO N DI A G RA M :

    The second interaction diagram is collaboration diagram. It shows the objectorganization as shown below. Here in collaboration diagram the method call sequenceis indicated by some numbering technique as shown below. The number indicateshow the methods are called one after another. We have taken the same order management system to describe the collaboration diagram.

    The method calls are similar to that of a sequence diagram. But the difference is thatthe sequence diagram does not describe the object organization where as thecollaboration diagram shows the object organization.

    Now to choose between these two diagrams the main emphasis is given on the type of

    requirement. If the time sequence is important then sequence diagram is used and if organization is required then collaboration diagram is used.

  • 8/9/2019 Automated consultant for higher studies

    25/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 25 03085016

    Where to use Interaction Diagrams?

    We have already discussed that interaction diagrams are used to describedynamic nature of a system. Now we will look into the practical scenarios wherethese diagrams are used. To understand the practical application we need tounderstand the basic nature of sequence and collaboration diagram.

    The main purposes of both the diagrams are similar as they are used to capture thedynamic behaviour of a system. But the specific purposes are more important toclarify and understood.

    Sequence diagrams are used to capture the order of messages flowing from one objectto another. And the collaboration diagrams are used to describe the structuralorganizations of the objects taking part in the interaction. A single diagram is notsufficient to describe the dynamic aspect of an entire system so a set of diagrams areused to capture is as a whole.

    The interaction diagrams are used when we want to understand the message flow andthe structural organization. Now message flow means the sequence of control flowfrom one object to another and structural organization means the visual organizationof the elements in a system.

    In a brief the following are the usages of interaction diagrams:

    y To model flow of control by time sequence.y To model flow of control by structural organizations.y For forward engineering.y For reverse engineering.

  • 8/9/2019 Automated consultant for higher studies

    26/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 26 03085016

    STAT E CHART DI A G RA M

    OVERVIEW:

    The name of the diagram itself clarifies the purpose of the diagram and other details. It describes different states of a component in a system. The states are specificto a component/object of a system.

    A Statechart diagram describes a state machine. Now to clarify it state machinecan be defined as a machine which defines different states of an object and thesestates are controlled by external or internal events.

    Activity diagram explained in next chapter, is a special kind of a Statechartdiagram. As Statechart diagram defines states it is used to model lifetime of an object.

    PURPOSE:

    Statechart diagram is one of the five UML diagrams used to model dynamicnature of a system. They define different states of an object during its lifetime. Andthese states are changed by events. So Statechart diagrams are useful to modelreactive systems. Reactive systems can be defined as a system that responds toexternal or internal events.

    Statechart diagram describes the flow of control from one state to another state.States are defined as a condition in which an object exists and it changes when someevent is triggered. So the most important purpose of Statechart diagram is to modellife time of an object from creation to termination.

    Statechart diagrams are also used for forward and reverse engineering of asystem. But the main purpose is to model reactive system.

    Following are the main purposes of using Statechart diagrams:

    y To model dynamic aspect of a system.y To model life time of a reactive system.y To describe different states of an object during its life time.y

    Define a state machine to model states of an object.

    How to draw Component Diagram?

    Statechart diagram is used to describe the states of different objects in its lifecycle. So the emphasis is given on the state changes upon some internal or externalevents. These states of objects are important to analyze and implement themaccurately.

  • 8/9/2019 Automated consultant for higher studies

    27/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 27 03085016

    Statechart diagrams are very important for describing the states. States can beidentified as the condition of objects when a particular event occurs.

    Before drawing a Statechart diagram we must have clarified the following points:

    y Identify important objects to be analyzed.y Identify the states.y Identify the events.

    The following is an example of a Statechart diagram where the state of Order object is analyzed.

    The first state is an idle state from where the process starts. The next states are arrivedfor events like send request, confirm request, and dispatch order. These events areresponsible for state changes of order object.

    During the life cycle of an object (here order object) it goes through the followingstates and there may be some abnormal exists also. This abnormal exit may occur dueto some problem in the system. When the entire life cycle is complete it is consideredas the complete transaction as mentioned below.

    The initial and final state of an object is also shown below.

    Where to use Interaction Diagrams?

    From the above discussion we can define the practical applications of aStatechart diagram. Statechart diagrams are used to model dynamic aspect of a systemlike other four diagrams disused in this tutorial. But it has some distinguishingcharacteristics for modeling dynamic nature.

  • 8/9/2019 Automated consultant for higher studies

    28/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 28 03085016

    Statechart diagram defines the states of a component and these state changes aredynamic in nature. So its specific purpose is to define state changes triggered byevents. Events are internal or external factors influencing the system.

    Statechart diagrams are used to model states and also events operating on thesystem. When implementing a system it is very important to clarify different states of an object during its life time and statechart diagrams are used for this purpose. Whenthese states and events are identified they are used to model it and these models areused during implementation of the system.

    If we look into the practical implementation of Statechart diagram then it ismainly used to analyze the object states influenced by events. This analysis is helpfulto understand the system behaviour during its execution.

    So the main usages can be described as:

    y To model object states of a system.y To model reactive system. Reactive system consists of reactive objects.y To identify events responsible for state changes.y Forward and reverse engineering.

  • 8/9/2019 Automated consultant for higher studies

    29/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 29 03085016

    ACT I V I TY DI A G RA M

    Overview:

    Activity diagram is another important diagram in UML to describe dynamicaspects of the system.

    Activity diagram is basically a flow chart to represent the flow form one activity toanother activity. The activity can be described as an operation of the system.

    So the control flow is drawn from one operation to another. This flow can besequential, branched or concurrent. Activity diagrams deals with all type of flowcontrol by using different elements like fork, join etc.

    Purpose:

    The basic purposes of activity diagrams are similar to other four diagrams. Itcaptures the dynamic behaviour of the system. Other four diagrams are used to showthe message flow from one object to another but activity diagram is used to showmessage flow from one activity to another.

    Activity is a particular operation of the system. Activity diagrams are not onlyused for visualizing dynamic nature of a system but they are also used to construct theexecutable system by using forward and reverse engineering techniques. The onlymissing thing in activity diagram is the message part.

    It does not show any message flow from one activity to another. Activitydiagram is some time considered as the flow chart. Although the diagrams looks like aflow chart but it is not. It shows different flow like parallel, branched, concurrent andsingle.

    So the purposes can be described as:

    Draw the activity flow of a system.

    Describe the sequence from one activity to another.

    Describe the parallel, branched and concurrent flow of the system.

    How to draw Component Diagram?

    Activity diagrams are mainly used as a flow chart consists of activities performed by the system. But activity diagram are not exactly a flow chart as theyhave some additional capabilities. These additional capabilities include branching,

    parallel flow, swimlane etc.

  • 8/9/2019 Automated consultant for higher studies

    30/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 30 03085016

    Before drawing an activity diagram we must have a clear understanding aboutthe elements used in activity diagram. The main element of an activity diagram is theactivity itself. An activity is a function performed by the system. After identifying theactivities we need to understand how they are associated with constraints andconditions.

    So before drawing an activity diagram we should identify the following elements:

    y Activitiesy Associationy Conditionsy Constraints

    Once the above mentioned parameters are identified we need to make a mentallayout of the entire flow. This mental layout is then transformed into an activitydiagram.

    The following is an example of an activity diagram for order managementsystem. In the diagram four activities are identified which are associated withconditions. One important point should be clearly understood that an activity diagramcannot be exactly matched with the code. The activity diagram is made to understandthe flow of activities and mainly used by the business users.

    The following diagram is drawn with the four main activities:

    y Send order by the customer y Receipt of the order y

    Confirm order y Dispatch order

    After receiving the order request condition checks are performed to check if it isnormal or special order. After the type of order is identified dispatch activity is

    performed and that is marked as the termination of the process.

  • 8/9/2019 Automated consultant for higher studies

    31/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 31 03085016

    Where to use Interaction Diagrams?

    The basic usage of activity diagram is similar to other four UML diagrams.The specific usage is to model the control flow from one activity to another. Thiscontrol flow does not include messages.

    The activity diagram is suitable for modeling the activity flow of the system.An application can have multiple systems. Activity diagram also captures thesesystems and describes flow from one system to another. This specific usage is notavailable in other diagrams. These systems can be database, external queues or anyother system.

    Now we will look into the practical applications of the activity diagram. Fromthe above discussion it is clear that an activity diagram is drawn from a very highlevel. So it gives high level view of a system. This high level view is mainly for

    business users or any other person who is not a technical person.

    This diagram is used to model the activities which are nothing but business

    requirements. So the diagram has more impact on business understanding rather implementation details.

    Following are the main usages of activity diagram:

    y Modeling work flow by using activities.y Modeling business requirements.y High level understanding of the system's functionalities.y Investigate business requirements at a later stage.

  • 8/9/2019 Automated consultant for higher studies

    32/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 32 03085016

    CO M P O NEN T DI A G RA M

    OVERVIEW:

    Component diagrams are different in terms of nature and behaviour.Component diagrams are used to model physical aspects of a system.

    Now the question is what are these physical aspects? Physical aspects are theelements like executables, libraries, files, documents etc which resides in a node.

    So component diagrams are used to visualize the organization andrelationships among components in a system. These diagrams are also used to makeexecutable systems.

    PURPOSE:

    Component diagram is a special kind of diagram in UML. The purpose is alsodifferent from all other diagrams discussed so far. It does not describe thefunctionality of the system but it describes the components used to make thosefunctionalities.

    So from that point component diagrams are used to visualize the physical componentsin a system. These components are libraries, packages, files etc.

    Component diagrams can also be described as a static implementation view of asystem. Static implementation represents the organization of the components at a

    particular moment.

    A single component diagram cannot represent the entire system but a collection of diagrams are used to represent the whole.

    So the purpose of the component diagram can be summarized as:

    Visualize the components of a system.

    Construct executables by using forward and reverse engineering.

    Describe the organization and relationships of the components.

    How to draw Component Diagram?

    Component diagrams are used to describe the physical artifacts of a system.This artifact includes files, executables, libraries etc.

  • 8/9/2019 Automated consultant for higher studies

    33/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 33 03085016

    So the purpose of this diagram is different, Component diagrams are usedduring the implementation phase of an application. But it is prepared well in advanceto visualize the implementation details.

    Initially the system is designed using different UML diagrams and then whenthe artifacts are ready component diagrams are used to get an idea of theimplementation.

    This diagram is very important because without it the application cannot beimplemented efficiently. A well prepared component diagram is also important for other aspects like application performance, maintenance etc.

    So before drawing a component diagram the following artifacts are to be identifiedclearly:

    Files used in the system. Libraries and other artifacts relevant to the application.

    Relationships among the artifacts. Now after identifying the artifacts the following points needs to be followed: Use a meaningful name to identify the component for which the diagram is to be drawn.

    Prepare a mental layout before producing using tools. Use notes for clarifying important points.

    The following is a component diagram for order management system. Here theartifacts are files. So the diagram shows the files in the application and their relationships. In actual the component diagram also contains dlls, libraries, foldersetc.

    In the following diagram four files are identified and their relationships are produced. Component diagram cannot be matched directly with other UML diagramsdiscussed so far. Because it is drawn for a completely different purpose.

    So the following component diagram has been drawn considering all the pointsmentioned above:

  • 8/9/2019 Automated consultant for higher studies

    34/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 34 03085016

    Where to use Component Diagrams?

    We have already described that component diagrams are used to visualize thestatic implementation view of a system. Component diagrams are special type of UML diagrams used for different purposes.

    These diagrams show the physical components of a system. To clarify it, we can say

    that component diagrams describe the organization of the components in a system.

    Organization can be further described as the location of the components in a system.These components are organized in a special way to meet the system requirements.

    As we have already discussed those components are libraries, files, executables etc. Now before implementing the application these components are to be organized. Thiscomponent organization is also designed separately as a part of project execution.

    Component diagrams are very important from implementation perspective. So theimplementation team of an application should have a proper knowledge of the

    component details.

    Now the usage of component diagrams can be described as:

    y Model the components of a system.y Model database schema.y Model executables of an application.y Model system's source code.

  • 8/9/2019 Automated consultant for higher studies

    35/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 35 03085016

    DE P LOY MEN T DI A G RA M

    Overview:

    Deployment diagrams are used to visualize the topology of the physicalcomponents of a system where the software components are deployed.

    So deployment diagrams are used to describe the static deployment view of a system.Deployment diagrams consist of nodes and their relationships.

    Purpose:

    The name Deployment itself describes the purpose of the diagram.Deployment diagrams are used for describing the hardware components wheresoftware components are deployed. Component diagrams and deployment diagramsare closely related.

    Component diagrams are used to describe the components and deployment diagramsshows how they are deployed in hardware.

    UML is mainly designed to focus on software artifacts of a system. But these twodiagrams are special diagrams used to focus on software components and hardwarecomponents.

    So most of the UML diagrams are used to handle logical components but deploymentdiagrams are made to focus on hardware topology of a system. Deployment diagramsare used by the system engineers.

    y The purpose of deployment diagrams can be described as:y Visualize hardware topology of a system.y Describe the hardware components used to deploy software components.y Describe runtime processing nodes.

    How to draw Component Diagram?

    Deployment diagram represents the deployment view of a system. It is relatedto the component diagram. Because the components are deployed using thedeployment diagrams. A deployment diagram consists of nodes. Nodes are nothing

    but physical hardwares used to deploy the application.

    Deployment diagrams are useful for system engineers. An efficient deploymentdiagram is very important because it controls the following parameters

    y Performancey Scalabilityy Maintainabilityy Portability

  • 8/9/2019 Automated consultant for higher studies

    36/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 36 03085016

    So before drawing a deployment diagram the following artifacts should beidentified:

    Nodes

    Relationships among nodes

    The following deployment diagram is a sample to give an idea of the deploymentview of order management system. Here we have shown nodes as:

    y Monitor y Modemy Caching server y Server

    The application is assumed to be a web based application which is deployed ina clustered environment using server 1, server 2 and server 3. The user is connectingto the application using internet. The control is flowing from the caching server to theclustered environment.

    So the following deployment diagram has been drawn considering all the pointsmentioned above:

  • 8/9/2019 Automated consultant for higher studies

    37/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 37 03085016

    Where to use Deployment Diagrams?

    Deployment diagrams are mainly used by system engineers. These diagramsare used to describe the physical components (hardwares), their distribution andassociation.

    To clarify it in details we can visualize deployment diagrams as the hardwarecomponents/nodes on which software components reside.

    Software applications are developed to model complex business processes. Onlyefficient software applications are not sufficient to meet business requirements.Business requirements can be described as to support increasing number of users,quick response time etc.

    To meet these types of requirements hardware components should be designedefficiently and in a cost effective way.

    Now a day's software applications are very complex in nature. Software applicationscan be stand alone, web based, distributed, mainframe based and many more. So it isvery important to design the hardware components efficiently.

    So the usage of deployment diagrams can be described as follows:

    To model the hardware topology of a system. To model embedded system. To model hardware details for a client/server system. To model hardware details of a distributed application. Forwar d and reverse engineering.

  • 8/9/2019 Automated consultant for higher studies

    38/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 38 03085016

    UM L NOTAT IO NS

    UML notations are the most important elements in modeling. Efficient andappropriate use of notations is very important for making a complete and meaningfulmodel. The model is useless unless its purpose is depicted properly.

    So learning notations should be emphasized from the very beginning.Different notations are available for things and relationships. And the UML diagramsare made using the notations of things and relationships. Extensibility is another important feature which makes UML more powerful and flexible.

    The chapter describes the UML Basic Notations in more details. This is just anextension to the UML buildling block section I have discussed in previous chapter.

    Structural Things:

    Graphical notations used in structural things are the most widely used in UML. These

    are considered as the nouns of UML models. Following are the list of structuralthings.

    CLASSES

    y Interfacey Collaborationy Use casey Active classesy Componentsy Nodesy Class Notation:

    UML class is represented by the diagram shown below. The diagram is divided intofour parts.

    The top section is used to name the class. The second one is used to show the attributes of the class. The third section is used to describe the operations performed by the class. The fourth section is optional to show any additional components.

  • 8/9/2019 Automated consultant for higher studies

    39/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 39 03085016

    Classes are used to represent objects. Objects can be anything having properties andresponsibility.

    OBJ E CT NOTAT I O N:

    The object is represented in the same way as the class. The only difference is thename which is underlined as shown below..

    As object is the actual implementation of a class which is known as the instanceof a class. So it has the same usage as the class.

    IN T E RFAC E N OTAT I O N :

    Interface is represented by a circle as shown below. It has a name which isgenerally written below the circle.

    Interface is used to describe functionality without implementation. Interface is the justlike a template where you define different functions not the implementation. When aclass implements the interface it also implements the functionality as per therequirement.

  • 8/9/2019 Automated consultant for higher studies

    40/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 40 03085016

    COLLABORAT I O N N OTAT I O N :

    Collaboration is represented by a dotted eclipse as shown below. It has a namewritten inside the eclipse.

    Collaboration represents responsibilities. Generally responsibilities are in a group.

    US E CAS E N OTAT IO N:

    Use case is represented as an eclipse with a name inside it. It may containadditional responsibilities.

    Use case is used to capture high level functionalities of a system.

  • 8/9/2019 Automated consultant for higher studies

    41/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 41 03085016

    ACTOR NOTAT I O N :

    An actor can be defined as some internal or external entity that interacts with thesystem.

    Actor is used in a use case diagram to describe the internal or external entities.

    INI T I AL STAT E N OTAT I O N :

    Initial state is defined show the start of a process. This notation is used in almost alldiagrams.

    The usage of Initial State Notation is to show the starting point of a process.

    F IN AL STAT E N OTAT IO N :

    Final state is used to show the end of a process. This notation is also used inalmost all diagrams to describe the end.

    The usage of Final State Notation is to show the termination point of a process.

  • 8/9/2019 Automated consultant for higher studies

    42/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 42 03085016

    ACT I V E CLASS NOTAT I O N :

    Active class looks similar to a class with a solid border. Active class isgenerally used to describe concurrent behaviour of a system.

    Active class is used to represent concurrency in a system.

    CO M P O NEN T NOTAT IO N :

    A component in UML is shown as below with a name inside. Additionalelements can be added wherever required.

    Component is used to represent any part of a system for which UML diagrams aremade.

    NO DE N OTAT I O N :

    A node in UML is represented by a square box as shown below with a name. Anode represents a physical component of the system.

    Node is used to represent physical part of a system like server, network etc.

  • 8/9/2019 Automated consultant for higher studies

    43/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 43 03085016

    B E HA V I O URAL TH IN G S:

    Dynamic parts are one of the most important elements in UML. UML has a setof powerful features to represent the dynamic part of software and non softwaresystems. These features include interactions and state machines.

    Interactions can be of two types:

    Sequential (Represented by sequence diagram) Collaborative (Represented by collaboration diagram)

    IN T E RACT IO N N OTAT I O N :

    Interaction is basically message exchange between two UML components. Thefollowing diagram represents different notations used in an interaction.

    Interaction is used to represent communication among the components of a system.

  • 8/9/2019 Automated consultant for higher studies

    44/70

  • 8/9/2019 Automated consultant for higher studies

    45/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 45 03085016

    P ACKA G E N OTAT I O N:

    Package notation is shown below and this is used to wrap the components of asystem.

    A NN OTAT IO NAL TH IN G S:

    In any diagram explanation of different elements and their functionalities arevery important. So UML has notes notation to support this requirement.

    NOT E N OTAT IO N :

    This notation is shown below and they are used to provide necessaryinformation of a system.

  • 8/9/2019 Automated consultant for higher studies

    46/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 46 03085016

    R E LAT I O NSH I P S

    A model is not complete unless the relationships between elements are described properly. The Relationship gives a proper meaning to an UML model. Following are

    the different types of relationships available in UML.

    y Dependencyy Associationy Generalizationy Extensibility

    DE P ENDEN CY NOTAT IO N :

    Dependency is an important aspect in UML elements. It describes thedependent elements and the direction of dependency.

    Dependency is represented by a dotted arrow as shown below. The arrow headrepresents the independent element and the other end the dependent element.

    Dependency is used to represent dependency between two elements of a system.

  • 8/9/2019 Automated consultant for higher studies

    47/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 47 03085016

    ASSOC IAT I O N N OTAT I O N :

    Association describes how the elements in an UML diagram are associated. Insimple word it describes how many elements are taking part in an interaction.

    Association is represented by a dotted line with (without) arrows on both sides.

    The two ends represent two associated elements as shown below. The multiplicity isalso mentioned at the ends (1, * etc) to show how many objects are associated.

    Association is used to represent the relationship between two elements of a system.

    G ENE RAL IZ AT I O N N OTAT I O N :

    Generalization describes the inheritance relationship of the object orientedworld. It is parent and child relationship.

    Generalization is represented by an arrow with hollow arrow head as shown below. One end represents the parent element and the other end child element.

    Generalization is used to describe parent-child relationship of two elements of asystem.

  • 8/9/2019 Automated consultant for higher studies

    48/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 48 03085016

    EX T EN S IB I L ITY NOTAT IO N :

    All the languages (programming or modeling) have some mechanism toextend its capabilities like syntax, semantics etc. UML is also having the followingmechanisms to provide extensibility features.

    Stereotypes (Represents new elements)

    Tagged values (Represents new attributes)

    Constraints (Represents the boundaries)

    Extensibility notations are used to enhance the power of the language. It is basically additional elements used to represent some extra behaviour of the system.These extra behaviours are not covered by the standard available notations.

    A bstraction Re lationship

    An abstraction relationship is a dependency between modelelements that represents the same concept at different levels of abstraction or fromdifferent viewpoints. You can add abstraction relationships to a model in severaldiagrams, including use-case, class, and component diagrams.

  • 8/9/2019 Automated consultant for higher studies

    49/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 49 03085016

    ACT I V ITY ED G E S

    In activity diagrams, an activity edge is a relationship between two activitynodes that you can use to represent the control flow or object flow in an activitydiagram.

    A GG R E G AT I O N R E LAT I O NSH I P S

    An aggregation relationship depicts a classifier as a part of, or as subordinateto, another classifier.

    ASSOC IAT I O N R E LAT IO NSH I P S

    In UML models, an association is a relationship between two classifiers, suchas classes or use cases, that describes the reasons for the relationship and the rules thatgovern the relationship.

    B INDIN G R E LAT IO NSH IP S

    In UML models, a binding relationship is a relationship that assigns values totemplate parameters and generates a new model element from the template.

    CO MMUNI CAT I O N P ATHS

    In UML modeling, a communication path is a type of association betweennodes in a deployment diagram that shows how the nodes exchange messages andsignals.

    CO M P OS IT IO N R E LAT IO NSH IP S

    A composition relationship, which was named composition associationrelationship in UML 1.4, represents wholepart relationships and is a form of aggregation. A composition relationship specifies that the lifetime of the partclassifier is dependent on the lifetime of the whole classifier.

  • 8/9/2019 Automated consultant for higher studies

    50/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 50 03085016

    DE P ENDEN CY R E LAT I O NSH IP S

    In UML modeling, a dependency relationship is a relationship in which

    changes to one model element (the supplier) impact another model element (theclient). You can use dependency relationships in class diagrams, componentdiagrams, deployment diagrams, and use case diagrams.

    DE P LOY MEN T R E LAT I O NSH IP S

    In UML modeling, deployment relationships specify that a particular node typesupports the deployment of an artifact type.

    DI R E CT ED ASSOC I AT I O N R E LAT I O NSH I P S

    In UML models, directed association relationships are associations that arenavigable in only one direction.

    G ENE RAL IZ AT I O N R E LAT IO NSH I P S

    In UML modeling, a generalization relationship is a relationship in which onemodel element (the child) is based on another model element (the parent).Generalization relationships are used in class, component, deployment, and use casediagrams.

    IM P L EMEN TAT IO N R E LAT IO NSH IP S

    In UML modeling, an implementation relationship is a specialized type of realization relationship between a classifier and a provided interface. Theimplementation relationship specifies that the realizing classifier must conform to thecontract that the provided interface specifies.

  • 8/9/2019 Automated consultant for higher studies

    51/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 51 03085016

    IN CL UDE R E LAT I O NSH I P S

    In UML modeling, an include relationship is a relationship in which one usecase (the base use case) includes the functionality of another use case (the inclusionuse case). The include relationship supports the reuse of functionality in a use casemodel.

    M A NI F E STAT I O N R E LAT IO NSH I P S

    In UML modeling, a manifestation relationship shows which model elements,such as components or classes, are manifested in an artifact. The artifact manifests, or includes, a specific implementation for, the features of one or several physicalsoftware components.

    R E AL IZ AT IO N R E LAT I O NSH I P S

    In UML modeling, a realization relationship is a relationship between twomodel elements, in which one model element (the client) realizes the behavior that theother model element (the supplier) specifies. Several clients can realize the behavior of a single supplier. You can use realization relationships in class diagrams andcomponent diagrams.

    USA G E R E LAT I O NSH I P S

    In UML modeling, a usage relationship is a type of dependency relationship inwhich one model element (the client) requires another model element (the supplier)for full implementation or operation.

  • 8/9/2019 Automated consultant for higher studies

    52/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 52 03085016

    CO MM O N ME CHA NI S M S IN UM L

    SPECIFICATIONS

    Textual statement of syntax & semantics

    Diagrams give view of specification

    ADORNMENTS

    Elements in UML - unique graphical notation

    Adornments - added information about class

    COMMON DIVISIONS

    General property vs. specific instance

    Class vs. object

    Use case vs. use case instance

    UML syntax: underline name of instance

    Separation of interface & implementation

    Interface - contract

    Implementation - concrete realization of contract

    Ext e nsibility M e chanisms

    STEREOTYPE

    Allows creation of new kinds of building blocks from existing ones

    TAGGED VALUE

    Allows creation of new information in specification

  • 8/9/2019 Automated consultant for higher studies

    53/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 53 03085016

    CONSTRAINT

    Allows addition of new rules & modification of existing rules

    RULES OF UMLy specify what model should look likey semantic rules for

    names scope visibility integrity execution Common properties of models elided - hide some elements for simplicity

    incomplete inconsistent rules of UML make it easier to address these problems

  • 8/9/2019 Automated consultant for higher studies

    54/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 54 03085016

    ARCH I T E CT UR E OF UM L

    Any real world system is used by different users. The users can be developers,testers, business people, analysts and many more. So before designing a system thearchitecture is made with different perspectives in mind. The most important part is to

    visualize the system from different viewer.s perspective. The better we understand the better we make the system.

    UML plays an important role in defining different perspectives of a system. These perspectives are:

    y Designy Implementationy Processy Deployment

    And the centre is the Use Case view which connects all these four. A Use caserepresents the functionality of the system. So the other perspectives are connectedwith use case.

    Design of a system consists of classes, interfaces and collaboration. UML providesclass diagram, object diagram to support this.

    Implementation defines the components assembled together to make a complete physical system. UML component diagram is used to support implementation perspective.

    Process defines the flow of the system. So the same elements as used in Design arealso used to support this perspective.

    Deployment represents the physical nodes of the system that forms the hardware.UML deployment diagram is used to support this perspective.

  • 8/9/2019 Automated consultant for higher studies

    55/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 55 03085016

    T E R M S A ND CO NC E P TS

    UML 2.2 has 14 types of diagrams divided into two categories. [10] Sevendiagram types represent structural information, and the other seven represent generaltypes of behavior, including four that represent different aspects of interactions. Thesediagrams can be categorized hierarchically as shown in the following class diagram:

    UML does not restrict UML element types to a certain diagram type. In general, everyUML element may appear on almost all types of diagrams; this flexibility has been

    partially restricted in UML 2.0. UML profiles may define additional diagram types or extend existing diagrams with additional notations.In keeping with the tradition of engineering drawings, a comment or note explainingusage, constraint, or intent is allowed in a UML diagram.

    STR UCT UR E DI A G RA M S

    Structure diagrams emphasize what things must be in the system being modeled:

    CLASS DIAGRAM: the class diagrams describe the structure of a system byshowing the system's classes, their attributes, and the relationships among theclasses.

    COMPONENT DIAGRAM: depicts how a software system is split up intocomponents and shows the dependencies among these components.

    COMPOSITE STRUCTURE DIAGRAM: describes the internal structure of aclass and the collaborations that this structure makes possible.

    DEPLOYMENT DIAGRAM: serves to model the hardware used in systemimplementations, and the execution environments and artifacts deployed onthe hardware.

    OBJECT DIAGRAM: shows a complete or partial view of the structure of amodeled system at a specific time.

    PACKAGE DIAGRAM: depicts how a system is split up into logicalgroupings by showing the dependencies among these groupings.

    PROFILE DIAGRAM: operates at the metamodel level to show stereotypes as classeswith the stereotype, and profiles as packages with the stereotype. The extension relation (solid line with closed, filled arrowhead) indicateswhat metamodel element a given stereotype is extending.Since structure diagrams represent the structure they are used extensively indocumenting the architecture of software systems.

  • 8/9/2019 Automated consultant for higher studies

    56/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 56 03085016

    B E HA V I OR DI A G RA M S

    Behavior diagrams emphasize what must happen in the system being modeled: ACTIVITY DIAGRAM: represents the business and operational step-by-step

    workflows of components in a system. An activity diagram shows the overallflow of control.

    STATE MACHINE DIAGRAM: standardized notation to describe manysystems, from computer programs to business processes.

    USE CASE DIAGRAM: shows the functionality provided by a system interms of actors, their goals represented as use cases, and any dependenciesamong those use cases.

    Since behavior diagrams illustrate the behavior of a system, they are used extensivelyto describe the functionality of software systems.

  • 8/9/2019 Automated consultant for higher studies

    57/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 57 03085016

    CLASS DI A G RA M

    The class diagram describes the attributes and operations of a class and also theconstraints imposed on the system. The class diagrams are widely used in themodeling of object oriented systems because they are the only UML diagrams whichcan be mapped directly with object oriented languages.

    The class diagram shows a collection of classes, interfaces, associations,collaborations and constraints. It is also known as a structural diagram.

    CONTENTS:

    Class diagrams commonly contain the following things

    Classes Interfaces Collaborations

    Dependency, generation and association relationships

    Fig: Class Diagram

  • 8/9/2019 Automated consultant for higher studies

    58/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 58 03085016

    CLASS DI A G RA M

    STUDENTstudent nam egenderfather's name

    addressemail idnation

    registering name()fill the application form()submittng the form()writing the exam()paying fee s()

    CENTERCenter allocatedaddresscontact numberweb site

    training for entrance exam()conduct online e xam()

    CONSULTANTconsultant name

    addresscontact

    check ing application form()enrollme nt of papers()student information()submit exam result()providing info of unive rsity()

    UNIVERSITYuniversity nameaddresscontact numberweb site

    checking the student form()student's result()advertisements()provide offers()

  • 8/9/2019 Automated consultant for higher studies

    59/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 59 03085016

    US E CAS E DI A G RA M

    get universityoffer

    consultant

    pay service charges

    receive response

    check detail

    result

    student

    submit required infom

    university

  • 8/9/2019 Automated consultant for higher studies

    60/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 60 03085016

    IN T E RACT IO N DI A G RA M

    A. S EQUEN C E DI A G RA M

    centrecentre studentstudent consul tantconsul tant universityuniversity

    1: conducting classes

    2: attending classes

    3: providing study material

    4: preparing forexam

    5: conductingexams

    6: displaying result

    7: submitting theapp forn

    8: submitting themarks

    9: enrolling theforms

    10:verifying thedocuments

    11: accept/reject the application

  • 8/9/2019 Automated consultant for higher studies

    61/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 61 03085016

    B. COLLABORAT IO N DI A G RA M

    centre student

    consultant

    university

    4: preparing for exam

    10: verifying the documents

    1: conducting classes3: providing study material

    5: conducting exams6: displaying result

    2: attending classes

    8: submitting the marks

    7: submitting the app forn

    9: enrolling the forms

    11: accept/reject the application

  • 8/9/2019 Automated consultant for higher studies

    62/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 62 03085016

    ACT I V I TY DI A G RA M S

    ACT I V ITY DI A G RA M FOR G RA NT IN G V ISA

    Displaying isa notification

    visa processing

    granting status report

    issueing visa

  • 8/9/2019 Automated consultant for higher studies

    63/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 63 03085016

    ACT I V ITY DI A G RA M FOR A DMI SS IO N IN UNI V E RS I TY

    Accep ted

    S tuden t Detail

    Check Detail

    Check Visa ino

    rejec t

    NO

    YES

  • 8/9/2019 Automated consultant for higher studies

    64/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 64 03085016

    ACT IV ITY DI A G RA M FOR H I G H E R ST UDIE S

    reg ist er

    fill lic ti s

    s bmit cer tific tes

    c e ck t ils

    res lt

    enro lledre je ct ed

  • 8/9/2019 Automated consultant for higher studies

    65/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 65 03085016

    ACT I V ITY DI A G RA M FOR A DMI SS I O N IN C EN T E R

    S ub ittingfor

    ReceivingFor

    Review theDetails

    Check

    Allot ent

    Center ConsultantStudent

  • 8/9/2019 Automated consultant for higher studies

    66/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 66 03085016

    STAT E CHART DI A G RA M

    Registering

    Fillingapplication

    ubmitting

    tate chart Diagram for Consultant

    accepting

    forward

  • 8/9/2019 Automated consultant for higher studies

    67/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 67 03085016

    S t t rt i r f r tr

    r lli t t

    r

    r r ti

    riti

    !

    " " ti

    f r r

  • 8/9/2019 Automated consultant for higher studies

    68/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 68 03085016

    S tat e C hart Diagram for Univ e rsity

    C # $ cki % & '

    $ t ( il

    Gr ( % ti% &

    S t ) ri% &

    0

    ) rw( r '

    i% &

    U1 '

    ( ti% & S t ) ri% &

    0

    ) rw( r '

    i% &

    U1 '

    ( ti% & Send

    Acc ep ting

  • 8/9/2019 Automated consultant for higher studies

    69/70

    -----------------------------------------------------------------------------------------------------------------

    ZEBA ZAMAN 69 03085016

    CO M P O NEN T DI A G RA M

    Centre.java

    Consultant.exe

    Student.txt university.dll

  • 8/9/2019 Automated consultant for higher studies

    70/70

    DE P LOY MEN T DI A G RA M

    Consult

    ant

    Student

    1

    Student

    2

    Student

    3