Vous êtes sur la page 1sur 20

What is UML?

UML is Unified Modeling Language.

Graphical language for visualizing artifacts of the system.

Allow to create a blue print of all the aspects of the system.

Define modeling in UML and it advantages.

Model is a simplification of reality.

Blueprint of the actual system.

Specify the structural and behavior of the system.

Templates for designing the system.

Helps document the system.

What are the three types of modeling in UML?


Structural, behavioral, and architectural.

What are the different views in UML?

Use Case view - Presents the requirements of a system.

Design View - Capturing the vocabulary.

Process View - Modeling the systems processes and threads.

Implementation view - Addressing the physical implementation of the system.

Deployment view - Model the components required for deploying the system.

Define SDLC?

SDLC is Software Development Life Cycle.

SDLC of a system included processes like Use case driven, Architecture centric, Iterative and Incremental.

This Life cycle is divided into phases.

Phase is a time span between two milestones.

The milestones are Inception, Elaboration, Construction, and Transition.

Process Workflows that evolve through these phase are Business Modeling, Requirement gathering,
Analysis and Design. Supporting Workflows are configuration, change management, and project
management.

Explain the types of diagrams in UML.


We have nine types of diagram in UML.
Use Case Diagram
Use Case Diagram describes HOW the system works. It identifies the primary elements and processes that form
the system. It shows actors and their roles
Class Diagram
This diagram explores detail design of the system. The class diagram is designed using Use Case diagram. We can
identify all Nouns in use cases as classes and verbs as method of the classes.
Object diagram
This diagram represents the state of classes in the system and their relationships or associations at a specific point of
time.
State Diagram
This diagram represents different states that objects in the system undergo during their life cycle.
Sequence diagram
This diagram is used to explore logic of complex operations, function or procedure. In this diagram, sequence of the
interactions between the objects is represented step by step.
Collaboration diagram
This diagram groups together the interaction between different objects.
Activity diagram
Activity diagram gives detail view of the business logic.
Deployment diagram
It shows deployment view of the system. It shows how hardware and software works together to run system.

What are the advantages of using UML?


UML breaks the complex system into discrete pieces that can be understood easily.
Handover the system to new team becomes easier.
Complex system can be understood by the disparate developers who are working on different platforms.
UML model is not a system or platform specific. It unifies all disparate developers under one roof.

Building Block:
Things
Structural Things
Behavioral things
Grouping things
Annotational things

Relationships
Dependency
Association
Generalization
Realization

Diagram
Class Diagram
Object Diagram
Use case Diagram
Sequence Diagram
Collaboration Diagram
Statechart Diagram
Activity Diagram
Component Diagram
Deployment Diagram

Things:
Structural things
Class
Interface
Collaboration
Use case
Active class
Component
Node

Behavioral things
Message
State
Grouping things
Package
Anootational things
Notes

Relationships:
Dependency
Dependency is the relationship between two things in which a change in one thing may affect the other thing, but not
necessarily the reverse. Graphically, it can be represented as a dashed directed line, directed to the thing being
depended on.
Association
An association is a relationship that connects classes. Example of association is relationship between person and
company. An association is rendered as solid line.
Adornments of association
Name: You can use Name to specify the nature of association
Role: Each class has specific role that participates in the relationship. We can specify role to the classes involve in
the relationship.
Multiplicity: It represents how many objects may be connected across an instance of an association.
Aggregation: It implies whole/part relationship where one class represents larger thing which consists of smaller
things.
Generalization
In this type of relationship, the child shares the structure and behavior of the parent. It is represented as a solid line
with a hollow arrowhead pointing to the parent.
Realization
A realization is a relationship where one class specifies a contract which another class carries out. This kind of
interface can be found out between the interface and the class.
QUESTION - What are Relationships in UML?
ANSWER - Dependencies, Generalization, and Association.
Dependencies -a change in specification of one thing may affect another thing.
Generalization-class subclass scenario, one entity inherits from other.
Associations-a room has walls, person works for a company.

Diagram:
Class Diagram
Object Diagram
Use case Diagram

Sequence Diagram
Collaboration Diagram
Statechart Diagram

Activity Diagram
Component Diagram
Deployment Diagram

QUESTION - Define diagrams in UML?


ANSWER - Graphical representation of a set of elements.
QUESTION - Mention the different kinds of modeling diagrams used in UML?
ANSWER - Modeling diagrams that are commonly used are
Use case diagram, Class Diagram, Object Diagram,
Sequence Diagram, statechart Diagram, Collaboration Diagram,
Activity Diagram, Component diagram, Deployment Diagram.
QUESTION - How are the diagrams divided in UML?
ANSWER - The nine diagrams are divided into static diagrams and dynamic diagrams.
Static Diagrams (Structural Diagram): Class diagram, Object diagram, Component Diagram, Deployment diagram.
Dynamic Diagrams (Behavioral Diagrams): Use Case Diagram, Sequence Diagram, Collaboration Diagram, Activity
diagram, Statechart diagram.

Relationship Dependancy
Dependency is the relationship between two things in which a change in one thing may affect the other thing, but not
necessarily the reverse. Graphically, it can be represented as a dashed directed line, directed to the thing being
depended on.

Relationship Association
An association is a relationship that connects classes. Example of association is relationship between person and
company. An association is rendered as solid line.
Adornments of association
Name: You can use Name to specify the nature of association.
Role: Each class has specific role that participates in the relationship. We can specify role to the classes involve in
the relationship.
Multiplicity: It represents how many objects may be connected across an instance of an association.
Aggregation: It implies whole/part relationship where one class represents larger thing which consist of smaller
things.

Relationship Generalization
In this type of relationship, the child shares the structure and behavior of the parent. It is represented as a solid line
with a hollow arrowhead pointing to the parent.

Class Diagram
Class diagram represents a set of classes, interfaces and collaborations and their relationships.
Class diagram includes classes, interfaces, collaborations and their relationships.
It can be used to model
Collaboration of classes,
Database schema.

Object Diagram
Object diagram represents a set of objects and their relationships. It involves objects and links in the diagram. An
object diagram can be understood as an instance of a class diagram.
It is used to model object structure.

Sequence Diagram
Sequence Diagram shows structural organization of the objects that send and receive messages.
A sequence diagram emphasizes the time ordering of messages. The object that initiates the interaction placed at the
left and more subordinate objects to the right.

Collaboration Diagram
Collaboration Diagram represents organization of the object that participates in an interaction. We use links along
with messages that connect objects.

Statechart Diagram
Startchart Diagram represents a state machine, shows the flow of control from state to state. A state machine is the
sequences of state an object goes through during its lifetime in response to events.

Activity Diagram
An activity diagram represents the flow from activity to activity. It is used to model dynamic aspects of the systems.
It is just like flowchart that shows flow of control from activity to activity. Activities ultimately result into actions.
Activity diagram includes
Activity states and Action states
Transition
Objects.
Common use of activity diagrams are
To model a workflow: In this type, object flow is represented.
To model an operation: In this, operations are important that are shown as flowchart.
Define Activity diagram - Aug 12, 2009 at 10:00 AM by Shuchi Gauri

Define Activity diagram.


They provide an overview of the system. They describe the business rules, use cases, processes with decision points
and alternate flows, parallel operation in pictorial format. They make complex words easier to understand.

Componant Diagram
Component diagram represents set of components and their relationships. It basically includes components,
interfaces and their relationships in the diagram.
We can use this type of diagram in
Modeling source code,
Modeling executable releases,
Modeling Physical databases,
Modeling adaptable system.

Explain all elements of a Component diagram.


Elements of a component diagram:
Rectangle: A single component is described using a rectangle and having the components name inside it.
<<Component>>Component Name
Additional compartments: Additional compartments are stacked below the component name.

Interfaces provided/required: Another compartment exists for displaying the interface provided and required by the
component.

Relationships: A lollipop and socket notation is used along with showing dependency arrows. Dependency arrow
points towards the needed socket and arrowhead connects with providers lollipop.
Subsystem: A subsystem is represented using a rectangle with stereotype <>subsystem name.

Deployment Diagram
Deployment Diagram shows the configuration of run time processing nodes and the components that live on them. It
is used for modeling topology of the hardware on which your system executes.
Contents of the diagram are
Nodes,
Dependency.
We can use this diagram in modeling
Client/Server systems,
Modeling fully distributed systems,
Modeling embedded systems.

Use Case

A use case diagram depicts different users of the system and the functions of the system. Actors interact
with a use case and the functions are called as use cases. Use cases diagrams describe the interaction
between the actor and the use case.

Use case diagram expose the requirements of the system.

For e.g. a use case diagram for an ATM would involve the actor to be ATM and the user. Use cases could
be, withdraw money, deposit cheque

Class diagrams

Class diagrams shows the classes used in the system. Each class has some properties and operations.
Relationships between the classes are shown in class diagram. Different types of relationships exist
between the classes. It is a static view of system used to assist in modeling.

Association is allowing instance of object to perform an action on its behalf. E.g. A Student updates his Daily
task. Here Student and Task are the classes while update is the relation.

Aggregation is best described as has a relationship. E.g. an employee has a task.

Composition is a more specific representation of Aggregation having a multiplicity. Eg. Employees of


Project1 have a Login task.

Generalization relationship says that one class may have more related classes. The main class is the super
class while the related classes are the subtypes.

E.g. Person is the main class. Employee and manager are the sub classes.

Realization exists between two classes when one of them must realize, or implement, the behavior specified
by the other. E.g. Employee daily tasks are updated by the Manager.

A Dependency relationship is when any change made to one class/interface cause the behavior of some
other class to change. E.g. changing task definition will change the employee status.

The multiplicity of the association denotes the number of objects that can participate in then relationship.
E.g. an employee will update one task, but the task is updated by multiple employees. The common
multiplicities are 0..1, 1, 0..*,1..*

Object diagrams & filmstrips

Object diagrams are a more refined and concrete representation of a class diagram. It helps to view the
objects of the classes and the relationship between the objects. They help the user understand the complex
relationships between objects. To understand this, they are used to capture snapshots of a particular time
when or situation during program execution. Each object has an instance name and some attributes.

E.g. An Object Company will have instance name XYZ with attributes company_size, company_location
(company_name: Company). Another object will be employee with instance name as name of employee and
attributes employee_name, employee_age (employee_name : Employee)

Sequence of object diagrams are referred to as Film strips. This is because the object diagram is considered
as a snapshot. Like snapshot, an object diagram is taken for a particular situation.

Activity diagrams

Activity diagrams show the activities of a particular operation in the system. The activity diagram consists
of an initial mode; point from where the activity begins, activities involved and an activity final mode; point
where the activities end.

Activity diagrams describe the complete flow of the system and help to take actions. Fork and Join are two
very important concepts of the system. When one activity is split into sub activities it shows a Fork. When

two or more activities join to form one activity it is called as a JOIN. Similar to flow charts, Activity diagrams
can also have a decision box (Diamond).

E.g. An activity of an employee updating a task. Here, the initial mode is Receive task. Receive task can be
split into Fill task and Update task (FORK). Update task can be split into Update task weekly and update
task monthly. These two tasks can JOIN to an activity Submit task. Here, Submit task is the Final
mode.

State chart diagrams

State diagrams are used to show the different states a class or object can go through. When a state
changes it means a transition has occurred. An event may cause a transition to occur. A state represents the
state of an object or class. An arrow indicates the transition from one state to another. An event may also
cause a message or signal to be sent across <>. When a state is in wait, it is called as a history state (H).

E.g. A state diagram for a Computer will be. Start -> Boot ->Login > Use

Packages & model management

Packages in UML organize different structural or behavioral features of the system into groups. These
features are known as model elements. Packages makes UML diagram easy to understand. Packages are
shown as a file folder in UML. Packages can be used in almost all diagrams and has a unique name.

Model Management aims to assist the model driven applications like UML, DFDs to merge two or more
models. A merge, which returns an integration of two models based on a mapping. Model Management
needs to be generic.

User Experience Modeling

Designing a model based on User experiences is termed as user experience modeling. Based on the users
past experience using a similar application, a model can be designed. This may include observing users in
context, observing what people say and do. It helps to transform and redefine this user experience. The user
model considers the goals of the user, what the user expects from the system. This helps in designing a
model best suited for the user needs.

E.g. designing a model for a web application. This will involve analysis user experiences on the concept.
Kind of interface and look and feel he expects. Functionality he expects the system to deliver.

Business Modeling
Business modeling is used to represent various features, strategies, offerings, practices of a business. From the
perspective of a system, it helps improve the software development process. It may also focus on the internal working
of the business requirements. A business model helps an organization to get revenues. Business modeling comes
into play when new and innovative ideas needs to be implemented for competition. Almost all UML diagrams can be
used for Business modeling. Using UML to model the business and requirements can help to solve problems in the
right way.

Enterprise Architecture
Enterprise architecture describes the practices used for documenting business strategies, business models,
requirements, policies etc. Enterprise architecture can be managed using different tools available in the market.
These tools help to manage complex information, design software, requirements management etc. Business
architecture improves decision making, adaptability to changing demands or market conditions, reduction of

inefficient and redundant processes. Structure and operation of an organization is well defined using Enterprise
architecture.

Iterative & incremental development


Iterative and incremental development involves repeating a set of activities (cyclic), evaluating output and
incrementing. Output of an increment may not necessarily result in an increment. Iteration will help to improve the
process. Once the process is improved as expected, an increment is done. Iterative & incremental development helps
to determine flaws in the system.
Procedure begins with initial planning of requirements, followed by Analysis and Design, Implementation, Testing,
evaluation and deployment. A project control list is used for iteration process which describes all the tasks. This list is
revised constantly on analysis. If the outcome of any task is not satisfactory, redesign or reimplementation is done
else an increment is done. The cycle should easily be adaptable to modifications. As the iterations increase the
system can adapt modifications easily.

Change management:
Change management involves managing of changes in the system. Managing changes would involve Identifying the
change, analyzing, evaluation of change, plan, implement, Review and close change. Identifying change plays an
important role in initiating the change management. Change could either be a new request or requirement or change
in an existing requirement. Analyzing change will identify how well can the system adapt to the change, what changes
need to be made to the system. Changes need to be communicated for implementation. On implementation change
is reviewed and closed.

User acceptance testing


User Acceptance testing is performed considering the users environment or production environment. Test suite is
prepared to be executed for user acceptance testing. User acceptance testing is performed when the system is ready
for release. It is usually performed by the client or the end user as a confirmation to accept the system. All the
different types of testing are completed before the user acceptance testing is done. It is a type of black box testing
because the end user is usually unaware of the internal working of the system. User acceptance testing plays an
extremely important role because it helps to identity the users perspective. If the user acceptance testing is
successful, it signifies the completion of the application and introduces a sense of confidence to use the system.

Project planning and tracking


Project planning and tracking is a part of project management. When the requirements are stated and agreed upon
by the client, a plan needs to be made. Project plan is a document describing the tasks involved to complete the
requirements of the system, Allocation of resources, time forecasted to complete the requirement. Project plan helps
to determine an estimate for the application along with delivery
As and when the plan is executed (i.e. the requirements are implemented), the plan needs to be tracked. Tracking of
plan would mean updating the actual time taken for the planned requirements. Tracking helps to identify the deviation
from the planned hours which in turns helps to determine performance. Project tracking is expected to be done at a
regular basis to track deviation.
10. What are the three types of modeling in UML?
ANSWER - Structural, behavioral, and architectural.
11. What is Architecture?
ANSWER - Takes care structural and behavioral aspect of a software system.
Includes software usage, functionality, performance, reuse, economic and technology constraints.
12. What are Messages?
ANSWER - Specification of a communication.

What is the difference between Activity and sequence diagrams?


The following are the difference between Activity and Sequence Diagrams:
A sequence diagram shows the way of processes execute in a sequence. For example, the order of operations and
the parameters.

An activity diagram depicts the operational workflows.

A sequence diagram is focused to represent interactions between different objects.

Activity diagram shows the actions for various objects.

Difference between Activity and Sequence Diagram.


a. Activity diagram: captures the process flow. They are used for functional modeling.
b. Sequence diagram: the track the interaction between the objects. They are used for dynamic modeling.

What are the various components in sequence diagrams?

Actor: Actor represents an external user / end user who interact with the system.

Object: Object is represented by one of components of the system.

Unit: A unit is a subsystem, or a sub component or other entity within the system.

Separator: Separator represents a boundary among sub systems, components or units.

Group: Represents different header elements in the subsystem.

Explain the different elements of a Use Case.


Use case diagram is a subset of various behaviour diagrams. Use case diagrams are used to provide concrete
examples of the elements which are supposed to implement. It is used to analyze objects.
The following are the elements of the use case diagrams:
Actors: An actor is one of the entities who perform certain actions. These roles are the actual business roles of the
users in given system. An actor interacts with a use case of the system. For example, for a banking system, a
customer is one of the actors.
Use Case: A use case is a use case diagram of UML represents a business functionality that is distinct. The use case
should list the discrete business functionality that is specified in the problem statement. Every business functionality
is a potential use case.
System boundary: A system boundary defines the scope of the system. The systems that use cases also need to be
defined in the limits of the system. The system boundary is shown as a rectangle that spans all use cases of the
system.

Explain all elements of a State-chart diagram.


a. Initial State: The first or the default state the object is in. It is denoted by a solid circle.

b. State: All the states an object can go in are mentioned in this. It is represented by a rectangle with rounded edges.
c. Transitions: depicted by arrow from the source state to destination state.
d. Final State: Depicts the end of the. It is shown by a bull's eye symbol.

Initial State: This state shows the first activity of the flow.

State: A state represents the state of an object at a particular given point of time.

Transition: The transition from one state to another state of objects is represented by an arrow.

Event and Action: A trigger that causes a transition to occur.

Signal: When a message or a trigger caused by an event to a state, which causes a transition, this
message is called as a signal.

Final State: The state diagram ends with a diagram that depicts a bulls eye is known as Final State.

What are the different elements of a collaboration diagram?

Object: The interaction between objects takes place in a system. An object is depicted by a rectangle with
the name of the object, preceded by a colon and underline.

Relation/Association: Association among objects is linked by connecting them. The cardinality can be
depicted by placing qualifiers on either ends.

Messages: An arrow that commencing from one object to the destination object. This depicts the interaction
between objects. The sequence or order of the interaction is depicted by the number.

What are the parts of a deployment diagram?

Nodes: A node represents any hardware component. The configuration of hardware is represented by
attributes of nodes.

Components: A component represents software. Each component straightly represents a class or object
that in turn represents methods.

Dependencies: The reliability of one component with that of another is depicted by dependencies.

Links: To tie up tow nodes, the links are utilized. The links are implemented by using nodes and their
associations.

UML is an industry-standard language for specifying, visualizing, constructing, and documenting the
artifacts of software systems.

UML standard is defined by the Object Management Group(omg.org).

UML uses standard notation designing object-oriented system.

UML is a standard language for making a blueprint of a project.

UML allows to develop software of lasting quality.

Using UML, developers can put down good architectural foundation that can allow easy maintainence of
the system.

UML presents structure of whole system which can be easily visualised and understand by developer.

Project management interview questions and answers


What is project management?
Project management is a combination of operations such as applying knowledge, skills, tools, techniques in a project
followed by the deliverables of the project. As whole project management is managing time, cost and the scope of a
project.
-Generally the project management is the part of internal oganistional functions.
-To perform all the tasks in the project execution we need an organitional structure which will strategise the project
execution & implementation.
-To carry out the project succesfully one must have a clearly defined goals & objectives.
-There are several tools available for the successful project management in the market.Most common names can be
coined as PERT , CPM , MS_PROJECT , GANNT CHART etc.
-The WBS (Work Breakdown Structure) is very important in the context of project management .
-The project management characteristics are complex,unique,involves high risk,constrained by time & cost.
-The project management is very much resource intensive.
-Ultimately , the successeful project depends on the manger's efficiency, effectivity & performing standard of the core
manegerial activities , i.e. planning , organizing , staffing , Directing , controlling & cordinating.

What is triple constraint triangle in project management?


Project cost, schedule and scope are depicted as a project management triangle. The triangle is formed by customer
as the center point and the three aspects form the sides of triangle. In order to gain customer satisfaction, the project
management team should deliver scope in propose schedule and cost. In case any leg is gets disturbed, the other
two legs gets affected. For example, if the customer increases the scope, then the other two legs-schedule and costget affected a lot.

How do you handle change request?


The impact analysis document preparation followed by re-estimation is the process of handling change request. For
example, a table of customer is available in the on going project. The customer also wants the addresses to assign to
the project. For that a change request is raised and then an impact analysis of the same is performed. The estimation
and the financial aspect of the project are known to the client. The implementation of this change request is continued
by either by signing off the client or by agreement of the upper management.

What are the CSFs in the Software project management ?


The CSFs (critical success factors) for a successful software project management are listed blow:
-Change management is very essential.
-Leadership & motivating employees for giving direction.
-Team Orientation is crucial.
-Cultural & ethnic diversity is also needed for maintaing a cordial environment.As different companies around the

world is having the EEo(equal employability opportunity) foe their employees.


-The cost evaluation must be done diligently in the given time frame.
-Lucidity in communication is very essential.

What is DSS?
-DSS is the acronym stands for decision support system.
-DSS is used vastly in the enterprise applications , mainly MIS & ERP based SYSTEMS.
-DSS provides automation & stabilty in the decision making process of the organisation .
-DSS is of two types , i.e. structured & unstructured.
-DSS connects many flow charts in organisational process.
-DSS is used profoundly by the top level management for STRATEGY formulation & planning.
-DSS integrates many business logics with the organisational operational functions.
-DSS can be formulated & built statistically or stochastically.

Name some requirement gathering techniques


1. Interviews
2. Questionnaires
3. Use Case Approach
4. Prototypes
5. Class-Responsibility-Collaboration Cards
6. Market Research

Why is easy access to a customer a good thing?


1. It helps in taking the clarifications about their requirements on regular basis to avoid making the wrong system
based on assumptions.
2. It shares the risk between the vendor and stakeholders (customer).
3. Keeps the customer confident about the timely delivery of what he needs
4. Helps is prioritizing the requirements on regular basis
5. Avoids scope creep.

When should you end the process of gathering requirements?


A. Some points that indicate the end of requirement gathering process:
1. When no more use cases can be identified.
2. When functional requirement derived from new use cases have been captured from other use cases.
3. When last created use cases and gathered functional requirements are out of scope.
4. When issues start getting repeated
5. When proposed new requirements are all low priority
6. When customer seems satisfied by your understanding of their needs
7. When all the requirements trace back to the complete intended system

Why is a simple change control process necessary for agile projects?


Change control process necessary for agile projects because requirements change frequently and a streamed line
process for requirements change is needed.
Agile projects are aimed to be both high-quality and early time frame. Therefore, a proper process is needed in place
to manage the change requirements and prioritize them to develop high-value software in least time.
This enables to keep the stakeholders satisfied and aware of what is left and what has been done.

Why do requirements change?


1. They missed a requirement. A stakeholder might realize some missing a feature.
2. A change can be needed because of a detected defect.
3. Some mismatch in stakeholder's expectations from what they see in prototypes or working system (when they see
it).

4. The political issues within the organization and between various stakeholders.
5. The marketplace changes.
6. Law changes. This might change some legal aspects of the system based on what was being made. For example,
if a taxation system is needed, Tax policies might change and system might needs to be changed as per the latest
laws.

Why might you use paper rather than software when prototyping?
1. There are many different ideas about the design.
2. When the tools the designer wants to use in creating a prototype are not available.
3. There are parts of the design you're unsure about.
4. You need to provide a new solution to the users in order to change the way that the users perform a task.
5. Users or stakeholder's are not well versed with computerized designs.
6. When the designer wants to make a sincere effort to allow all members of a team, including those with limited
software skills, to take part in the design process.

How to Paper Prototype


1. Make a list of the common or important tasks that users will do with the interface.
2. Sketch the set of screens that are needed to do the tasks.
3. Place interface elements such as drop-down on the paper.
4. Have a co-worker play as the user and walk through the tasks with you.
5. Prepare all the necessary screens.
6. Make stakeholders go through the paper prototypes.

What are the points to avoid while gathering requirements?


1. Confusion Over Requirements
2. Inadequate Customer Involvement
3. Vague and Ambiguous Requirements
4. Unprioritized Requirements
5. Building Functionality No One Uses
6. Analysis Paralysis
7. Scope Creep
8. Inadequate Change Process
9. Insufficient Change Impact Analysis

What are the important points to excellent requirement gathering?


1. Educating developers, managers, and customers about the product and the process.
2. Maintaining a good relation between customer and developer for requirements gathering.
3. Taking an iterative and incremental approach to requirements development.
4. Using standard templates for your vision and scope, use case, and SRS documents across the organization.
5. Holding formal and informal reviews of requirements documents.
6. Writing test cases against requirements.
7. Prioritizing requirements

What are the three levels of requirements?


1. Business Level: defines the business problems or opportunities about the product. Business requirements define
why the software product is being developed. They are the objectives of the customer requesting the development of
the software.
2. User Level: defines functionality of the software product from the users perspective. They define what the software
has to do in order for the users to accomplish their objectives.
3. Product Level: define the software functionality must be built into the product to enable users to accomplish their
tasks. This includes the entire external, database, functional/non-functional requirements.

Explain the phases of software project.

The different phases of software projects are follows:

Initiation: Preparing scope document, requirement documents, Estimation chart, project plan and proposal
documents

Planning: Designing test plan and coding standards.

Execution: Writing code

Controlling : Testing and establishing change management procedure

Closure: Closing project and move it to maintenance mode

Explain the popular Software development life cycle models.

Waterfall model :This is the oldest model. It represents sequence of stages; output of one stage becomes
input of others.

Spiral Model: This is improved version of waterfall model. Here we have scope to reiterate and go back to
the earlier stages number of times as project progresses.

Build and fix model: This is a risky and most unorganized model. In this, developers keep writing code until
the customer is happy.

Rapid Prototype Model : In this model, we develop prototype which acts like a final product. Once
prototype is approved, then the actual development starts.

Incremental Model:In this model, the product is divided into sections and each section of the product are
created and tested separately.

Define CAR and DAR.


CAR Casual analysis and resolution
CAR identifies problem and perform a root cause analysis of the same. CAR needs to be performed at every project
phase. Fishbone diagram is one of the ways to perform CAR.
DAR- Decision Analysis and Resolution.
This is to analyze possible decisions using a formal evaluation process that identifies alternatives against current
resources.

What is DAR (Decision Analysis and Resolution)?


To analyze possible decisions by using a formal evaluation process which identifies the alternatives against
established criteria is done by the DAR. For example a project is to use a third party tools and will not depend on only
one tool but evaluate by using three to four tools. In this process certain alternatives are available in case of
problems.

What is CAR (Causal Analysis and Resolution)?


Casual Analysis and Resolution is the process of analyzing

- defects, problems and good practices/positive triggers in a project.


- Root cause of the same
- Identity the respective corrective and preventive actions
- Tracking these tasks to closure.
The identification of the root causes scientifically and carrying out their corrective and preventive actions is the
advantage of CAR. At the initial stage, all phase and at the end stage of the project, the CAR is needed to be
performed on a monthly basis. CAR can be done by using fishbone diagram.

Define pareto principle or 80/20 principle.


It is one way of tackling problem in management. It says 20% of the problems lead to other 80% of the problems.
According to this principle, we should focus on 20% of the problem.
In any software project first 10% and last 10% form the vital part of the project.

What is pareto principle?


Pareto Principle is also known as 80/20 principle. It is a management tool to track problem tracking effectively. This
principle says that 20% of the problems lead to 80% of other problems. Hence, in order to concentrating on solving
80% of the problems rather, one can concentrate to solve 20 % of the problems which saves lot of troubles. The
analysis and concentration is done for only 20% of the vital problems. In a project the vital problems are the first 10%
and the last 10% .

Describe each levels of CMMI


Maturity level 1 Initial
At this level, there is no proven processes and has no stable environment in the organization. This type of
organization frequently exceeds the budget and schedule.
Maturity level 2 Repeatable
These organizations have basic processes that are established to track cost and schedule. They have guidelines to
repeat the same in the next similar project.
Maturity level 3 Defined
In this category, processes are well characterized and understood and are described in standards.
Maturity level 4 Managed
These organizations are much more matured than level 3 where processes are only qualitively predictable whereas in
level 4 companies, processes are accessed using statistical and other quantitive technique.
Maturity level 5 optimizing
These organizations persistently try to improve performance through innovative technological improvement.

Initial - the starting point for use of a new process.

Repeatable the process is used repeatedly.

Defined the process is defined or confirmed as a standard business process.

Managed process management and measurement takes place.

Optimizing process management includes deliberate process optimization and improvement

What is Fish Bone Diagram? Or Explain Ishikawa Diagram.


Fish Bone Diagram is also called Ishikawa Diagram or Cause and Effect Diagram.
It is called Fish Bone Diagram because of its structure.
Dr. Kaoru Ishikawa invented it so it is called Ishikawa Diagram.
It performs the job of analyzing the causes and their effects pertaining to the Project. So, it is called Cause and Effect
Diagram.
It helps in identifying the potential causes of problems and finally the root cause which make a difference on the
performance of the project. This helps in finding the solutions to the problems which have affected the performance of
the last project.

What is a fish bone diagram ?


Fish bone diagrams are the diagrams that show the causes of a certain events. In designing products, to identify the
potential reasons / factors that cause overall effect, the fishbone diagrams are used.

What is Black box testing?


Black box testing or functional testing means testing the software for the outputs when specified inputs are provided.
It is usually performed to see if the software meets the users requirements. Theres no focus on what goes behind
running that software. An example of this could be manual testing of the system by a tester, assembly testing.

What is White box testing?


White box testing is done to test the accuracy of logic and code of the program. It is done by programmers who know
the logical flow of the system. It can be done by testing the classes or components in isolation. One of the ways of
doing it is Unit Testing.

What is Unit testing?


Unit testing, also called Component testing is performed by programmers to test that a specified unit of the program
meets the expected output when a particular input is provided. Here, the programmer has to know the internal logic
and code of the system. It is a way of performing the White box testing. It involves checking that each feature
specified in the Component Design is implemented in the components.
A Unit in unit testing means a module self contained and by itself.

What is Assembly testing?


Assembly testing moves one step ahead of Unit testing. It checks if two or more modules are able to communicate
and produce expected results or not. No Unit in the system can perform stand alone activities. The output of one
module may be used as input by another, so it is highly important if the related modules are able to connect and
produce the desired result. Assembly testing is a way of Black box testing and can be done through the UI.

What is Regression testing?


Regression testing is performed to see if the system would work well in case of any enhancements or changes in
future. Here, all the scripts are run together to see that others are not effected by a change in one module.

What is System Testing?


System testing is done to see if the system delivers the required features, functional and non-functional requirements
& outputs. It doesnt check each component individually but the whole system is checked as one entity. It is done at
developers end. The testing for non-functional requirements includes:
a. Performance Testing
b. Volume Testing
c. Stress Testing

d. Documentation Testing
e. Robustness Testing

What is Acceptance Testing?


Acceptance Testing is performed by the client to see if the system delivers what was requested. It looks similar to
system testing but the difference is in the focus. Here, the testing is done by Client from his point of view as he is the
one who knows the whole process and requirements of his business.

What do you mean by V-model in testing?


V-model performs a mapping between the type of test and the stage in project development i.e which test is to be
performed at which stage. This has 4 levels of testing the system:
1. Unit Testing-performed by system team at first level
2. Integration/ Assembly testing-performed by system team or an independent tester
3. System Testing- performed by system team
4. Acceptance testing-performed by the client.

What is difference between SITP and UTP in testing?


A test plan that is done at the smallest level or stand alone mode is known as Unit Test Plan. For example, a project
is having customer and invoicing modules. So the test on customer module and invoicing module will be done
individually. This is Unit Test Plan.
Later both customer and invoice is to be tested in one set. To do so, we integrate both into one set and test them. So
System Integration Test Plan and Unit Test Plan can be done by using NUNIT.
Unit testing is normally done by developers and the system testing is normally done by testing professionals in an
integrated mode.

Whats the difference between Unit testing, Assembly testing and Regression testing?
Unit testing ensures that the program unit meets the requirements which are reliable. Unit testing is normally
conducted by the programmer who is supervised by the team lead. Testing the individual unit is the main objective of
unit testing. Unit testing follows white box testing style.
Assembly testing demonstrates the interaction among modules in a correct, stable and proper manner which was
defined in the functional requirements that are provided by the client. Assembly testing follows black box testing style.
Regression testing ensures the proper functionality of an application irrespective of changes or enhancements to the
system. The testers will run all the scripts in order to ensure that nothing has been affected.

What is V model in testing?


The mapping of the type of testing to the stage of development in a given project is done by V model. In this model of
testing there is a testing stage for every development stage which means a mapping between the development and a
testing.

Six Sigma
It is a methodology and set of tools for the measurement of process quality. It demonstrates that the business
process is well controlled. Six Sigma level can be achieved when the accuracy of your process gets only 3.4 defects
per million opportunities.
Heres the list of acceptable number of defects per million to correspond to each Sigma level:

Sigma level
1
2
3
4
5
6

Defects per million opportunities


690,000
308,537
66,807
6,210
233
3.4

Who forms the part of Six Sigma implementation team?


Answer
Attaining Six Sigma is a team effort. An organization who wants to attain Six Sigma needs a lot of restructuring and
change in attitude. It includes building up the following roles to take up the required responsibilities:
1. Executive Leadership-Includes CEO and other top management team members. They set up the vision of Six
Sigma and empower their team mates with the freedom and resources required for the improvements in the process.
2. Champions- Responsible for the implementation of the process in an integrated manner through out the
organization. They come from Top management.
3. Master Black Belts-Act as in-house expert coach for the organization. They assist Champions and train Black Belts
and Green Belts.
4. Black Belts-Apply Six Sigma methodology to specific projects. Their focus is on execution of activities for Six
Sigma.
5. Green Belts-These are like the soldiers on the war front who actually implement the planned action.

What is SIX sigma?


SIX sigma is one of the business management strategies. Six Sigma is used to improve quality of process outputs
which identifies and removes the causes of defects and variations in manufacturing and business processes. It
implements a set of management methods and creates a special infrastructure of people within the organization who
are the experts in these methods. A well defined sequence of steps is followed by each six sigma project and has
quantified financial targets.

What are function points?


In order to express the amount of business functionality of an information system, a function point is used as a unit of
measurement.
There is International Function Point Users Group in US based organization of users of the software metric Function
Point Analysis
Every function point is a unit of measure used by IFPUG functional size measurement method.
The IFPUG FSM is one of the currently recognized standards of ISO for functionally sizing software.

What are the different elements in Functions points?


The elements in functions points are:

External Inputs: It is an elementary process which allows the data to cross the boundary from outside to
inside.

External Outputs: A elementary process which allows the data passes across the boundary from inside to
outside

External Inquiry: It is an elementary process which has both input and output components which results data
retrieval from one or more internal logical files and external interface files.

Internal Logical Files: An identifiable group of logically related data that resides entirely within the
applications boundary and is maintained through external inputs.

External Interface Files: An identifiable group of logically related data that is used only for reference purpose.
The data is completely persisted outside the application and is maintained by another application.

Vous aimerez peut-être aussi