Вы находитесь на странице: 1из 13

Semester: 3 (Spring-2016 Assignment)

Subject: MIT301 Object Oriented Analysis and Design


BK ID: B1546
Roll No: 1502007350
Name: Ratika Seth
Max. Marks 60

#1. What are the advantages of object oriented software


development? Explain.

ANSWER In the system analysis or object-oriented analysis phase of


software development, the system requirements are determined, the classes
are identified and the relationships among classes are identified.
The key ideas of the object oriented approach are:

Encapsulation

Objects

Class and Inheritance

Instances and Instantiation

Methods and Messages

Some important features of Object Oriented programming are as follows:

Emphasis on data rather than procedure

Objects can communicate with each other through functions

Programs are divided into Objects

New data and functions can be easily added whenever necessary

Data is hidden and cannot be accessed by external functions

Follows bottom-up approach

The Advantages of Object Oriented Software Development are: Reduced Maintenance: The primary goal of object-oriented
development is the assurance that the system will enjoy a longer life
while having far smaller maintenance costs. Because most of the
processes within the system are encapsulated, the behaviors may be
reused and incorporated into new behaviors.
1

Real-World Modeling: Object-oriented system tend to model the


real world in a more complete fashion than do traditional methods.
Objects are organized into classes of objects, and objects are
associated with behaviors. The model is based on objects, rather than
on data and processing.
Improved Reliability and Flexibility:
Object-oriented system
promise to be far more reliable than traditional systems, primarily
because new behaviors can be "built" from existing objects. Because
objects can be dynamically called and accessed, new objects may be
created at any time. The new objects may inherit data attributes from
one, or many other objects. Behaviors may be inherited from superclasses, and novel behaviors may be added without effecting existing
systems functions.
High Code Reusability: When a new object is created, it will
automatically inherit the data attributes and characteristics of the class
from which it was spawned. The new object will also inherit the data
and behaviors from all super-classes in which it participates.
Scalable: OO applications are more scalable then their structured
programming roots. As an objects interface provides a roadmap for
reusing the object in new software, it also provides you with all the
information you need to replace the object without affecting other
code. This makes it easy to replace old and aging code with faster
algorithms and newer technology.

#2. Give the classification of prototypes and explain.


ANSWER The Software Prototyping refers to building software application
prototypes which display the functionality of the product under development but
may not actually hold the exact logic of the original software.

Software prototyping is becoming very popular as a software development


model, as it enables to understand customer requirements at an early stage
of development. It helps get valuable feedback from the customer and helps
software designers and developers understand about what exactly is
expected from the product under development.
Some important types of prototype Model are: Prototype is a working model of software with some limited
functionality.

The prototype does not always hold the exact logic used in the actual
software application and is an extra effort to be considered under
effort estimation.
Prototyping is used to allow the users evaluate developer proposals
and try them out before implementation.
It also helps understand the requirements which are user specific and
may not have been considered by the developer during product
design.
Diagram of Prototype model:

Classification of prototypes:1. Analysis Prototype: - This kind of prototype helps the user to
interact with a partial developed part of the system. It helps in
clarifying users requirements and may simulate the proposed
interface. For designing the system requirements, prototypes can be
considered as documents.
2. Design Prototype: - This kind of a prototype explores the
architecture or the system during the elaboration phase of
development. This prototype helps in finding out flaws in the system. It
proves that the implementation is feasible will be successful in
producing a deliverable product. System performance is also focused
here.
3. Feasibility Prototype: - Successful implementation of a portion of
the system can be identified using this prototype.
4. Vertical Prototype: - This kind of a prototype examines smaller parts
and identifies problems in a system. This is necessary when the
complete implementation of a portion of the system is required.

#3.
What are the four phases of Object Modeling
Technique? Explain.

ANSWER OMT is an abbreviation for object modeling technique, a well-known example of


a software engineering methodology. OMT is an object-oriented technique, which allows a
system to be described at a highly abstract level. The entire OMT process involves four phases,
namely analysis, system design, object design and implementation. Most of the modeling takes
place during the analysis phase.

Analysis: The analysis phase starts with a problem statement, and its
purpose is to develop the initial problem statement by providing a list
of requirements for developers, managers and users. The initial
problem statement is expanded into three models, known as an object
model, a dynamic model and a functional model.
The object model represents the static elements of the field of
activity being modeled and includes classes of object,
associations, attributes and operations.
The dynamic model represents interactions between elements
and includes states, transitions between states and events that
trigger transitions.
The functional model represents the flow of data through the
system.
System Design: The purpose of the system design phase is to
establish the overall architecture, or high-level structure, of the
system. The system is divided into subsystems, each of which is
allocated to processes and tasks, taking into account the need for the
simultaneous occurrence of events, known as concurrency, and cooperation, or collaboration, between processes. During the system
design phase, strategies for implementing permanent data storage and
software controls are established.
Object Design: The purpose of the object design phase is to
establish the implementation plan for the system. This involves fully
defining the details of classes, associations, attributes and operations,
along with data structures and internal objects needed to specify how
the system will be implemented. The end product of object design is a
design document, in which the fundamental, dynamic and object
models produced by the analysis phase are revised and kept current.
The object design phase can be likened to the detailed design stage in
a traditional software lifecycle.
Implementation: Theoretically, the implementation phase is the

most straightforward, or mechanical, phase of OMT, since all the


difficult decisions have been made in the preceding phases. However,
in practice, the implementation phase often requires a significant
4

amount of work. Object classes and associations must be implemented


using a particular programming language, database or hardware
solution to produce a system that is reusable, extendible and robust.
The implementation language must include the capability to allow
mapping of OMT constructs into the language.

#4. Explain the different states of Activity Diagram.


ANSWER Activity Diagrams consist of activities, states and transitions between activities
and states.
Activity Diagrams describe
How activities are coordinated to provide a service the service can be
at different levels of abstraction
The events needed to achieve some operation, particularly where the
operation is intended to achieve a number of different things that
require coordination
How the events in a single use case relate to one another in
particular, use cases where activities may overlap and require
coordination
How a collection of use cases coordinate to create a workflow for an
organization.
Focus on the flow of activities involved in a single process
Show how activities depend on one another

Activity Diagram consists of following states:-

Initial State or Start Point


A small filled circle followed by an arrow represents the initial action state or
the start point for any activity diagram. For activity diagram using
swimlanes, make sure the start point is placed in the top left corner of the
first column.

Activity or Action State


An action state represents the non-interruptible action of objects. You can
draw an action state in Smart-Draw using a rectangle with rounded corners.

Object Flow
Object flow refers to the creation and modification of objects by activities. An
object flow arrow from an object to an action indicates that the action state
uses the object.
6

Decisions and Branching


A diamond represents a decision with alternate paths. When an activity
requires a decision prior to moving on to the next activity, add a diamond
between the two activities. The outgoing alternates should be labeled with a
condition or guard expression. You can also label one of the paths "else."

Guards
In UML, guards are a statement written next to a decision diamond that must
be true before moving next to the next activity. These are not essential, but
are useful when a specific answer, such as "Yes, three labels are printed," is
needed before moving forward.

Synchronization
A fork node is used to split a single incoming flow into multiple concurrent
flows. It is represented as a straight, slightly thicker line in an activity
diagram.
A join node joins multiple concurrent flows back into a single outgoing flow.
A fork and join mode used together are often referred to as synchronization.
7

Time Event
This refers to an event that stops the flow for a time; an hourglass depicts it.

Merge Event
A merge event brings together multiple flows that are not concurrent.

Sent and Received Signals


Signals represent how activities can be modified from outside the system.
They usually appear in pairs of sent and received signals, because the state
can't change until a response is received, much like synchronous messages
in a sequence diagram. For example, an authorization of payment is needed
before an order can be completed.

Swim-lanes
Swim-lanes group related activities into one column.

Interrupting Edge
An event, such as a cancellation, that interrupts the flow denoted with a
lightning bolt.

Final State or End Point


An arrow pointing to a filled circle nested inside another circle represents the
final action state.

#5. What are the models of DMBS? Explain any two models.

ANSWER A Database model defines the logical design of data. The model describes the
relationships between different parts of the data. Historically, in database design, three models
are commonly used. They are

Hierarchical Model - In this model each entity has only one parent
but can have several children. At the top of hierarchy there is only one
entity which is called Root.
Network Model - In the network model, entities are organized in a
graph, in which some entities can be accessed through several path
Relational Model - In this model, data is organized in twodimensional tables called relations. The tables or relation are related to
each other.

Hierarchical Data Model


A hierarchical database model is a data model in which the data is organized
into a tree-like structure. The data is stored as records which are connected
to one another through links. A record is a collection of fields, with each field
containing only one value. The entity type of a record defines which fields
the record contains.
Example of a hierarchical model
A record in the hierarchical database model corresponds to a row (or tuple) in
the relational database model and an entity type corresponds to a table (or
relation).
The hierarchical database model mandates that each child record has only
one parent, whereas each parent record can have one or more child records.
In order to retrieve data from a hierarchical database the whole tree needs to
be traversed starting from the root node.

Relational Data Model


10

The most popular data model in DBMS is the Relational Model. It is more
scientific a model than others. This model is based on first-order predicate
logic and defines a table as an n-ary relation.
The main highlights of this model are

Data is stored in tables called relations.

Relations can be normalized.

In normalized relations, values saved are atomic values.

Each row in a relation contains a unique value.

Each column in a relation contains values from a same domain.

#6. What are the rules for developing usability testing?


ANSWER Usability testing is a technique used in user-centered interaction
design to evaluate a product by testing it on users. This can be seen as an
irreplaceable usability practice, since it gives direct input on how real users
use the system. This is in contrast with usability inspection methods where
experts use different methods to evaluate a user interface without involving

11

users. Usability testing focuses on measuring a human-made products


capacity to meet its intended purpose.
1. The goal of user testing is exposing the flaws in your product. Try to avoid making your
testers feel like they are being tested. The user is always right; it is your product that is
being tested. Remember that you are totally biased because you have helped build the
product. Resist the urge to sell them on the product; just sit back, listen, and learn.
2. 5-8 people are probably enough. There are diminishing returns from
each test. Youll learn 90% of the lessons from 5-8 people as you would
from testing with 75 people. Test a small group, iterate and improve on
the issues they brought up, and then test with new people to learn
more.
3. Carefully construct realistic tasks you assign users to get the most
useful feedback. Broad tasks help you learn whether your general
product overview is going in the right direction.
4. Work from a prepared script. Its harder than it seems to run a good
test. A prepared script leads to smoother tests and lets you have
generally consistent tests between all users.
5. Get the participant to talk as much as possible. Encourage them to
think out loud so you can what their thought process is as they go
through the site.
6. Note your takeaways right after each test. Dont try to rely on your
notes or memory; debrief as a team in between each test.
7. Adjust your test if you see a given task isnt useful. Consistency is
preferable, but its more important that you are getting useful results.
If a bug in your product (or some other issue) is rendering a task
useless, then feel free to eliminate or adjust the task.
8. Take note of what you got right as well as what you got wrong.

12

Вам также может понравиться