Oose Lab Manual (3) (2).docx

  • Uploaded by: saanjh
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Oose Lab Manual (3) (2).docx as PDF for free.

More details

  • Words: 11,704
  • Pages: 63
SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

PART A EXPERIMENT NO. 1 A.1

AIM: - Learning the StarUML environment.

A.2

Prerequisite 1. Concepts of Software Engineering, Model

A.3

Outcome After successful completion of this training students will be able to use Star UML for creating the UML model with respect to given case study.

Design solution using unified modeling language.

A.4

Task:

Refer the Handout uploaded on black board for doing hands on with Star UML..

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

PART B (PART B: TO BE COMPLETED BY STUDENTS) (Students must submit the soft copy as per the following segments within two hours of the practicals. The soft copy must be uploaded on Blackboard LMS or emailed to the concerned Lab in charge Faculties at the end of practical; in case Blackboard is not accessible) Roll No:

Name:

Class:

Batch:

Date of Experiment:

Date of Submission:

Grade:

B.5

Conclusion

(Students must write the conclusion as per the attainment of individual outcome listed above and project definition noted in section B.1 including “Define the System, Motivation, Scope of the System and Applications”)

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering PART A EXPERIMENT NO. 2 A.1

AIM: - Modeling UML Use Case diagrams and capturing Use Case scenarios.

A.2

Prerequisite 1. Concepts of Actor, Use Case and Relationships

A.3

Outcome After successful completion of this experiment students will be able to

Design solution using unified modeling language. A.4

Theory

Use case diagrams Use case diagrams belong to the category of behavioural diagram of UML diagrams. Use case diagrams aim to present a graphical overview of the functionality provided by the system. It consists of a set of actions (referred to as use cases) that the concerned system can perform, one or more actors, and dependencies among them.

Actor An actor can be defined as an object or set of objects, external to the system, which interacts with the system to get some meaningful work done. Actors could be human, devices, or even other systems. For example, consider the case where a customer withdraws cash from an ATM. Here, customer is a human actor. Actors can be classified as below : ● Primary actor: They are principal users of the system, who fulfill their goal by availing some service from the system. For example, a customer uses an ATM to withdraw cash when he needs it. A customer is the primary actor here. ● Supporting actor: They render some kind of service to the system. "Bank representatives", who replenishes the stock of cash, is such an example. It may be noted that replenishing stock of cash in an ATM is not the prime functionality of an ATM. In a use case diagram primary actors are usually drawn on the top left side of the diagram.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

Use Case A use case is simply a functionality provided by a system. Continuing with the example of the ATM, withdraw cash is a functionality that the ATM provides. Therefore, this is a use case. Other possible use cases includes, check balance, change PIN, and so on. Use cases include both successful and unsuccessful scenarios of user interactions with the system. For example, authentication of a customer by the ATM would fail if he enters wrong PIN. In such case, an error message is displayed on the screen of the ATM.

Subject Subject is simply the system under consideration. Use cases apply to a subject. For example, an ATM is a subject, having multiple use cases, and multiple actors interact with it. However, one should be careful of external systems interacting with the subject as actors.

Graphical Representation An actor is represented by a stick figure and name of the actor is written below it. A use case is depicted by an ellipse and name of the use case is written inside it. The subject is shown by drawing a rectangle. Label for the system could be put inside it. Use cases are drawn inside the rectangle, and actors are drawn outside the rectangle, as shown in below figure:

Association between Actors and Use Cases A use case is triggered by an actor. Actors and use cases are connected through binary associations indicating that the two communicates through message passing.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering An actor must be associated with at least one use case. Similarly, a given use case must be associated with at least one actor. Association among the actors are usually not shown. However, one can depict the class hierarchy among actors.

Use Case Relationships Three types of relationships exist among use cases: ● Include relationship ● Extend relationship ● Use case generalization

Include Relationship Include relationships are used to depict common behaviour that are shared by multiple use cases. This could be considered analogous to writing functions in a program in order to avoid repetition of writing the same code. Such a function would be called from different points within the program. Example For example, consider an email application. A user can send a new mail, reply to an email he has received, or forward an email. However, in each of these three cases, the user must be logged in to perform those actions. Thus, we could have a login use case, which is included bycompose mail, reply, and forward email use cases. The relationship is shown in below figure.

Extend Relationship

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering Use case extensions are used used to depict any variation to an existing use case. They are used to the specify the changes required when any assumption made by the existing use case becomes false. Example Let's consider an online bookstore. The system allows an authenticated user to buy selected book(s). While the order is being placed, the system also allows to specify any special shipping instructions, for example, call the customer before delivery. This Shipping Instructionsstep is optional, and not a part of the main Place Order use case. Below figure depicts such relationship.

Generalization Relationship Generalization relationship are used to represent the inheritance between use cases. A derived use case specializes some functionality it has already inherited from the base use case. Example To illustrate this, consider a graphical application that allows users to draw polygons. We could have a use case draw polygon. Now, rectangle is a particular instance of polygon having four sides at right angles to each other. So, the use case draw rectangle inherits the properties of the use case draw polygon and overrides it's drawing method. This is an example of generalization relationship. Similarly, a generalization relationship exists between draw rectangle and draw square use cases.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

A.5

Task:

For the problem statement in Handout attached, complete use case modelling in StarUML.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering PART B (PART B: TO BE COMPLETED BY STUDENTS) (Students must submit the soft copy as per the following segments within two hours of the practicals. The soft copy must be uploaded on Blackboard LMS or emailed to the concerned Lab in charge Faculties at the end of practical; in case Blackboard is not accessible) Roll No: B004

Name: HARSH AGARWAL

Class: B

Batch: B1

Date of Experiment:

Date of Submission:

Grade:

B.1

Actors:

(Paste your document including as per format given)

● ADMIN ● CUSTOMER ● SERVER B.2 Use cases: 1. REGISTRATION 2. LOGIN 3. VALIDATE LOGIN 4. VALIDATE PAYMENT 5. UPDATE SERVER 6. VIEW ACTIVE PLAN 7. CHANGE PLAN 8. MAKE PAYMENT 9. ADD NEW PLAN 10.VIEW PLANS 11.UPDATE PLAN

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

B.3 Use Case diagrams:

B.4 Use Case Specifications: 1. Brief Description: This is use case diagram depicts how the user can use the app to manage this broadband plans.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

2. Preconditions: User must have active and stable internet condition and a connection with the internet service provider. 3. Basic Flow: 1. The use case begins with user either registering or logging in to the app. 2. Then validate login use case is executed 3. On successful validation either admin or customer is logged in and appropriate choices are given 4. If customer logs in then he is given option to view his current plan, renew plan or choose another plan 5. On choosing to change plan, making payment is compulsory. 6. On choosing make payment, validate payment is executed. 7. If admin logs in then he is given choice to either view current plans or add a new plan 8. On adding new plan, he is given choice to view current plans and compulsorily update server use case is executed 9. On choosing to view plan, admin is given choice to update existing plans. 10.If he updates any plan, then compulsorily update server is executed and given choice to view current plans after updating. 4. Alternative flows1. User enters wrong details while Logging in. Error message is displayed. 2. Payment Validation is not successful. Error message is given and payment has to be done again. 5. Post ConditionsThe user can now enjoy his internet services. B.5 Conclusion

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering (Students must write the conclusion as per the attainment of individual outcome listed above and project definition noted in section B.1 including “Define the System, Motivation, Scope of the System and Applications”)

We have learnt about Use case diagrams and how it helps us understand the actors and use cases of a software before we start making it. There are different types of relationships – namely “Extend”, “Generalization” and “Include” which can associate different elements of the diagram with each other. A Use case specification gives detailed information about the Use case Diagram

B.5 Questions of Curiosity: Q1. What does a use case diagram represent? a. b. c. d.

A set of actions Time sequence of statements executed How to use a particular module Don’t know

Answer: _______A___ Q.2 Generalization relationship exists between two use cases when a. A use case derives from a base use case. b. A use case derives from a base use case and specializes some of its inherited functionality. c. A use case include functionality of some other use case. d. No two use cases can be related. Answer: ______A______

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering PART A EXPERIMENT NO. 3 A.1 AIM: - To draw the behavioral view diagram: Sequence diagram, Collaboration diagram A.2 Prerequisite Determine the desired flow of action and their interaction with each other A.3 Outcome After successful completion of this experiment students will be able to 1. Better understanding of the interaction diagrams. 2. Get familiar with sequence & collaboration diagrams. 3. Practice drawing the interaction diagrams using StarUML

A.4 Theory Interaction diagrams describe how groups of objects collaborate in some behavior. An interaction diagram typically captures the behavior of a single use case. Interaction diagrams do not capture the complete behavior, only typical scenarios. Diagram is used to describe some type of interactions among the different elements in the model. Interaction is part of the dynamic behavior of the system – snapshot of running system at a particular moment. Sequence diagram emphasizes on time sequence of messages collaboration diagram emphasizes on the structural organization of the objects that send and receive messages. For sequence diagram things to be identified: – – – –

Objects taking part in the interaction – three types of objects – Entity, Control, Boundary objects Message flow among objects The sequence in which messages are flowing Object organization

Sequence Diagram Sequence diagrams are a graphical way to illustrate a scenario: ● They are called sequence diagrams because they show the sequence of message passing between objects.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering ● Another big advantage of these diagrams is that they show when the objects are created and when they are destructed. They also show whether messages are synchronous or asynchronous Collaboration Diagram They are the same as sequence diagrams but without a time axis: ● Their message arrows are numbered to show the sequence of message sending. ● They are less complex and less descriptive than sequence diagrams. ● These diagrams are very useful during design because you can figure out how objects communicate with each other. A.5 Procedure/Algorithm A.5.1 Task: Draw a sequence diagram for the case study. ● Identify objects – entity, control, boundary objects ● Identify messages between objects.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

PART B (PART B: TO BE COMPLETED BY STUDENTS) (Students must submit the soft copy as per the following segments within two hours of the practicals. The soft copy must be uploaded on Blackboard LMS or emailed to the concerned Lab in charge Faculties at the end of practical; in case Blackboard is not accessible) Roll No: B004

Name: HARSH AGARWAL

Class: B

Batch: B1

Date of Experiment:

Date of Submission:

Grade:

B.1

Objects:

(Paste your document including as per format given)

Entity objects: User

Boundary objects: GUI Server

Control objects:

B.2 Sequence diagram:

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

B.3 Collaboration diagram:

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

B.4 Conclusion Designed the solution using unified modelling language. That is designed a class diagram.

B.5 Questions of Curiosity: Q1. State the difference between entity, boundary and control objects.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

Entity objects: Objects representing system data, often from the domain model.

Boundary objects: Objects that interface with system actors (e.g. a user or external service). Windows, screens and menus are examples of boundaries that interface with users.

Control objects: Objects that mediate between boundaries and entities. These serve as the glue between boundary elements and entity elements, implementing the logic required to manage the various elements and their interactions. It is important to understand that you may decide to implement controllers within your design as something other than objects – many controllers are simple enough to be implemented as a method of an entity or boundary class for example.

Q.2 State the difference between sequence and collaboration diagram. Sequence diagrams specify interaction in a time sequence manner which may be among objects and/or classes. These diagrams are created during early elaboration phase where each flow of the use case is defined in terms of sequences, i.e. after each step what is going to happen next. This kind of representation is very helpful to understand & discuss the use cases with the customer, where both can come out with all possible functional aspects. On the other hand collaboration diagram provides a direct interaction among the object. These diagram are used more in the design phase of the development when you are designing the implementation of the relationship.

Q.3. When looping is required in sequence diagram? Looping is required when the same action has to be performed again and again that is an iteration is needed to be performed. For Example if the user enters a wrong user name or password then he will have to perform the same steps until he correct username so a loop will be implemented here.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering PART A EXPERIMENT NO. 4 A.1

AIM: - Modeling UML Class diagrams.

A.2

Prerequisite 1. Concepts of Actor, Use Case and Relationships

A.3

Outcome After successful completion of this experiment students will be able to

Design solution using unified modeling language. A.4

Task:

For the problem statement in Handout attached, 1> Write CRC card. 2> Complete Class Diagram in StarUML.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering PART B (PART B: TO BE COMPLETED BY STUDENTS) (Students must submit the soft copy as per the following segments within two hours of the practicals. The soft copy must be uploaded on Blackboard LMS or emailed to the concerned Lab in charge Faculties at the end of practical; in case Blackboard is not accessible) Roll No: B004

Name: HARSH AGARWAL

Class: B

Batch: B1

Date of Experiment:

Date of Submission:

Grade:

B.1

Actors:

(Paste your document including as per format given)

1. Admin 2. Customer B.2 Class Diagram:

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

B.3 Entity Classes: ● Customer ● Admin ● Bill ● Active Plans B.4 Boundary Classes:

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

● Feedback ● Daily Data B.5 Control Classes: ● Cumulative Data Usage ● Amount Calculation B.6

Conclusion

(Students must write the conclusion as per the attainment of individual outcome listed above and project definition noted in section B.1 including “Define the System, Motivation, Scope of the System and Applications”) Designed the solution using unified modelling language. That is designed a class diagram

B.5 Questions of Curiosity: Q.1> Which of the following is not a good reason for constructing a requirements model? A) It can show the business situation in enough detail to check that the requirements have been captured fully and correctly. B) It can demonstrate that all the use cases have been drawn using the correct notation. C) It can be organized in such a way that it will be useful later for designing the software.

Q.2> Which is the correct name for “a possible set of classes, together with an understanding of how those classes might interact to deliver the functionality of a use case”? A) A use case class diagram. B) A realization. C) A collaboration

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering Q.3> Which of these is the correct set of USDP analysis class stereotypes? A) Interface, control and entity. B) Boundary, control and entity. C) Interface, sequence and entity

Q.4> One of the following is not an advantage of stereotyping analysis classes. Which one? A) The resulting packages can form a basis for the system’s architecture. B) It can be useful to differentiate classes that have broad similarities in the way that they behave. C) Once a class is stereotyped, its behavior is likely to become more predictable

Q.5> What do boundary classes represent? A) Customers and suppliers of the business. B) People who will use the system. C) Interfaces between the system and its actors.

Q.6> What are entity classes? A) Classes that contain data. B) Classes that contain persistent data. C) Classes that represent something or some concept in the application domain.

Q.7> How do operations differ from methods?

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering A) A method is a particular implementation of an operation. B) An operation is a particular implementation of a method. C) Some object-oriented programming languages have methods, while others have operations.

Q.8> What is the main purpose of the Class–Responsibility–Collaboration technique? A) To decide which team members will be responsible for developing each part of the software. B) To decide which classes of the system should be responsible for each use case. C) To decide how responsibilities should be distributed among the classes of the system.

Q.9> The requirements of different use cases may suggest different operations for the same class. How do we resolve this? A) We should split the class so that there is one for each use case, and model each class with the particular operations required for its use case. B) We should include in the class all the operations that are suggested by all the use cases. C) We should model the class with only that subset of operations that applies to all use cases.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering PART A EXPERIMENT NO. 5 A.1

AIM: - To draw the behavioral view diagram: Activity diagram

A.2 Prerequisite Determine the desired flow of action and their interaction with each other A.3 Outcome After successful completion of this experiment students will be able to 4. Better understanding of the interaction diagrams. 5. Get familiar with Activity diagram 6. Practice drawing the interaction diagrams using StarUML

A.4 Theory Activity diagrams are flow charts that are used to show the workflow of a system. They also: ● Represent the dynamics of the system. ● Show the flow of control from activity to activity in the system. ● Show what activities can be done in parallel, and any alternate paths through the flow. Activity diagrams may be created to represent the flow across use cases or they may be created to represent the flow within a particular use case. Later in the life cycle, activity diagrams may be created to show the workflow for an operation. Activity diagram notations: • Rounded rectangles represent activities



Diamonds represent decisions

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering •

A black circle represents the start (initial state) of the work-flow



An encircled black circle represents the end (final state).

• •

Swimlane (vertical) Swimlane (horizontal): Swim lane- depicts which human organization is responsible for an activity. Organization – sales, finance, marketing, purchasing etc. Swim lane indicates that activity is performed by a person or persons within the organization.



Bars represent the start (split) or end (join) of concurrent activities

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

Activity diagram for uploading photograph:

Activity diagram for stock trading processing:

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

Activity diagram using swimlane:

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

A.5. Task: Draw an activity diagram for the case study.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering PART B (PART B: TO BE COMPLETED BY STUDENTS) (Students must submit the soft copy as per the following segments within two hours of the practicals. The soft copy must be uploaded on Blackboard LMS or emailed to the concerned Lab in charge Faculties at the end of practical; in case Blackboard is not accessible) Roll No: B004

Name: HARSH AGARWAL

Class: B

Batch: B1

Date of Experiment:

Date of Submission:

Grade:

B.1

Activity diagram

(Paste your document including as per format given)

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

B.2 Conclusion (Students must write the conclusion as per the attainment of individual outcome listed above and project definition noted in section B.1 including “Define the System, Motivation, Scope of the System and Applications”) Got a better understanding of the interaction diagrams, got familiar with Activity diagram, practiced drawing the interaction diagrams using StarUML .

B.5 Questions of Curiosity: Q1. What is the primary purpose of activity diagram? Activity diagrams are flow charts that are used to show the workflow of a system. They also: • Represent the dynamics of the system. • Show the flow of control from activity to activity in the system. • Show what activities can be done in parallel, and any alternate paths through the flow. Activity diagrams may be created to represent the flow across use cases or they may be created to represent the flow within a particular use case. Later in the life cycle, activity diagrams may be created to show the workflow for an operation.

Q.2 State the difference between branches and fork and join in activity diagram. Fork node is a control node that has one incoming edge and multiple outgoing edges and is used to split incoming flow into multiple concurrent flows. Fork nodes are introduced to support parallelism in activities. Tokens arriving at a fork are duplicated across the outgoing edges. If at least one outgoing edge accepts the token, duplicates of the token are made and one copy traverses each edge that accepts the token. The outgoing edges that did not accept the token due to failure of their targets to accept it, keep their copy in an implicit FIFO queue until it can be accepted by the target. The rest of the outgoing edges do not receive a token. The notation for a fork node is a line segment with a single activity edge entering it, and two or more edges leaving it.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

Fork node with a single activity edge entering it, and three edges leaving it.

Decision node is a control node that accepts tokens on one or two incoming edges and selects one outgoing edge from one or more outgoing flows. Decision nodes were introduced in UML to support conditionals in activities. The edges coming into and out of a decision node, other than the decision input flow (if any), must be either all object flows or all control flows. Each token arriving at a decision node can traverse only one outgoing edge. Tokens are not duplicated. Each token offered by the incoming edge is offered to the outgoing edges. Which of the edges is actually traversed depends on the evaluation of the guards on the outgoing edges. The order in which guards are evaluated is not defined, i.e. we should not rely on any visual or text description order. The notation for a decision node is a diamond-shaped symbol.

Decision node with two outgoing edges with guards.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering PART A EXPERIMENT NO. 6 A.1

AIM: - To draw the State Diagram

A.2 Prerequisite Determine the State Diagram for the case study. A.3 Outcome After successful completion of this experiment students will be able to 7. Practice drawing the state diagrams using StarUML

A.4 Procedure/Algorithm A.4.1 Task: Draw a state diagram for the case study.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering PART B (PART B: TO BE COMPLETED BY STUDENTS) (Students must submit the soft copy as per the following segments within two hours of the practicals. The soft copy must be uploaded on Blackboard LMS or emailed to the concerned Lab in charge Faculties at the end of practical; in case Blackboard is not accessible) Roll No: B004

Name: HARSH AGARWAL

Class: B

Batch: B1

Date of Experiment:

Date of Submission:

Grade:

B.1

State Diagram

(Paste your document including as per format given)

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

B.4 Conclusion (Students must write the conclusion as per the attainment of individual outcome listed above and project definition noted in section B.1 including “Define the System, Motivation, Scope of the System and Applications”)

Thus we successfully designed the state chart diagram using StarUML. B.5 Questions of Curiosity:

Q.1 State the difference between State Diagram and sequence and collaboration diagram. SEQUENCE DIAGRAM COLLABORATION STATE CHART DIAGRAM DIAGRAM Sequence diagram is for A state machine diagram communication diagram is focuses on how an object may unsuitable to express object modeling of a more detailed design. It has all the basic possibly go through its object interactions in details. This states. Neither communication diagram is more suitable to programming control constructs, namely iteration diagram nor sequence diagram express our high level design (as what you use in (loop), sequence, and decision provides any information (condition, or "alt" about object states, and thus, the OOD report template combinedfragment). we are unable to know what and in our design the responses of the object methodology). under different situations (i.e., states) when receiving a message. Moreover, if a class has been used in multiple sequence diagrams, we need to ensure the program logic of the class to support each invovled sequence diagram. In this case, we may model the object life of this class through a state machine diagram.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

1. States can be considered to fall into the following main categories: a. Idle/active b. Isolated/interactive c. preparing/active d. True/false/unknown e. Alive/dead 2. Which of the following is the most appropriate definition of a state diagram (Harel's Higraph)? a. State diagrams show visually the relationships between triggers (events) and states for several classes. b. State diagrams show visually the relationships between triggers (events) and states for a single class. c. State diagrams show visually the triggers (events) for a single class. d. State diagrams show visually the states for a single class. e. State diagrams show visually the relationships between triggers (events) for several objects. 3. The lines in state diagrams (Harel's Higraphs) represent: a. Signals b. Alarms c. States d. Transitions e. Initial conditions 4. When developing dynamic models, what is the usual sequence of activities? a. Sequence diagram -> state diagrams b. State diagram -> several Sequence Diagrams c. Sequence diagrams -> one state diagram d. State diagrams -> one Sequence Diagram e. State and Sequence Diagrams developed independently then finally consolidated 5. If you see the expression "[if weepy]" along a line in a state diagram, it would represent the following: a. Textual description (unnecessary) b. Message c. guard/Condition statement d. Event e. Activity 6. What is the correct term for nesting? a. Inclusion b. Decomposition c. Induction d. Fragmentation e. Deduction

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering 7. Which of the following statements is correct: a. Decomposition is an important aspect of systems modelling. b. Decomposition is a minor aspect of systems modelling. c. Decomposition requires extra diagramming tools to detail it. d. Decomposition is not a conceptually easy topic. e. Decomposition is an optional component to modelling.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering PART A EXPERIMENT NO. 8 A.1

AIM: - To draw Component and Deployment Diagrams

A.2 Outcome After successful completion of this experiment students will be able to 8. Practice drawing the component and deployment diagram using StarUML

A.3

Theroy This exercise focuses on component and deployment diagrams, which depict the implementation and environment of a system, respectively. Component modeling is a specialized type of structural modeling concerned with modeling the implementation of a system. Using the UML, you can communicate the implementation of a system using component diagrams. You usually apply component modeling during design activities to determine how implementation activities will build the system; that is, to determine the elements of the system on which implementation activities will focus. Component modeling typically starts after the design of the system is fairly complete, as determined by your system development process. Deployment modeling is a specialized type of structural modeling concerned with modeling the implementation environment of a system. In contrast to modeling the components of a system, a deployment model shows you the external resources that those components require. You typically apply deployment modeling during design activities to determine how deployment activities will make the system available to its users; that is, to determine the elements of the system on which deployment activities will focus. Like component modeling, deployment modeling usually starts after the design of the system is fairly complete, as determined by your system development process. 1. Component A component is a part of the system that exists when the system is executing. For example, the project management system may be decomposed into the following components: A user interface component Responsible for providing a user interface through which users may interact with the system

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering A business-processing component Responsible for implementing business functionality, including all the project management functionality provided by the project management system A data component For implementing data storage functionality A security component Provides various forms of security functionality to the business-processing and data components, including user authentication and verifying user privileges when accessing data You can use the UML to talk about classes of components as well as specific components of a class. When speaking of a class of components, it's customary to use the terms component or component class. Thus, while you might think of a component as a specific thing, in the UML, a component really represents a class of things. When speaking of a specific component of a class, use the term component instance. A component exists during execution time and requires a resource on which to execute,. In the UML, a component is shown as a rectangle with two small rectangles protruding from its side. The rectangle is labelled with the name of the component class. Figure 1 shows various components associated with the project management system, including user interface, business-processing, data, and security components.

Figure 1- Components of the project management system A component instance is a specific component. For example, specific components of the project management system include: A web user interface component instance Allows users to access the project management system via the Web A client/server user interface component instance Allows users to access the project management system in a client/server environment

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering A local data component instance Stores project management data for a specific user or group of users An enterprise data component instance Stores project management data for a complete organization A component instance is shown similar to a component class, but is labelled with the component instance name followed by a colon followed by the component class name, with all parts of the name fully underlined. Both names are optional, and the colon is present only if the component class name is specified. Figure 2 shows various component instances of the component classes in Figure 1, including two user interface component instances, named Web and Client Server, two data component instances, named Local Data and Enterprise Data, a nameless business processing component instance, and a nameless security component instance.

Figure 2- Component instances in the project management system 2. Nodes A node is a resource that is available during execution time. Traditionally, nodes refer to computers on a network, but in the UML a node may be a computer, printer, server, Internet, or any other kind of resource available to components. For example, the project management system may be deployed on the following nodes: A desktop client On which the user interface component executes A printer Which the project management system uses to print reports

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering A business-processing server On which the business-processing component executes A database server On which the data component executes and where project-related information is stored. Nodes follow the type-instance dichotomy and applied to classes and objects. You can use the UML to talk about classes of nodes, as well as specific nodes of a class. When speaking of a class of nodes, it's customary to use the terms node or node class. Thus, while you might think of a node as a specific thing, in the UML, a node really represents a class of nodes. When speaking of a specific component of a class, use the term node instance. A node is available during execution time and is a resource on which components may execute. In the UML, a node is shown as a three-dimensional rectangle labelled with the node's name. Figure 3 shows various nodes associated with the project management system, including a desktop client, business-processing server, database server, and printer node.

Figure 3- Nodes used by the project management system A node instance is a specific node. For example, specific nodes used by the project management system include: A desktop client node instance Used by Jonathan to access the project management system A desktop client node instance Used by Andy to access the project management system A group business-processing server node instance Used by a group of users to manage projects An enterprise business-processing server node instance Used by a complete organization to manage projects

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering A node instance is shown similarly to a node class but labelled with the node instance name followed by a colon followed by the node class name, all fully underlined. Both names are optional, and the colon is present only if the node class name is specified. Figure 4 shows various node instances of the node classes in Figure 3, including two desktop client node instances, named Jonathan's Computer and Andy's Computer, two business-processing node instances, named Group Server and Enterprise Server, a printer node instance, named Group Printer, and a database server node instance.

Figure 4- Node instances 3. Dependencies Figure 1 shows components associated with the project management system, and Figure 3 shows nodes associated with the project management system, but how are components related to undifferentiated and differentiated classes, packages, subsystems, and to other components and nodes? Specialized types of dependencies called reside, use, and deploy dependencies address these questions. The next few sections discuss these specialized types of dependencies. 3.1 Reside Dependencies A reside dependency from a component to any UML element indicates that the component is a client of the element, which is itself considered a supplier, and that the element resides in the component. The element may be an undifferentiated or differentiated class, package, or subsystem. An element may reside in any number of components, and a component may have any number of elements that reside in it. A reside dependency is shown as a dashed arrow from a client component to a supplier element marked with the reside keyword.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering Figure 5 shows that the User Interface and Utility packages reside in the User Interface component. Because the User Interface package depends on the Utility package, the User Interface and Utility packages must reside in the same component; otherwise, the User Interface package would not be able to use the Utility package.

Figure 5. Reside dependencies for packages Figure 6 shows that the Business Processing subsystem and Utility package reside in the Business Processing component. Because the Business Processing subsystem provides the IBusiness Processing interface, the Business Processing component also provides the interface. Again, because the Business Processing subsystem depends on the Utility package, the Business Processing subsystem and Utility package must reside in the same component; otherwise, the Business Processing subsystem would not be able to use the Utility package. Remember, it's perfectly fine for an element to reside in more than one component. For example, the Utility package resides in both the User Interface and Business Processing components, and, as you will soon see, in the Data component.

Figure 6. Reside dependencies for subsystems Alternatively, an element that resides inside a component may be shown nested inside the component. Figure 7 shows that the Data subsystem and Utility package reside in the Data component. The Data subsystem is drawn inside the Data component, while the reside dependency to Utility is still drawn in the same manner as in Figures Figure 5 and Figure 6.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

Figure 7. Reside dependencies using nesting Notice that the Utility package resides in all the components in Figures Figure 5, Figure 6, and Figure 7, because each component described in those figures has a package that uses the Utility package. 3.2 Use Dependencies A use dependency from a client component to a supplier component indicates that the client component uses or depends on the supplier component. A use dependency from a client component to a supplier component's interface indicates that the client component uses or depends on the interface provided by the supplier component. A use dependency is shown as a dashed arrow from a client component to a supplier component or a supplier component's interface. The dependency may be marked with the use keyword; however, the keyword is often omitted because this is the default, and the meaning is evident from how the dependency is used. Figure 8 shows how the various components of the project management system are related: The User Interface componentUses the Security component and the IBusiness Processing interface provided by the Business Processing component The Business Processing componentUses the Security component and the IProducible and IConsumable interfaces provided by the Data component The Data componentUses the Security component

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

Figure 8- Use dependencies 3.3 Deploy Dependencies A deploy dependency from a client component to a supplier node indicates that the client component is deployed on the supplier node. A deploy dependency is shown as a dashed arrow from a client component to a supplier node marked with the deploy keyword. Figure 9 shows that the User Interface component is deployed on the Desktop Client node.

Figure 9- Deploy dependencies Figure 10 shows that the Business Processing component is deployed on the BusinessProcessing Server node.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

Figure 10- Deploy dependencies for a subsystem Alternatively, a component that is deployed on a node may be shown nested inside the node. Figure 11 shows that the Data component is deployed on the Database Server node.

Figure 11- Deploy dependencies using nesting 4. Communication Associations Figure 3 shows nodes associated with the project management system, but how are those nodes related? A specialized type of association, called a communication association, addresses the question of how nodes are related. A communication association between nodes indicates a communication path between the nodes that allows components on the nodes to communicate with one another. A communication association is shown as a solid-line between nodes. Figure 12 shows that the Business-Processing Server has a communication association with the Desktop Client, Printer, and Database Server nodes.

Figure 5-12. Communication associations

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering Figure 13 combines Figure 8 and Figure 12 to show how components are related to nodes. Notice that if two components are related and reside on different nodes, the nodes must have a communication association between them to allow the components to communicate; otherwise, the components are not able to communicate and be related to one another. For example, if the communication association between the Desktop Client and BusinessProcessing Server nodes was removed, the User Interface component could not be related to the IBusiness Processing interface and Security component. If the communication association between the Business-Processing Server and Database Server nodes was removed, the Data component could not be related to the Security component, and the Business Processing component could not be related to the IProducible and IConsumable interfaces.

Figure 13- Communication associations

A.4 Procedure/Algorithm A.4.1 Task: 1> Describe Figure 14: identify components and nodes, and describe the relationships among components and nodes.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

Figure 14- Components and nodes for the project management system. 2> Describe Figure 15: identify the various elements and their relationships.

Figure 15- Packages and a subsystem Update the diagram stepwise to show the following details. a. The User Interface package uses the IView and IPrint interfaces provided the Reporting subsystem. b. The User Interface and Utility packages resides in a User Interface component. c. The Reporting subsystem and Utility package reside in a Reporting component. d. The User Interface component is deployed on a Desktop Client node. e. The Reporting component is deployed on a Report Server node.

by

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering f. The Desktop Client node is connected to the Report Server node, and the Report Server node is connected to a High-speed Printer node.

PART B (PART B: TO BE COMPLETED BY STUDENTS) (Students must submit the soft copy as per the following segments within two hours of the practicals. The soft copy must be uploaded on Blackboard LMS or emailed to the concerned Lab in charge Faculties at the end of practical; in case Blackboard is not accessible) Roll No:

Name:

Class:

Batch:

Date of Experiment:

Date of Submission:

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering Grade:

B.4 Conclusion (Students must write the conclusion as per the attainment of individual outcome listed above and project definition noted in section B.1 including “Define the System, Motivation, Scope of the System and Applications”)

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering PART A EXPERIMENT NO. 8 A.1 AIM: - To draw Component and Deployment Diagrams with respect to given case study A.2 Outcome After successful completion of this experiment students will be able to 9. Practice drawing the component and deployment diagram using StarUML

A.3

Theroy This exercise focuses on component and deployment diagrams, which depict the implementation and environment of a system, respectively. Component modeling is a specialized type of structural modeling concerned with modeling the implementation of a system. Using the UML, you can communicate the implementation of a system using component diagrams. You usually apply component modeling during design activities to determine how implementation activities will build the system; that is, to determine the elements of the system on which implementation activities will focus. Component modeling typically starts after the design of the system is fairly complete, as determined by your system development process. Deployment modeling is a specialized type of structural modeling concerned with modeling the implementation environment of a system. In contrast to modeling the components of a system, a deployment model shows you the external resources that those components require. You typically apply deployment modeling during design activities to determine how deployment activities will make the system available to its users; that is, to determine the elements of the system on which deployment activities will focus. Like component modeling, deployment modeling usually starts after the design of the system is fairly complete, as determined by your system development process. 5. Component A component is a part of the system that exists when the system is executing. For example, the project management system may be decomposed into the following components: A user interface component

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering Responsible for providing a user interface through which users may interact with the system A business-processing component Responsible for implementing business functionality, including all the project management functionality provided by the project management system A data component For implementing data storage functionality A security component Provides various forms of security functionality to the business-processing and data components, including user authentication and verifying user privileges when accessing data You can use the UML to talk about classes of components as well as specific components of a class. When speaking of a class of components, it's customary to use the terms component or component class. Thus, while you might think of a component as a specific thing, in the UML, a component really represents a class of things. When speaking of a specific component of a class, use the term component instance. A component exists during execution time and requires a resource on which to execute,. In the UML, a component is shown as a rectangle with two small rectangles protruding from its side. The rectangle is labelled with the name of the component class. Figure 1 shows various components associated with the project management system, including user interface, business-processing, data, and security components.

Figure 1- Components of the project management system A component instance is a specific component. For example, specific components of the project management system include: A web user interface component instance Allows users to access the project management system via the Web

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering A client/server user interface component instance Allows users to access the project management system in a client/server environment A local data component instance Stores project management data for a specific user or group of users An enterprise data component instance Stores project management data for a complete organization A component instance is shown similar to a component class, but is labelled with the component instance name followed by a colon followed by the component class name, with all parts of the name fully underlined. Both names are optional, and the colon is present only if the component class name is specified. Figure 2 shows various component instances of the component classes in Figure 1, including two user interface component instances, named Web and Client Server, two data component instances, named Local Data and Enterprise Data, a nameless business processing component instance, and a nameless security component instance.

Figure 2- Component instances in the project management system 6. Nodes A node is a resource that is available during execution time. Traditionally, nodes refer to computers on a network, but in the UML a node may be a computer, printer, server, Internet, or any other kind of resource available to components. For example, the project management system may be deployed on the following nodes: A desktop client On which the user interface component executes A printer Which the project management system uses to print reports

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

A business-processing server On which the business-processing component executes A database server On which the data component executes and where project-related information is stored. Nodes follow the type-instance dichotomy and applied to classes and objects. You can use the UML to talk about classes of nodes, as well as specific nodes of a class. When speaking of a class of nodes, it's customary to use the terms node or node class. Thus, while you might think of a node as a specific thing, in the UML, a node really represents a class of nodes. When speaking of a specific component of a class, use the term node instance. A node is available during execution time and is a resource on which components may execute. In the UML, a node is shown as a three-dimensional rectangle labelled with the node's name. Figure 3 shows various nodes associated with the project management system, including a desktop client, business-processing server, database server, and printer node.

Figure 3- Nodes used by the project management system A node instance is a specific node. For example, specific nodes used by the project management system include: A desktop client node instance Used by Jonathan to access the project management system A desktop client node instance Used by Andy to access the project management system A group business-processing server node instance Used by a group of users to manage projects

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering An enterprise business-processing server node instance Used by a complete organization to manage projects A node instance is shown similarly to a node class but labelled with the node instance name followed by a colon followed by the node class name, all fully underlined. Both names are optional, and the colon is present only if the node class name is specified. Figure 4 shows various node instances of the node classes in Figure 3, including two desktop client node instances, named Jonathan's Computer and Andy's Computer, two business-processing node instances, named Group Server and Enterprise Server, a printer node instance, named Group Printer, and a database server node instance.

Figure 4- Node instances 7. Dependencies Figure 1 shows components associated with the project management system, and Figure 3 shows nodes associated with the project management system, but how are components related to undifferentiated and differentiated classes, packages, subsystems, and to other components and nodes? Specialized types of dependencies called reside, use, and deploy dependencies address these questions. The next few sections discuss these specialized types of dependencies. 3.1 Reside Dependencies A reside dependency from a component to any UML element indicates that the component is a client of the element, which is itself considered a supplier, and that the element resides in the component. The element may be an undifferentiated or differentiated class, package, or subsystem. An element may reside in any number of components, and a component may have any number of elements that reside in it. A reside dependency is shown as a dashed arrow from a client component to a supplier element marked with the reside keyword.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

Figure 5 shows that the User Interface and Utility packages reside in the User Interface component. Because the User Interface package depends on the Utility package, the User Interface and Utility packages must reside in the same component; otherwise, the User Interface package would not be able to use the Utility package.

Figure 5. Reside dependencies for packages Figure 6 shows that the Business Processing subsystem and Utility package reside in the Business Processing component. Because the Business Processing subsystem provides the IBusiness Processing interface, the Business Processing component also provides the interface. Again, because the Business Processing subsystem depends on the Utility package, the Business Processing subsystem and Utility package must reside in the same component; otherwise, the Business Processing subsystem would not be able to use the Utility package. Remember, it's perfectly fine for an element to reside in more than one component. For example, the Utility package resides in both the User Interface and Business Processing components, and, as you will soon see, in the Data component.

Figure 6. Reside dependencies for subsystems Alternatively, an element that resides inside a component may be shown nested inside the component. Figure 7 shows that the Data subsystem and Utility package reside in the Data component. The Data subsystem is drawn inside the Data component, while the

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering reside dependency to Utility is still drawn in the same manner as in Figures Figure 5 and Figure 6.

Figure 7. Reside dependencies using nesting Notice that the Utility package resides in all the components in Figures Figure 5, Figure 6, and Figure 7, because each component described in those figures has a package that uses the Utility package. 3.2 Use Dependencies A use dependency from a client component to a supplier component indicates that the client component uses or depends on the supplier component. A use dependency from a client component to a supplier component's interface indicates that the client component uses or depends on the interface provided by the supplier component. A use dependency is shown as a dashed arrow from a client component to a supplier component or a supplier component's interface. The dependency may be marked with the use keyword; however, the keyword is often omitted because this is the default, and the meaning is evident from how the dependency is used. Figure 8 shows how the various components of the project management system are related: The User Interface componentUses the Security component and the IBusiness Processing interface provided by the Business Processing component The Business Processing componentUses the Security component and the IProducible and IConsumable interfaces provided by the Data component The Data componentUses the Security component

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

Figure 8- Use dependencies 3.3 Deploy Dependencies A deploy dependency from a client component to a supplier node indicates that the client component is deployed on the supplier node. A deploy dependency is shown as a dashed arrow from a client component to a supplier node marked with the deploy keyword. Figure 9 shows that the User Interface component is deployed on the Desktop Client node.

Figure 9- Deploy dependencies Figure 10 shows that the Business Processing component is deployed on the BusinessProcessing Server node.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

Figure 10- Deploy dependencies for a subsystem Alternatively, a component that is deployed on a node may be shown nested inside the node. Figure 11 shows that the Data component is deployed on the Database Server node.

Figure 11- Deploy dependencies using nesting 8. Communication Associations Figure 3 shows nodes associated with the project management system, but how are those nodes related? A specialized type of association, called a communication association, addresses the question of how nodes are related. A communication association between nodes indicates a communication path between the nodes that allows components on the nodes to communicate with one another. A communication association is shown as a solid-line between nodes. Figure 12 shows that the Business-Processing Server has a communication association with the Desktop Client, Printer, and Database Server nodes.

Figure 5-12. Communication associations

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering Figure 13 combines Figure 8 and Figure 12 to show how components are related to nodes. Notice that if two components are related and reside on different nodes, the nodes must have a communication association between them to allow the components to communicate; otherwise, the components are not able to communicate and be related to one another. For example, if the communication association between the Desktop Client and BusinessProcessing Server nodes was removed, the User Interface component could not be related to the IBusiness Processing interface and Security component. If the communication association between the Business-Processing Server and Database Server nodes was removed, the Data component could not be related to the Security component, and the Business Processing component could not be related to the IProducible and IConsumable interfaces.

Figure 13- Communication associations

A.4 Procedure/Algorithm A.4.1 Task: 1> 1> For the case study given on black board complete component and deployment model.

SVKM’S NMIMS Deemed-to-be-University Mukesh Patel School of Technology Management & Engineering Department of Computer Engineering Course Code Program B.Tech Computer BTCO06001 Semester VI Year III Name of the Faculty Prof. Shubha Puthran Class B Course Title Academic year 2018-19 Object Oriented Software Engineering

PART B (PART B: TO BE COMPLETED BY STUDENTS) (Students must submit the soft copy as per the following segments within two hours of the practicals. The soft copy must be uploaded on Blackboard LMS or emailed to the concerned Lab in charge Faculties at the end of practical; in case Blackboard is not accessible) Roll No:

Name:

Class:

Batch:

Date of Experiment:

Date of Submission:

Grade:

B.4 Conclusion (Students must write the conclusion as per the attainment of individual outcome listed above and project definition noted in section B.1 including “Define the System, Motivation, Scope of the System and Applications”)

Related Documents

Oose File.docx
December 2019 2
Lab Manual
May 2020 7
Lab 3
November 2019 21
Lab 3
November 2019 22
Lab 3
April 2020 12

More Documents from "Karla Young"