0% found this document useful (0 votes)
23 views42 pages

Mca - Qbank-Cai-Mc4102-Oose-Sem I - Nov 24

The document is an assessment test question bank for the Object Oriented Software Engineering course at SRI Muthukumaran Institute of Technology. It includes various questions and answers related to object-oriented concepts, methodologies, and software development processes. The test covers topics such as object orientation, iterative development, use cases, and the differences between object-oriented analysis and design.

Uploaded by

abhisatheesan119
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views42 pages

Mca - Qbank-Cai-Mc4102-Oose-Sem I - Nov 24

The document is an assessment test question bank for the Object Oriented Software Engineering course at SRI Muthukumaran Institute of Technology. It includes various questions and answers related to object-oriented concepts, methodologies, and software development processes. The test covers topics such as object orientation, iterative development, use cases, and the differences between object-oriented analysis and design.

Uploaded by

abhisatheesan119
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

SRI MUTHUKUMARAN INSTITUTE OF TECHNOLOGY

CHIKKARAYAPURAM(NEAR MANGADU), CHENNAI-69


DEPARTMENT OF COMPUTER APPLICATIONS
ASSESSMENT TEST I – NOVEMBER 2024
BRANCH : I MCA/I SEMESTER DATE:12.09.2024
MC4102-OBJECT ORIENTED SOFTWARE ENGINEERING
QUESTION BANK
PART-A( 2 Marks)
1. What is an Object? How state of an object is represented?
Soln:-An object has a state and behavior. The state of an object represented by
stored values in fields (variables). The object's behavior is represented by
methods (functions) that work on the data. Before creating an object a class must
be defined. Objects are created from classes.
2. Present an outline of iterative development
Soln:-
Iterative development is a process in which the Evolving Solution, or a part of it,
evolves from a high-level concept to something with acknowledged business
value.
3. What is object orientation?
Soln:-Object-oriented refers to a programming language, system or software
methodology that is built on the concepts of logical objects. It works through the
creation, utilization and manipulation of reusable objects to perform a specific
task, process or objective.
4. How object oriented system developments is carried out?
Soln:-Object-Oriented Development uses "objects" to model real world objects. A
car or a laptop can be considered as object. While traditional programming views
software as a collection of functions, an object oriented system concentrates on
the objects that combines data and functionality together.
5. Draw Jacobson’s Use Case diagram.Soln:-

Jacobson’s Use Case diagram.


1
6. Define OOSE
Soln:-Object-Oriented Software Engineering (OOSE) is a software design
technique that is used in software design in object-oriented programming. OOSE
is developed by Ivar Jacobson in 1992. It includes a requirements, an analysis, a
design, an implementation and a testing model.
7. For what types of projects the waterfall life cycle model can be used?
Soln:-
Some of the industries that regularly use the waterfall model include
construction, IT and software development. As an example, the waterfall software
development life cycle, or waterfall SDLC, is widely used to manage software
engineering projects.
8. What do you mean Dynamic Binding?
Soln:-
Dynamic binding or late binding is the mechanism a computer program waits
until runtime to bind the name of a method called to an actual subroutine. It is
an alternative to early binding or static binding where this process is performed at
compile-time.
9. What is Object Oriented System development methodology?
Soln:-Object oriented system development methodology is a way to develop
software by building self contained modules or objects that can be easily
replaced, modified and reused.
10.What is an interactive development in OOSE?
Soln:-Iterative development is a way of breaking down the software
development of a large application into smaller chunks. In iterative
development, feature code is designed, developed and tested in repeated cycles.
11.What is the main advantage of object-oriented development?
Soln:-
• High level of abstraction
• Seamless transition among different phases of software development
• Encouragement of good programming techniques.
• Promotion of reusability.
12.How the objects & classes are identified in an object model?
Soln:-Object modelling develops the static structure of the software system in
terms of objects. It identifies the objects, the classes into which the objects can be

2
grouped into and the relationships between the objects. It also identifies the main
attributes and operations that characterize each class.
13. Why is Unified Process called as iterative?
Soln:-Unified Process is based on the enlargement and refinement of a system
through multiple iterations, with cyclic feedback and adaptation. The system is
developed incrementally over time, iteration by iteration, and thus this
approach is also known as iterative and incremental software development.
14.Define Use case.
Soln:-A use case is a collection of related success and failure scenarios that
describe an actor using a system to support a goal. Use cases are text documents,
not diagrams, and use-case modeling is primarily an act of writing text, not
drawing diagrams.
15.What are Actors?
Soln:-The users that interact with a system. An actor can be a person, an
organization, or an outside system that interacts with your application or system.
They must be external objects that produce or consume data.for example, a
cashier.
16. What is Object-Oriented Analysis?
Soln:-During object-oriented analysis there is an emphasis on finding and
describing the objects or concepts in the problem domain. For example, in the
case of the flight information system, some of the concepts include Plane, Flight,
and Pilot.
17.What is Object-Oriented Design?
Soln:-During object-oriented design (or simply, object design) there is an
emphasis on defining software objects and how they collaborate to fulfill the
requirements. The combination of these two concepts shortly known as object
oriented analysis and design.
18. Distinguish between method and message in object.
Soln:-Methods are similar to functions, procedures or subroutines in more
traditional programming languages. Messageessentially are non-specific function
calls. Method is the implementation. Message is the instruction. In an object
oriented system, a method is invoked by sending an object a message. An object
understands a message when it can match the message to a method that has the
same name as the message.

3
19.How to create an instance?
Soln:-Any message can be used to create an instance, but there is a convention in
the UML to use a message named create for this purpose. «create».
The create message may include parameters, indicating the passing of initial
values. This indicates, for example, a constructor call with parameters in Java.
20.What are the merits of incremental model?
Soln:-The incremental model can be adopted when tere are less number of
peopleinvolved in the project.Technical risks can be managed with each
increment.For a very small time span, at least core product can be delivered to
the customer.
21.What is meant by Generalization and Specialization?
Soln:-
The relationship between a subclass and an immediate superclass is called a
generalization. The subclass is called a specialization. A hierarchy with one or
more generalizations is called an inheritance hierarchy, a generalization hierarchy
or an is a hierarchy.
22.What is a scenario?
Soln:-A scenario is a specific sequence of actions and interactions between actors
and the system; it is also called a use case instance. It is one particular story of
using a system, or one path through the use case; for example, the scenario of
successfully purchasing items with cash, or the scenario of failing to purchase
items because of a credit payment denial.
23. What is the UML?
Soln:-The Unified Modelling Language is a visual language for specifying,
constructing and documenting the artifacts of systems.
24.What are the three ways and perspectives to Apply UML?
Soln:-Ways - UML as sketch, UML as blueprint, UML as programming language
Perspectives, Conceptual perspective, Specification (software) perspective,
Implementation (Software) perspective.
25.Define Software Process models
Soln:-A software process model is an abstraction of the software development
process. The models specify the stages and order of a process.
26.List out various states of process?
Soln:-Process goes through different states throughout the life cycle which are
called process states. New, Ready, Running, Waiting or Block, Terminated or
4
Completed, Suspend ready, and Suspend wait or blocked are different states
which process might go during the life cycle.
27.Difference between OOA and OOD
Soln:-Object-oriented analysis (OOA) applies object-modeling techniques to
analyze the functional requirements for a system. Object-oriented design (OOD)
elaborates the analysis models to produce implementation specifications. OOA
focuses on what the system does, OOD on how the system does it.
28.Define Service
Soln:-A service business is one in which the perceived value of the offering to the
buyer is determined largely by the services provided to him than the products
offered. This includes the business of all intangible services delivered to the
customer.
29.What do you mean subject in OO Modeling?
Soln:-
Object-oriented modeling (OOM) is the construction of objects using a collection
of objects that contain stored values of the instance variables found within an
object. Unlike models that are record-oriented, object-oriented values are solely
objects.
30.What is meant by Messages?
Soln:-Each message between objects is represented with a message expression
and small arrow indicating the direction of the message. Many messages may
flow along this link. A sequence number is added to show the sequential order of
messages in the current thread of control.

5
PART – B ( 13 MARKS)
1. Explain the various concept of Object Orientation in detail (13)
Soln:-

Object-oriented systems make use of abstraction in order to help make software


less complex.
An abstraction is something that relieves you from having to deal with details.
Object-oriented systems combine procedural abstraction with data abstraction.
Procedural abstraction From the earliest days of programming, software has
been organized around the notion of procedures (also in some contexts called
functions or routines). These provide procedural abstraction.
Data abstraction:-
Data abstractions can help reduce some of a system’s complexity. Records and
structures were the first data abstractions to be introduced. The idea is to group
together the pieces of data that describe some entity, so that programmers can
manipulate that data as a unit.
1.CLASSES AND OBJECTS
The object-oriented paradigm is an approach to the solution of problems in which
all computations are performed in the context of objects. The objects are
instances of programming constructs, normally called classes, which are data
abstractions and which contain procedural abstractions that operate on the
objects.
Objects
 An object is a chunk of structured data in a running software system.
 It can represent anything with which you can associate properties and behavior.
 Properties characterize the object, describing its current state.
 Behavior is the way an object acts and reacts, possibly changing its state. Figure
2.2 shows some of the objects and their properties that might be important to a
particular banking system. The notation used in Figure 2.2 to represent objects is
UML.
1.1. Classes and their instances
Classes are the units of data abstraction in an object-oriented program. More
specifically, a class is a software module that represents and defines a set of
similar objects, its instances. All the objects with the same properties and
behavior are instances of one class.
6
For example, Figure 2.3 can be represented as instances of a single class
Employee. Class Employee declares that all its instances have a name, a
dateOfBirth, an address and a position.

2. INSTANCE VARIABLES
A variable is a place where you can put data. Each class declares a list of variables
corresponding to data that will be present in each instance; such variables are
called instance variables.
2.1. Attributes and associations
There are two groups of instance variables, those used to implement attributes,
and those used to implement associations.An attribute is a simple piece of data
used to represent the properties of an object. For example, each instance of class
Employee might have the followingattributes:
■name
■dateOfBirth
■socialSecurityNumber
■telephoneNumber
■address
An association represents the relationship between instances of one class and
instances of another. For example, class Employee in a business application might
have the following relationships:
■supervisor (association to class Manager)
■tasksToDo (association to class Task)
2.2.Variables versus objects
 Variables that refer to objects are therefore often called references.
 During the execution of a program, a given variable may refer to different
objects. Furthermore, an object can be referred to by several different variables
at the same time. The type of a variable determines what classes of objects it may
contain.

7
 Variables can be local variables in methods; these are created when a method
runs and are destroyed when a method returns. However, objects temporarily
referenced by such variables may last much longer than the lifetime of the
method as long as some other variable also references the object.
Object References
In a program, you identify and address objects using unique object references.
Object references allow you to access the attributes and methods of an object. In
object-oriented programming, objects usually have the following properties:

2.3. Instance variables versus class variables


If you declare that a class has an instance variable called var, then you are saying
that each instance of the class will have its own slot named var. Therefore, for
example, each Employee has a supervisor.

3.Methods, operations and polymorphism


The word ‘method’ is used in object-oriented programs where the words
‘procedure’, ‘function’ or ‘routine’ might be used in other programs. Methods are
procedural abstractions used to implement the behavior of a class.
An operation is a higher-level procedural abstraction. It is used to discuss and
specify a type of behavior, independently of any code that implements that
behavior.
Polymorphism
Identical (identically named) methods behave differently in different classes. The
polymorphism is implemented by redefining methods during inheritance and by
using constructs called interfaces.
We call an operation polymorphic, if the running program decides, every time an
operation is called, which of several identically named methods to invoke. The
program makes its decision based on the class of the object in a particular
variable. Polymorphism is one of the fundamental features of the object oriented
paradigm.

4.ORGANIZING CLASSES INTO INHERITANCE HIERARCHIES:-


8
Inheritance:-You can use an existing class to derive a new class. Derived classes
inherit the data and methods of the superclass. However, they can overwrite
existing methods, and also add new ones.
If several classes have attributes, associations or operations in common, it is best
to avoid duplication by creating a separate superclass that contains these
common aspects.The relationship between a subclass and an immediate
superclass is called a generalization. The subclass is called a specialization. A
hierarchy with one or more generalizations is called an inheritance hierarchy, a
generalization hierarchy or an is a hierarchy.
The inheritance hierarchies are graphically as shown in Figure 2.4. The little
triangle symbolizes one or more generalizations sharing the same super class, and
points to the super class. It is clearest when such diagrams are drawn with the
super class at the top and the subclasses below, although other arrangements are
also allowed.

Encapsulation:-Objects restrict the visibility of their resources (attributes and


methods) to other users. Every object has an interface, which determines how
other objects can interact with it. The implementation of the object is
encapsulated, that is, invisible outside the object itself.
5. USES OF OBJECT ORIENTATION
Below are some of the advantages of object-oriented programming:
 Complex software systems become easier to understand, since object-oriented

structuring provides a closer representation of reality than other programming


techniques.

9
 In a well-designed object-oriented system, it should be possible to implement
changes at class level, without having to make alterations at other points in the
system. This reduces the overall amount of maintenance required.
 Using polymorphism and inheritance, object-oriented programming allows you

to reuse individual components.


 In an object-oriented system, the amount of work involved in revising and

maintaining the system is reduced, since many problems can be detected and
corrected in the design phase.

2. (i). Compare Component Based Development and Aspect Oriented Software


Development (6)
Soln:-
Component Based Development
 The component based development model incorporates many of the
characteristics of the spiral model. It is evolutionary in nature, Specialized process
model demanding an iterative approach to the creation of software. However, the
component based development model constructs applications from prepackaged
software components.
 Modelling and construction activities begin with the identification of candidate
components. These components can be designed as either conventional software
modules or object oriented classes or packages of classes. Regardless of the
technology that is used to create the components, the component based
development specialized process model incorporates the following steps.
1. Available component based products are researched and evaluated for the
application domain in question.
2. Component integration issues are considered.
3. A software architecture is designed to accommodate the components.
4. Components are integrated into the architecture.
5. Comprehensive testing is conducted to ensure proper functionality.
The component based development model leads to software reuse, and
reusability provides software engineers with a number of measurable benefits.
Aspect Oriented Software Development(AOSD)
 AOSD defines “aspects” that express customer concerns that cut across
multiple system functions, features, and information.

10
 When concerns cut across multiple system functions, features, and
information, they are often referred to as crosscutting concerns.
 Aspectual requirements define those crosscutting concerns that have an
impact across the software architecture.
 Aspect oriented software development (AOSD), often referred to as aspect
oriented programming (AOP), is a relatively new software engineering paradigm
that provides a process and methodological approach for defining, specifying,
designing, and constructing aspects.”
 Grundy provides further discussion of aspects in the context of what he calls
aspect oriented component engineering (AOCE):
 AOCE uses a concept of horizontal slices through vertically decomposed
software components, called “aspects,” to characterize cross-cutting functional
and non-functional properties of components.

2. (ii).Discuss Major Challenges in Software Development (7)


Soln:-

 Software development is an integral part of the industry and is directly


influenced by several factors, including growing complexities, market conditions,
changing technology trends as well as increasing software development
challenges.
 Software engineering teams in different domains and business landscapes face
varied challenges.
 For instance, software development projects are now increasingly governed by
the “build once, deploy everywhere” paradigm where a single application can run
across numerous platforms.
 Further complicating this issue is the need to integrate different programs and
maintain support throughout the product’s lifecycle. In addition, greater demands
have been placed on software developers forcing them to work within limited
timelines and limited budgets.
In order to drive efficiency in your software development projects and enhance
the reliability of your software development initiatives, it is important to
understand the major challenges in software development and devise a
systematic roadmap to cope with every challenge.
Rapid technology advancement
11
 Every technology advancement is a blessing for the IT industry.
 But at the same time, technology evolving at a phenomenal rate leads to an
added pressure for software development professionals to leverage these
upcoming technology trends in software product development to gain a cutting
edge over competitors and stand out in the market.
Increasing customer demands
 Software projects are generally conceptual and are aimed at designing and
developing software products that meet varied customer demands.
 To develop even the simplest application or product, developers must clearly
understand the underlying business concept and bring in the required features to
satisfy the growing customer demands.
Time limitations
 Software development is a time-game. Developers work under pressured
environments and strive to complete project requirements within strict and
scanty timelines.
 This is especially a challenge when working with international clients on
multiple time-zones.
 Time constraints often bring down efficiencies of development teams and lead
to mediocre quality software products in the end.
Limited infrastructure/resources
 Another challenge faced by majority of software development companies is a lack
of resources or IT infrastructure to execute projects effectively.
 This could mean a lack of high performance software development tools,
powerful computing platforms, inefficient data storage architectures or improper
networks and connectivity.
 Such hindrances bring down productivity and performance of software
development teams and impact the overall result.
Conflicts with software testing teams
 In a classic software development project, interpersonal conflicts occur inevitably
between software development and testing teams.
 Several factors contribute to such conflicts like working under high performance
pressure, different mindsets, difference in job roles and the very opposite nature
of development and testing.
 If not controlled and managed effectively, these conflicts could hamper the
overall project adversely.
12
To succeed in a dynamic software industry that is driven by changing technology
trends and challenged by multiple internal and external factors, your
development teams must have a clear understanding of the problems that lie
ahead of them and a roadmap to overcome them.
 Implementing software development best practices could help reduce these
problems to a large extent.
 Introducing a DevOps team to handle the testing-development crisis, adopting
Cloud for seamless network and infrastructure and constantly enhancing the
technical knowhow of your software development teams could help you fight
some of these major software development challenges and establish a good
position in the software market.

3. Explain about the classical life cycle model (13)


Soln:-
 The waterfall model is the classic model or oldest model and is known as mother
of all the model. It is widely used in government projects and many vital projects
in company.
 The waterfall model is also called as 'Linear sequential model' or 'Classic life
cycle model'.
 In this model, each phase is executed completely before the beginning of the
next phase. Hence the phases do not overlap in waterfall model. This model is
used for small projects.
 In this model, feedback is taken after each phase to ensure that the project is on
the right path.
 Testing part starts only after the development is completed.

Following are the phases in waterfall model:


13
i) Communication
The software development starts with the communication between customer and
developer.
ii) Planning
It consists of complete estimation, scheduling for project development.
iii) Modeling
 Modeling consists of complete requirement analysis and the design of the project
i.e algorithm, flowchart etc.
 The algorithm is the step-by-step solution of the problem and the flow chart
shows a complete flow diagram of a program.
iv) Construction
 Construction consists of code generation and the testing part.
 Coding part implements the design details using an appropriate programming
language.
 Testing is to check whether the flow of coding is correct or not.
 Testing also checks that the program provides desired output.
v) Deployment
 Deployment step consists of delivering the product to the customer and taking
feedback from them.
 If the customer wants some corrections or demands for the additional
capabilities, then the change is required for improvement in the quality of the
software.
Advantages of Waterfall model
 The waterfall model is simple and easy to understand, to implement, and use.All
the requirements are known at the beginning of the project, hence it is easy to
manage.
 It avoids overlapping of phases because each phase is completed at once.
 This model works for small projects where the requirements are easily
understood.
 This model is preferred for those projects where the quality is more important as
compared to the cost of the project.
Disadvantages of the Waterfall model:-
 This model is not good for complex and object oriented projects.

14
 In this model, the changes are not permitted so it is not fit for moderate to high
risk changes in project.
 It is a poor model for long duration projects.
 The problems with this model are uncovered, until the software testing.
 The amount of risk is high.

4. Explain Incremental Process Model with neat diagrams in detail (13)


Soln:-

1. Incremental Model
 The incremental model combines the elements of waterfall model and they are
applied in an iterative fashion.
 The first increment in this model is generally a core product.
 Each increment builds the product and submits it to the customer for suggesting
any modifications.
 The next increment implements the customer's suggestions and add additional
requirements in the previous increment. This process is repeated until the
product is completed.
For example, the word-processing software is developed using the incremental
model.

Following are the phases of Incremental model:


i) Communication
The software development starts with the communication between customer and
developer.
ii) Planning
It consists of complete estimation, scheduling for project development.
15
iii) Modeling:-Modeling consists of complete requirement analysis and the design
of the project like algorithm, flowchart etc.
The algorithm is a step-by-step solution of the problem and the flow chart shows
a complete flow diagram of a program.
iv) Construction
Construction consists of code generation and the testing part.
Coding part implements the design details using an appropriate programming
language.
Testing is to check whether the flow of coding is correct or not.
Testing also checks that the program provides desired output.
v) Deployment
Deployment step consists of delivering the product to the customer and taking
feedback from them.
If the customer wants some corrections or demands for the additional
capabilities, then the change is required for improvement in the quality of the
software.
Advantages of Incremental model
 This model is flexible because the cost of development is low and initial product
delivery is faster.
 It is easier to test and debug in the smaller iteration.
 The working software is generated quickly in the software life cycle.
 The customers can respond to its functionalities after every increment.
Disadvantages of the incremental model
 The cost of the final product may cross the cost initially estimated.
 This model requires a very clear and complete planning.
 The planning of design is required before the whole system is broken into smaller
increments.
 The demands of customer for the additional functionalities after every increment
causes problem in the system architecture.
2.RAD Model
 RAD is a Rapid Application Development model.

 Using the RAD model, software product is developed in a short period of time.

 The initial activity starts with the communication between customer and

developer.

16
 Planning depends upon the initial requirements and then the requirements are
divided into groups.
 Planning is more important to work together on different modules.

The RAD model consist of following phases:


1) Business Modeling
2) Data modelling
3) Process modelling
4) Application generation
5) Testing and turnover

1) Business Modeling
 Business modeling consists of the flow of information between various

functions in the project.


For example, what type of information is produced by every function and which
are the functions to handle that information.
 It is necessary to perform complete business analysis to get the essential

business information.

2) Data modeling
 The information in the business modeling phase is refined into the set of objects

and it is essential for the business.


 The attributes of each object are identified and defined the relationship

between objects.
17
3) Process modeling
 The data objects defined in the data modeling phase are changed to fulfil the

information flow to implement the business model.


 The process description is created for adding, modifying, deleting or retrieving a

data object.
4) Application generation
 In the application generation phase, the actual system is built.

 To construct the software the automated tools are used.

5) Testing and turnover


 The prototypes are independently tested after each iteration so that the overall

testing time is reduced.


 The data flow and the interfaces between all the components are fully tested.

Hence, most of the programming components are already tested.


Advantages of RAD Model
 The process of application development and delivery are fast.

 This model is flexible, if any changes are required.

 Reviews are taken from the clients at the staring of the development hence

there are lesser chances to miss the requirements.


Disadvantages of RAD Model
 The feedback from the user is required at every development phase.

 This model is not a good choice for long term and large projects.

5. Explain the various workflow (Discipline) of Unified Process in detail (13)


Soln:-
The Unified Process (UP), or Unified Software Development Process, is a iterative
and incremental software development framework from which a customized
process can be defined.
The framework contains many components and has been modified a number of
times to create several variations. The most popular variations include the
Rational Unified Process (RUP) and the Open Unified Process (OpenUP).
THE DISCIPLINES(also known as Workflows):-
The disciplines are:
1.4.1. Business Modeling
1.4.2. Requirements
1.4.3. Analysis and Design
18
1.4.4. Implementation
1.4.5. Testing
1.4.6. Deployment
1.4.7. Configuration and Change Management

1.4.1.BusinessModeling:-
 The Business Modeling discipline focuses on efforts to understand the
organization, its processes, and the problem domain. The discipline focuses on
understanding the following factors and how they may impact or relate to the
software being considered:
 Enterprise business rules
 Enterprise business process and domain model
 Enterprise mission and vision statement
 Organization model
1.4.2. Requirements:-
The requirements discipline in RUP is like the requirements discipline in pretty
much every other software process. The main difference is that RUP requirements
are highly focused in the form of UML models and Use Cases (both diagrams and
descriptions).
1.4.3.Analysis and Design:-
The Analysis and Design discipline named as the Solution Analysis and Design
discipline. This is because the requirements are analyzed from a solution design
perspective, rather than a requirements analysis perspective. Specific activities
that are part of this discipline include:
 Understanding and analyzing the requirements for the system
 Defining a candidate architecture for a system
 Constructing a proof-of-concept or prototype to validate a candidate
architecture
 Design of components, services, and/or modules
 Design of interfaces (network, user, and databases)
1.4.4. Implementation:-
The Implementation discipline consists of coding, unit testing, and integration of
the software.

19
1.4.5.Testing:- The Testing discipline is focused on quality assurance of the
software being released in that cycle or iteration. It includes such activities as:
 Planning test efforts
 Creating test cases
 Running tests
 Reporting defects
1.4.6. Deployment:-
The Deployment discipline is focused on planning the deployment of, and actually
deploying, the software that is being completed that cycle, phase or iteration. It
includes such activities as:
 Planning the deployment
 Developing support and operations materials
 Planning alpha, beta, and pilot testing efforts
1.4.7.Configuration and Change Management
The Configuration and Change Management discipline is focused on managing
change to the project’s work products. This includes such activities as:
 Managing change requests
 Setting up the Change Management process and environment
 Planning configuration control
 Monitoring and reporting the configuration status
 Managing baselines and releases
Project Management
The Project Management discipline is focused on standard project management
activities such as:
 Managing project staff
 Stakeholder coordination and management
 Managing project risks
 Project estimating, planning, and scheduling
 Iteration planning
 Project initiation and close-out

Environment
The Environment discipline is focused on supporting the overall project and
development efforts through managing environmental factors such as:
20
 Processes
 Standards
 Tools (hardware, software, etc.)

6. Discuss Object Oriented Design(OOD/Booch) Method in detail (13)


Soln:-
The Booch method is a method for object-oriented software development. It is
composed of an object modeling language an iterative object-oriented
development process, and a set of recommended practices The method was
authored by Grady Booch when he was working for Rational Software (acquired
by IBM), published in 1992 and revised in 1994. It was widely used in software
engineering for object-oriented analysis and design and benefited from ample
documentation and support tools.
Deliverable:-
We have found great value in building models that are focused upon the "things"
we find, in the problem space, forming what we refer to as an object-oriented
decomposition Fig.
Object-oriented analysis and design is the method that leads us to an object-
oriented decomposition. By applying object-oriented design, we create software
that is resilient to change and written with economy of expression. We achieve a
greater level of confidence in the correctness of our software through an
intelligent separation of its state space. Ultimately,
we reduce the risks that are inherent in developing complex software systems.

Figure . The Models of Object-Oriented Development

21
Because model building is so important to the systems, object-oriented
development offers a rich describe in Figure. The models of object-oriented
analysis and design reflect the importance of explicitly capturing both the class
and object hierarchies of the system under design. These models also cover the
spectrum of the important design decisions that we must consider in developing a
complex system, and so encourage us to craft implementations that embody the
five attributes of well-formed complex systems.

7. (i).ExplainHierarchical Object Oriented Design (HOOD) in detail (6)


Soln:-
 HOOD is a method of hierarchical decomposition of the design into software
units based on identification of objects, classes and operations reflecting problem
domain entities or more abstract objects related to digital programming entities.
 It is intended for the Architectural Design, Detailed Design and coding for
software to be developed in programming languages such as Ada, C, or FORTRAN,
as well as in object oriented languages such as C++, Ada95 or Eiffel.
 The HOOD method comprises textual and associated diagrammatic
representations allowing formal refinement, automated checking, user
customizable documentation generation and target language source code
generation.
 HOOD is thus the method of choice for large, long-lived projects where reuse,
reliability and maintenability are key issues.
 The UML wave has hidden the HOOD methods, but many UML profiles have
borrowed the best of HOOD (HRT-UML, AADL).

7(ii). Discuss Requirement Elicitation Techniques in detail (7)


Soln:-

ELICITATION TECHNIQUES:-
When the requirements sources have been identified the requirements engineer
can start eliciting requirements from them. It also means requirement discovery.
The Following elicitation techniques are shown in Fig.

22
:- Interviews are a ‘traditionsl’ means of eliciting requirements. It is
important to understand the advantages and limitations of interviews and how
they should be conducted.
Scenarios:-Scenarios are valuable for providing context to the elicitation of
user’s requirements. Recent modeling notations have attempted to integrate
scenario notations with object-oriented analysis techniques.
- Prototypes are a valuable tool for clarifying unclear requirements.
There is a wide range of prototyping techniques, which range from paper mock-
ups of screen designs to beta-test versions of software products. There is a strong
overlap with the use of prototypes for requirements validation.
-The purpose of these is to try to achieve a summative
effect whereby a group of people can bring more insight to their requirements
than by working individually. They can brainstorm and refine ideas that may be
difficult to surface using (e.g.) interviews.
- The requirements engineer learns about users’ tasks by
immersing themselves in the environment and observing how users interact with
their systems and each other. These techniques are relatively new and expensive
but are instructive because they illustrate that many user tasks and business
processes are too subtle and complex for their actors to describe easily.

8. Discuss in brief the different steps used in constructing object modeling


analysis phase of OMT technology. (13)
Soln:-
Object Modeling Technique (OMT) is real world based modeling approach
for software modeling and designing. It was developed basically as a method to
develop object-oriented systems and to support object-oriented programming. It
describes the static structure of the system.

23
Object Modeling Technique is easy to draw and use. It is used in many
applications like telecommunication, transportation, compilers etc. It is also used
in many real world problems. OMT is one of the most popular object oriented
development techniques used now-a-days. OMT was developed by James
Rambaugh.

Purpose of Object Modeling Technique:


 To test physical entity before construction of them.
 To make communication easier with the customers.
 To present information in an alternative way i.e. visualization.
 To reduce the complexity of software.
 To solve the real world problems.

1. Object Modeling Technique’s Models:


There are three main types of models that has been proposed by OMT:
1. Object Model:
Object Model encompasses the principles of abstraction, encapsulation,
modularity, hierarchy, typing, concurrency and persistence. Object Model
basically emphasizes on the object and class. Main concepts related with Object
Model are classes and their association with attributes. Predefined relationships
in object model are aggregation and generalization (multiple inheritance).
2. Dynamic Model:
Dynamic Model involves states, events and state diagram (transition diagram) on
the model. Main concepts related with Dynamic Model are states, transition
between states and events to trigger the transitions. Predefined relationships in
object model are aggregation (concurrency) and generalization.
3. Functional Model:
Functional Model focuses on the how data is flowing, where data is stored and
different processes. Main concepts involved in Functional Model are data, data
flow, data store, process and actors. Functional Model in OMT describes the
whole processes and actions with the help of data flow diagram (DFD).
2.Phases of Object Modeling Technique:
OMT has the following phases:
1. Analysis:
This the first phase of the object modeling technique. This phase involves the
24
preparation of precise and correct modelling of the real world problems. Analysis
phase starts with setting a goal i.e. finding the problem statement. Problem
statement is further divided into above discussed three models i.e. object,
dynamic and functional model.
2. System Design
This is the second phase of the object modeling technique and it comes after the
analysis phase. It determines all system architecture, concurrent tasks and data
storage. High level architecture of the system is designed during this phase.
3. Object Design:
Object design is the third phase of the object modelling technique and after
system design is over, this phase comes. Object design phase is concerned with
classification of objects into different classes and about attributes and necessary
operations needed. Different issues related with generalization and aggregation
are checked.
4. Implementation:
This is the last phase of the object modeling technique. It is all about converting
prepared design into the software. Design phase is translated into the
Implementation phase.

PART – C ( 14 MARKS)
1. Discuss about Software development, methodologies and activities in detail
25
(14)
Soln:-
 Software development is the computer programming, documenting, testing, and
bug fixing involved in creating and maintaining applications and frameworks
involved in a software release life cycle and resulting in a software product.
 Software can be developed for a variety of purposes, the three most common
being to meet specific needs of a specific
o client/business (the case with custom software),
o to meet a perceived need of some set of potential users (the case with
commercial and open source software),
o or for personal use (e.g. a scientist may write software to automate a mundane
task).
 Embedded software development, that is, the development of embedded
software such as used for controlling consumer products, requires the
development process to be integrated with the development of the controlled
physical product.
 System software underlies applications and the programming process itself,
and is often developed separately.
 There are many approaches to software project management, known as
software development life cycle models, methodologies, processes, or models.
 The waterfall model is a traditional version, contrasted with the more recent
innovation of agile software development.
1.1. Methodologies:-A software development methodology (also known as a software
development process, model, or life cycle) is a framework that is used
to structure, plan, and control the process of developing information systems.
 Most methodologies share some combination of the following stages of software
development:
 Analyzing the problem
 Market research
 Gathering requirements for the proposed business solution
 Devising a plan or design for the software-based solution
 Implementation (coding) of the software
 Testing the software
 Deployment
 Maintenance and bug fixing
26
These stages are often referred to collectively as the software development
lifecycle, or SDLC.

1.2. Software development activities


 Identification of need
 The sources of ideas for software products are legion. These ideas can
come from market research including the demographics of potential new
customers, existing customers, sales prospects who rejected the product, other
internal software development staff, or a creative third party.
 Ideas for software products are usually first evaluated by marketing
personnel for economic feasibility, for fit with existing channels distribution, for
possible effects on existing product lines, required features, and for fit with the
company’s marketing objectives.
 In a marketing evaluation phase, the cost and time assumptions become
evaluated. A decision is reached early in the first phase as to whether, based on
the more detailed information generated by the marketing and development
staff, the project should be pursued further.
 Students of engineering learn engineering and are rarely exposed to finance
or marketing. Students of marketing learn marketing and are rarely exposed to
finance or engineering.
 Planning
 Planning is an objective of each and every activity, where we want to discover
things that belong to the project.
 An important task in creating a software program is extracting the requirements
or requirements analysis.
 Customers typically have an abstract idea of what they want as an end result, but
do not know what software should do.
 Skilled and experienced software engineers recognize incomplete, ambiguous, or
even contradictory requirements at this point.
 Frequently demonstrating live code may help reduce the risk that the
requirements are incorrect.
 Once the general requirements are gathered from the client, an analysis of the
scope of the development should be determined and clearly stated. This is often
called a scope document.
 Designing
27
 Once the requirements are established, the design of the software can be
established in a software design document.
 This involves a preliminary, or high-level design of the main modules with an
overall picture (such as a block diagram) of how the parts fit together.
 The language, operating system, and hardware components should all be known
at this time. Then a detailed or low-level design is created, perhaps with
prototyping as proof-of-concept or to firm up requirements.
 Implementation, testing and documenting
 Implementation is the part of the process where software engineers actually
program the code for the project.
 Software testing is an integral and important phase of the software development
process. This part of the process ensures that defects are recognized as soon as
possible.
 Documenting the internal design of software for the purpose of future
maintenance and enhancement is done throughout development. This may also
include the writing of an API, be it external or internal.
 The software engineering process chosen by the developing team will determine
how much internal documentation (if any) is necessary. Plan-driven models (e.g.,
Waterfall) generally produce more documentation than Agile models.
 Deployment and maintenance
 Deployment starts directly after the code is appropriately tested, approved for
release, and sold or otherwise distributed into a production environment.
 This may involve installation, customization (such as by setting parameters to
the customer’s values), testing, and possibly an extended period of evaluation.
Software training and support is important, as software is only effective if it is
used correctly.
 Maintaining and enhancing software to cope with newly discovered faults or
requirements can take substantial time and effort, as missed requirements may
force redesign of the software.

2. Explain Prototype and Spiral model with neat diagrams in detail (7+7)
Soln:-
1. PROTOTYPE MODEL
 Prototype is defined as first or preliminary form using which other forms are

copied or derived.
28
 Prototype model is a set of general objectives for software.
 It does not identify the requirements like detailed input, output.

 It is software working model of limited functionality.

 In this model, working programs are quickly produced.

The different phases of Prototyping model are shown in Fig

 Communication
In this phase, developer and customer meet and discuss the overall objectives of
the software.
 Quick design
 Quick design is implemented when requirements are known.

 It includes only the important aspects i.e input and output format of the

software.
 It focuses on those aspects which are visible to the user rather than the detailed

plan.
 It helps to construct a prototype.

 Modeling quick design

 This phase gives the clear idea about the development of software as the

software is now constructed.


 It allows the developer to better understand the exact requirements.

 Construction of prototype

The prototype is evaluated by the customer itself.


 Deployment, delivery, feedback:-If the user is not satisfied with current

prototype then it is refined according to the requirements of the user.

29
 The process of refining the prototype is repeated till all the requirements of
users are met.When the users are satisfied with the developed prototype then
the system is developed on the basis of final prototype.

Advantages of Prototyping Model


 In the development process of this model users are actively involved.

 The development process is the best platform to understand the system by the

user.
 Earlier error detection takes place in this model.

 It gives quick user feedback for better solutions.

 It identifies the missing functionality easily. It also identifies the confusing or

difficult functions.
Disadvantages of Prototyping Model
 The client involvement is more and it is not always considered by the developer.

 It is a slow process because it takes more time for development.

 Many changes can disturb the rhythm of the development team.

 It is a throw away prototype when the users are confused with it.

2. SPIRAL MODEL
 It is a combination of prototype and sequential or waterfall model.

 This model was developed by Boehm.

 It is used for generating the software projects. This model is a risk driven

process model.
 Every phase in the Spiral model is start with a design goal and ends with the

client review.
 The development team in this model begins with a small set of requirements

and for the set of requirements team goes through each development phase.
 The development team adds the functionality in every spiral till the application

is ready.
Following are the steps involved in spiral model:

30
Phases of Spiral model are shown in Fig
1) Planning
2) Risk Analysis
3) Engineering
4) Evaluation

1) Planning
 This phase, studies and collects the requirements for continuous
communication between the customer and system analyst.
 It involves estimating the cost and resources for the iteration.

2) Risk Analysis:-This phase, identifies the risk and provides the alternate
solutions if the risk is found.

3) Engineering

31
In this phase, actual development i.e coding of the software is completed. Testing
is completed at the end of the phase.

4) Evaluation
Get the software evaluated by the customers. They provide the feedback before
the project continues to the next spiral.
Advantages of Spiral Model
 It reduces high amount of risk.

 It is good for large and critical projects.

 It gives strong approval and documentation control.

 In spiral model, the software is produced early in the life cycle process.

Disadvantages of Spiral Model


 It can be costly to develop a software model.

 It is not used for small projects.

3. Explain Iterative model in detail (7)


 In Iterative model, the large application of software development is divided into

smaller chunks and smaller parts of software which can be reviewed to recognize
further requirements are implemented. This process is repeated to generate a
new version of the software in each cycle of a model.
 The Iterative Model allows the accessing earlier phases, in which the variations

made respectively. The final output of the project renewed at the end of the
Software Development Life Cycle (SDLC) process is shown in Fig.

32
The various phases of Iterative model are as follows:

1. Requirement gathering & analysis: In this phase, requirements are gathered


from customers and check by an analyst whether requirements will fulfil or not.
Analyst checks that need will achieve within budget or not. After all of this, the
software team skips to the next phase.

2. Design: In the design phase, team design the software by the different
diagrams like Data Flow diagram, activity diagram, class diagram, state transition
diagram, etc.

3. Implementation: In the implementation, requirements are written in the


coding language and transformed into computer programmes which are called
Software.

4. Testing: After completing the coding phase, software testing starts using
different test methods. There are many test methods, but the most common are
white box, black box, and grey box test methods.

5. Deployment: After completing all the phases, software is deployed to its work
environment.

6. Review: In this phase, after the product deployment, review phase is


performed to check the behaviour and validity of the developed product. And if
there are any error found then the process starts again from the requirement
gathering.

7. Maintenance: In the maintenance phase, after deployment of the software in


the working environment there may be some bugs, some errors or new updates
are required. Maintenance involves debugging and new addition options.

Advantages
 Produces working software rapidly and early in the software life cycle.
 This model is easy to test and debug in a smaller iteration.
 It is less costly to change scope and requirements.

DISADVANTAGES
33
 The system architecture is costly.
 This model is not suitable for smaller projects.

4. Discuss elaborately the COAD and Yourdan method. (14)


Soln:-
1.Architecture
 The identification of objects and classes is a crucial task in object-oriented
analysis and design, but many techniques ignore this issue.
 A different approach is to use a method such as OOA as the first part of the
design process and then to use another object-oriented design method for the
later parts of the process.
 OOA helps designers identify the detailed requirements of their software,
rather than how the software should be structured or implemented.
 It aims to describe the existing system and how it operates, and how the
software system should interact with it. One of the claims of OOA is that it helps
the designer to package the requirements of the system in an appropriate
manner (for object-oriented systems) and to reduce the risk of the software
failing to meet the customer's requirements.
 In effect, OOA helps to build the Object Model that we look at in more detail
when we look at OMT.
2.Method:-
There are five activities within OOA which direct the analyst during the analysis
process:
• Finding classes and objects in the domain.
• Identifying structures (amongst those classes and objects). Structures are
Relationships such as is-a andpart-of.
• Identifying subjects (related objects).
• Defining attributes (the data elements of the objects).
• Defining services (the active parts of objects that indicate what the object
does).
 These are not sequential steps. As information becomes available, the analyst
performs the appropriate activity.
 The intention is that analysts can work in whatever way the domain experts
find it easiest to express their knowledge.

34
 Thus, analysts may go deeper into one activity than the others as the domain
experts provide greater information in that area.
 Equally, analysts may jump around between activities, identifying classes one
minute and services the next.
3.Deliverable:-
 Coad and Yourdon propose a model, or architecture, for an object-oriented
system that is partitioned ``horizontally'' into layers and ``vertically''
into components, as shown in the following figure (which approximates Figure
2.4, on page 26 of Coad and Yourdon's Object-Oriented Design).

Layers
Coad and Yourdon recommend use of the same set of layers for a design as they
do for a class diagram in their object-oriented analysis:

 Subject Layer
 Class & Object Layer
 Structure Layer
 Attribute Layer
 Service Layer

 As for object-oriented analysis (and the class diagram developed during it),
the subject layer would show the subjects included in the system, the ``class &
object'' layer would show the system's classes and objects, the structure layer
would display the system's generalization-specialization and whole-
part structures, the attribute layer would show attributes and instance
connection, and, finally, the service layer would display services and message
connections.
 Coad and Yourdon recommend the use of a CASE tool that would allow you to
select which layers you wish to see, when viewing the model of the system that's
being developed.

35
Components
 Coad and Yourdon recommend that an object-oriented system include
a problem domain component, a human interaction component, a task
management component, and a data management component. Each is described
below.
a.Problem Domain Component
The problem domain component includes the ``problem domain'' classes that
were identified during object-oriented analysis. However, changes might be made
in order to take advantage of ``reusable'' classes that are already available (and
which may need to be added using generalization-specialization structures), as
well as changes needed to improve performance, accommodate the programming
language that will be used to implement the system (and which, for example,
might not support the kind of inheritance that might be shown on the class
diagram produced during object oriented analysis), and to connect the problem
domain classes to other components (perhaps, most notably, the data
management component).
b.Human Interaction Component
Coad and Yourdon assume that a graphical user interface will be used for the
system that's to be developed. Their ``human interaction'' component includes
classes for windows and their components. You should be able to use (and
customize) classes from a ``Graphical User Interface'' class library, in order to
develop many of the classes needed for this component of your system.
Graphical user interface libraries are currently not standardized (at all), so the
details concerning them will vary from system to system. However, the Java user
interface library is currently regarded as being well designed, and information
about it is freely available.
c.Task Management Component
A task can be defined as a process, or a ``stream of activity.'' Certain kinds of
systems require multiple tasks, including (but not limited to) systems that need to
monitor or control multiple devices simultaneously, systems with certain kinds of
user interfaces, and systems that can be used by multiple users, simultaneously.
Coad and Yourdon give a small set of properties or types of tasks that can be used
to identify the services that their classes must provide, and provide a very simple
``template'' (or pattern) for a task management subsystem, consisting of a whole-

36
part structure, showing that a ``Task Coordinator'' object has zero or more ``Task''
objects as components, and can send messages to them.
Again, you can Coad and Yourdon's book for additional details.
d.Data Management Component
The data management component ``provides the infrastructure for the storage
and retrieval of objects from a data management subsystem.'' It might provide an
interface with a relational or object-oriented data base system.
Coad and Yourdon give a small amount of information for the design of this
component, assuming that a ``flat file'' system will be used for storage, that a
relational data base package will be used, and, finally, under the assumption that
an object-oriented data base package will be used.

5. Elaborate the various testing methods of Agile Process model in detail (14)
Soln:-
 The meaning of Agile is swift or versatile. "Agile process model" refers to a
software development approach based on iterative development.
 Agile model is a combination of incremental and iterative process models.
 This model focuses on the users satisfaction which can be achieved with quick
delivery of the working software product.
 Agile model breaks the product into individual iterations.
 Every iteration includes cross functional teams working on different areas such
as planning, requirements, analysis, design, coding, unit testing and acceptance
testing.
 At the end of an iteration working product shows to the users.

37
 With every increment, features are incremented and the final increment hold
all the features needed by the customers.
 The iterations in agile process are shorter in duration which can vary from 2

weeks to 2 months.
1.AGILE TESTING METHODS
1. Scrum
2. Crystal
3. Dynamic Software Development Method(DSDM)
4. Feature Driven Development(FDD)
5. Lean Software Development
6. eXtreme Programming(XP)

1.Scrum
SCRUM is an agile development process focused primarily on ways to manage
tasks in team-based development conditions.
There are three roles in it, and their responsibilities are:
o Scrum Master: The scrum can set up the master team, arrange the meeting and

remove obstacles for the process


o Product owner: The product owner makes the product backlog, prioritizes the

delay and is responsible for the distribution of functionality on each repetition.


o Scrum Team: The team manages its work and organizes the work to complete

the sprint or cycle.


38
2.Crystal:- There are three concepts of this method-
 Chartering: Multi activities are involved in this phase such as making a
development team, performing feasibility analysis, developing plans, etc.
 Cyclic delivery: under this, two more cycles consist, these are:
 Team updates the release plan.
 Integrated product delivers to the users.
 Wrap up: According to the user environment, this phase performs deployment,
post-deployment.

3.Dynamic Software Development Method(DSDM):


DSDM is a rapid application development strategy for software development and
gives an agile project distribution structure. The essential features of DSDM are
that users must be actively connected, and teams have been given the right to
make decisions. The techniques used in DSDM are:
 Time Boxing
 MoSCoW Rules
 Prototyping
The DSDM project contains seven stages:
1. Pre-project
2. Feasibility Study
3. Business Study
4. Functional Model Iteration
5. Design and build Iteration
6. Implementation
7. Post-project

4.Feature Driven Development(FDD):


This method focuses on "Designing and Building" features. In contrast to other
smart methods, FDD describes the small steps of the work that should be
obtained separately per function.
5.Lean Software Development:-Lean software development methodology follows
the principle "just in time production." The lean method indicates the increasing
speed of software development and reducing costs. Lean development can be
summarized in seven phases.
39
1. Eliminating Waste
2. Amplifying learning
3. Defer commitment (deciding as late as possible)
4. Early delivery
5. Empowering the team
6. Building Integrity
7. Optimize the whole

6.eXtreme Programming(XP):-This type of methodology is used when customers


are constantly changing demands or requirements, or when they are not sure
about the system's performance.
Advantage(Pros) of Agile Method:
1. Frequent Delivery
2. Face-to-Face Communication with clients.
3. Efficient design and fulfils the business requirement.
4. Anytime changes are acceptable.
5. It reduces total development time.
Disadvantages(Cons) of Agile Model:- Due to the shortage of formal documents,
it creates confusion and crucial decisions taken throughout various phases can be
misinterpreted at any time by different team members.Due to the lack of proper
documentation, once the project completes and the developers allotted to
another project, maintenance of the finished project can become a
difficulty.
Sri Muthukumaran Institute of Technology
Chikkarayapuram, Near Mangadu, Chennai – 600 069.
Academic Year 2024-2025 / Odd Semester
Assessment Test – I – September 2024
Branch & Sem : IIMCA/I SEMESTER Date: 12.09.2024
MC4102- OBJECT ORIENTED SOFTWARE ENGINEERING
QUESTION BANK
PART-A(2 Marks)
1. Define OOSE
2. What is object orientation?
3. What is an Object? How state of an object is represented?
4. What is Object Oriented System development methodology?
40
5. What is an interactive development in OOSE?
6. Draw Jacobson’s Use Case diagram.
7. Present an outline of iterative development
8. How object oriented system developments is carried out?
9. For what types of projects the waterfall life cycle model can be used?
10.What do you mean Dynamic Binding?
11.What is the main advantage of object-oriented development?
12.Why is Unified Process called as iterative?
13.What are Actors?
14.What is Object-Oriented Analysis?
15.Distinguish between method and message in object.
16.How the objects & classes are identified in an object model?
17.Define Use case.
18.What is Object-Oriented Design?
19.How to create an instance?
20.What are the merits of incremental model?
21.What is meant by Generalization and Specialization?
22.What is a scenario?
23.What is the UML?
24.List out various states of process?
25.Difference between OOA and OOD
26.What are the three ways and perspectives to Apply UML?
27.Define Software Process models
28.Define Service
29.What do you mean subject in OO Modelling?
30.What is meant by Messages?
PART-B(13 Marks)
1. (i) Compare Component Based Development and Aspect Oriented Software
Development (6)
(ii)Discuss Major Challenges in Software Development (7)
2. Explain Incremental Process Model with neat diagrams in detail (13)
3. Explain the various concept of Object Orientation in detail (13)
4. Explain about the classical life cycle model (13)
5. Discuss Object Oriented Design(OOD/Booch) Method in detail (13)
6. Explain the various workflow (Discipline) of Unified Process in detail (13)
41
7. (i).Explain Hierarchical Object Oriented Design (HOOD) in detail (6)
(ii).Discuss Requirement Elicitation Techniques in detail (7)
8. Discuss in brief the different steps used in constructing object modeling
analysis phase of OMT technology. (13)
PART-C(14 Marks)
1. Explain Prototype and Spiral model with neat diagrams in detail (14)
2. Discuss elaborately the COAD and Yourdan method. (14)
3. Discuss about Software development, methodologies and activities in detail (14)
4. Evaluate the various testing methods of Agile Process model in detail (14)

42

You might also like