Você está na página 1de 35

Chandigarh Engineering College Department Of Information Technology

Experiment 1

Aim: To Study the use of software like Open Proj and different features available in Open
Proj.

Theory:

What Are Projects and Project Management?


Project management is more than a résumé buzzword. Project management represents a field of study
and body of information defining a growing professional discipline. The Project Management Institute
(PMI) is the leading project management organization that develops the standards and models for
professional project management, brought together in the Project Management Body of Knowledge
(PMBOK). The group also administers conferences and project management training and certification
programs. The fact that it comprises an entire field of study might be your first clue to the fact that there’s
more to project management than checking off items on a To Do list.

A project is a series of activities leading to defined goals and deliverables achieved in a specified
timeframe. A project has a specific starting date, and a specific ending date. A project may involve the
activities of a team of people, or be a relatively complex series of activities completed by a single person.
The team members may all come from one department, or they may include persons from many
departments or even other companies.

Lovepreet Singh 1503422 Page 1


Chandigarh Engineering College Department Of Information Technology

How Does OpenProj Fit into the Process?


If building a detailed list of tasks and resources sounds like a lot of work, well, that’s a painful truth. But
this is where OpenProj comes in. OpenProj provides tools to facilitate the planning portion of the project
management process. OpenProj helps you list tasks and can calculate the overall project schedule;
OpenProj enables you to better visualize the plan and determine which tasks are more critical to project
success. Because OpenProj helps you develop a more detailed and thorough plan, you can better
communicate about project requirements and progress.

OpenProj provides specific views where you can build the list of project tasks and the list of project
resources.You can establish how long it will take to complete each task, and easily indicate how tasks
relate. Once you’ve done so, OpenProj calculates the project finish date for you. As you assign resources
to tasks, OpenProj can recalculate the project finish date for you to reflect the impact of the assignments
you make. In the final task shown in Figure 1.3, OpenProj has calculated a finish date of 6/8/10 for the
project plan shown.

While building a project plan remains a matter of putting in the required time and thought, once you’ve
built the plan, you can take advantage of really powerful OpenProj features to review the plan to ensure
it’s realistic and reasonable, and then execute and control the project:
■Views to help you identify planning problems before work begins. OpenProj includes views where
you can see whether you’ve assigned too much work to a resource during any time period, giving you the
opportunity to correct that type of planning error before launching work on the project. You also can see
which tasks are most important or critical to the overall schedule, so you can add resources to those tasks
to have the greatest positive impact on the overall project completion date.

■Tools to track work completed. OpenProj provides you with the flexibility to update completed work
on tasks one by one, in groups, or in a somewhat automatic fashion.

A view to enable you to compare your current plan versus your original plan. This feature enables
you to pinpoint where and how your project may have gotten off track, again so that you can take
corrective action.

■Customizable views, as well as reports, that enable you to keep team members and stakeholders
up to date. OpenProj can provide the information that various players want, so that you don’t have to
compile and develop different formats by hand.

Starting Up and Shutting Down


Starting a program loads it into your computer’s memory so that it’s ready for you to use. When you start
OpenProj, it presents the option of opening a blank file or an existing file. Because many users will be
using OpenProj on the Windows XP or Windows Vista operating system, the full startup steps for those
operating systems are here:
1. Click the Start button on the taskbar in the lower-left corner of the screen, or press the Window key on
the keyboard.
2. Click All Programs.
3. Click the OpenProj folder.
4. Click OpenProj in the folder.
The Windows Vista Start menu provides another fast way to open the program:
1. Click the Start button on the taskbar. If you see OpenProj in the left column of the Start menu, jump
to Step 3.
2. Type OpenProj. The text you type automatically appears in the Search text box, and the left column
of the Start menu lists matching programs and files, as shown in Figure 2.1.

Lovepreet Singh 1503422 Page 2


Chandigarh Engineering College Department Of Information Technology

3. Click OpenProj at the top of the left column on the menu.

Figure 2.1

If you're using OpenProj on Linux or Mac OS, the startup method you use will depend on your desktop
environment and how you've personalized your system. Generally speaking, use the same method to start
OpenProj that you use to start other programs on your system.

No matter which method you used to start OpenProj, you may see a Try Project-ONDemand message box
or another message box about supporting OpenProj's publisher.You can click Close at that message box.
In the Tip of the Day dialog box that may then appear, you can click Next to view additional tips, or
Close to close the dialog box.

The Welcome to OpenProj dialog box (Figure 2.2) then appears, giving you the option of creating or
opening a file. If you leave the Create Project option selected and click OK, OpenProj will prompt you
to enter information so it can create a new, blank file. If you instead click Open Project and then click
OK, the Open dialog box appears so that you can browse to and open an existing file. Creating and
working with files is covered in more detail at the beginning of Chapter 4. Starting Up and Shutting Down
17

Figure 2.2

Lovepreet Singh 1503422 Page 3


Chandigarh Engineering College Department Of Information Technology

When you’ve finished your work in OpenProj, you will want to close or exit the program. Closing the
program closes any open files that you were working on to ensure that your work is properly secure. You
can exit the OpenProj program in one of three ways on the Windows platform:
■ Click File on the menu bar and then click Exit.

■ Click the Close (X) button in the upper-right corner of the program window.

■ Press Alt+F4.

If you’ve made changes to any open OpenProj file that you haven’t yet saved, OpenProj prompts you to
save. Be sure to click Yes each time OpenProj displays the message to ensure you save your changes to
all of the files that you had open. (Chapter 4 provides more information about working with files in
OpenProj.)

Navigating the Gantt (Default) View


OpenProj offers a fairly traditional program appearance, with a menu bar and toolbar structure, as well as
buttons that give you easy access to available views. So, if you’re comfortable working in other
programs, you’ll have a head start in learning to work in OpenProj.

Figure 2.3 shows you the OpenProj program window with its default view, called the Gantt view,
displayed. The key features of the OpenProj program include the following:

■Title bar. The title bar across the top of the window displays the name of the program as well as the
name of the current project plan file.

■Close (X) button. Clicking this button at the far right end of the title bar closes the OpenProj program.
You can use the Minimize and Restore/Maximize buttons beside it to manipulate the size of the program
window.

Lovepreet Singh 1503422 Page 4


Chandigarh Engineering College Department Of Information Technology

Menu bar. This bar—just below the title bar—lists menus, or groups of commands, for working in
OpenProj. Click a menu to display its commands and then click a command in the list. Clicking a
command might display a submenu from which you choose additional commands or a dialog box in
which you specify additional choices for executing the command.

■Toolbar. OpenProj offers a single toolbar on the row below the menu bar. The toolbar offers buttons
and choices that enable you to execute changes directly rather than having to choose a menu command.
Click a toolbar button to run itscommand. To see what a toolbar button does, move the mouse pointer
over it; a yellow ScreenTip with the tool’s name appears. The right end of the toolbar also offers drop-
down lists that you can use to apply filtering, sorting, and grouping to the information onscreen. These
techniques will be covered in a later chapter.

■Top view buttons. The area along the left side of the window lists a number of buttons representing the
available views. By default, only one view appears on the screen, and you can change to another view by
clicking one of the top view buttons above the blank divider area.

■Bottom view buttons. If you need to examine information about a task or resource in detail, you can
display a second view along the bottom of the screen by clicking one of the bottom view buttons. For
example, Figure 2.4 shows a project plan file with a bottom view displayed. To toggle the bottom view
off, click its button at the left again.

Lovepreet Singh 1503422 Page 5


Chandigarh Engineering College Department Of Information Technology

Experiment 2

Aim: To Study the comparison of Open Proj with other similar software available for
Project Management.

Theory:

Overview of SmartDraw
What is SmartDraw?
SmartDraw is the easy-to-use Windows software for creating business diagrams, technical drawings, and
business documents. SmartDraw requires no artistic talent—users simply drag and drop ready-made
graphic elements to create professional-looking diagrams quickly and easily.

SmartDraw competes with products like Microsoft Visio, but SmartDraw is specifically aimed at users
who do not have the time or the need to learn such complex programs. SmartDraw is easier to learn,
easier to use, and easier to afford than competing products—and it produces better-looking results.
SmartDraw offers complete business graphics solutions—integrated sets of symbols, templates,
instructions, and tutorials—for many standard business problems, including: Business Process
Management, Software Design, Network Design, and more. With SmartDraw, anyone can:
• Illustrate a report
• Analyze a process
• Make a presentation
• Persuade others
• Document procedures
• Communicate clearly
• Help others “see what you mean”

In addition to pre-packaged solutions, SmartDraw offers over 50,000 ready-made symbols and templates
for creating all kinds of business charts and diagrams.

Lovepreet Singh 1503422 Page 6


Chandigarh Engineering College Department Of Information Technology

Users can simply drag symbols from floating library windows and drop them into drawings, where they
can be quickly resized, positioned, re-colored, or linked to other symbols.
To help even the most graphically-challenged user look like a professional, SmartDraw can automatically
align and arrange objects in drawings, and it can apply beautiful, ready-made color schemes to an entire
drawing with a single mouse-click.

Summary of Benefits
When the bottom line is return-on-investment, no other software compares to SmartDraw:
• Easy to Use — With its intuitive interface, easy “drag and drop” drawing, and over 50,000 ready-made
symbols and templates, SmartDraw allows users to start producing professional-looking diagrams
within minutes. One SmartDraw user called it “instant productivity.”
• Complete Solutions — SmartDraw provides complete business graphics solutions—integrated sets of
symbols, templates, instructions, and tutorials—for many standard business problems, such as Business
Process Management, Software Design, Network Design, and more. At the same time, it provides the
versatility to create nearly any kind of business diagram. It’s the one-stop solution for all business
graphics needs.
• Easy to Own — With its famous “Zero learning curve,” affordable price, free technical support, and
seamless integration with Microsoft Office, SmartDraw is easy to integrate into any organization.

SmartDraw Add-on Symbol Collections


􀂃 Business & Charting: Includes over 1500 add on symbols and templates for flowcharts, org
charts, graphs, forms, calendars, presentations, and more.

􀂃 Network Design: Includes over 700 stylized symbols for conceptual network design, plus over
2200 detailed images of vendor-specific equipment for diagramming computer and telecom
networks.

􀂃 Floor Plans & Facilities: Includes hundreds of scaled symbols for floor plans, systems furniture,
HVAC, plumbing, wiring, security, landscaping and more.

Lovepreet Singh 1503422 Page 7


Chandigarh Engineering College Department Of Information Technology

􀂃 Electrical Engineering: Includes over 2100 IEEE and IEC standard symbols, plus examples and
special libraries for construction, automobile wiring, cable TV and more.

􀂃 Mechanical Engineering: Includes add-on symbols for piping, welding, and process engineering,
plus precision CAD drawings of tools, machines, and fasteners.

􀂃 Science and Math: Includes hundreds of symbols and templates for chemistry, biology,
astronomy, physics, mathematics, and more.

Lovepreet Singh 1503422 Page 8


Chandigarh Engineering College Department Of Information Technology

Key Features

􀂃SmartDraw Explorer

The 50,000 symbols and templates are organized for easy access in the SmartDraw Explorer, which has a
familiar Windows look and feel. Easy keyword searching means the right symbols are always at the
user’s fingertips.

SmartDraw Explorer with symbol preview

Lovepreet Singh 1503422 Page 9


Chandigarh Engineering College Department Of Information Technology

Previews
The complete collection of SmartDraw symbols and templates would occupy over 1.5 GB of disk space
if fully installed, but thanks to SmartDraw's patented install-on-demand technology, users can preview
content in small preview panes and install just the components they need.

Drag and Drop Drawing


Adding shapes, lines, and objects to a drawing is as sas drag-and-drop. Simply click on the object (on a
toolbar or in a floating library window) and drag it to the page. Once dropped, it remains selected for
immediate editingor resizing.

􀂃Smart Lines
Lines drawn from the edge of one shape to the edge of another stay connected, even if the shapes are
moved or resized. This is indispensable for creating flowcharts and similar diagrams.

To illustrate any specialized business chart, users can choose from 23 different arrowhead styles,
including circles, crows feet, diamonds, and other flowcharting styles.

Users can also attach text to lines so that the text will rotate and move with the line.

Lovepreet Singh 1503422 Page 10


Chandigarh Engineering College Department Of Information Technology

Lines can automatically display their length for use in floor plans and other dimensioned drawings.

􀂃 Automatic Connectors for Org Charts and More


SmartDraw’s “intelligent” Automatic Connectors organize shapes into regular arrangements, for creating
organizational charts, fishbone diagrams, network diagrams, and more.

The Connector is a special type of line that automatically arranges several shapes in evenly spaced
patterns. As users drag shapes to the connector, the connector line automatically expands to
accommodate the new
shapes.

Lovepreet Singh 1503422 Page 11


Chandigarh Engineering College Department Of Information Technology

􀂃 Easy Text Entry

SmartDraw makes it easy to add text to any shape. Users can just select the shape by clicking on it and
start typing. The text flows and wraps inside the shape like the text on a page in a word processor. Once
the shape becomes full of text, the text shrinks—or the shape grows, depending on the user’s
preference—to accommodate more text. Normally shapes grow proportionally (but users can also choose
other behaviors). The text and the shape remain tightly bound so the text never spills outside.
Users can edit the text inside a shape by simply double-clicking on it to open a text editing session. Text
can be cut, copied, and pasted. Its typeface and color can be changed on a character-by-character basis.
All text editing is fully WYSIWYG. Different paragraphs within a shape can have different justifications,
just as in a word processor. Automatic bulleted text is also supported.
With the Professional or Professional Plus versions of SmartDraw, users can also automatically check
spelling as they type and add words to their custom dictionary.

􀂃 Automatic Alignment and Sizing


SmartDraw provides a number of features that make it easy to draw crisp and clean diagrams:
- The Snap-to-Grid positions objects along a matrix of invisible lines for perfect alignment. The size of
objects also follows the grid snaps, making it easy to create shapes and lines identical in size.
- The Align command aligns all selected objects with a chosen object.
- The Make Same Size command re-sizes all selected objects to be the same width or height as a chosen
object.
- The Space Evenly command arranges all selected objects the same distance apart.
- The Center Drawing on Page command centers the entire drawing on one or more pages.
- The Print on One Page and Scale Up to Fit Page commands format drawings for print by scaling and
centering to fit or fill a page.
- The position of an object can be precisely adjusted, one pixel at a time, by using the arrow keys.
Holding the shift key down while doing this causes the object to grow or shrink, one pixel at a time.

􀂃 Styles and Presentation Effects


SmartDraw makes it easy to achieve a perfect finish by supplying dozens of rich, ready-made,
professional color schemes.
With a single mouse click, users can apply a color scheme to an entire drawing, instantly coordinating
lines, shapes, borders, fills, text, tables, and even the drawing background. Users can even define their
own custom styles.

Lovepreet Singh 1503422 Page 12


Chandigarh Engineering College Department Of Information Technology

In addition, the Format Painter command allows users to save time by capturing the style from any
object in their drawing and applying it to others with just one mouse-click.
With SmartDraw, even the most artistically-challenged user can look like a graphics professional.

Lovepreet Singh 1503422 Page 13


Chandigarh Engineering College Department Of Information Technology

Experiment 3

Aim Study and usage of openproj or similar software to track the progree of a project

History and current status


OpenProj was developed at Projity by Marc O'Brien, Howard Katz and Laurent Chretienneau in 2007. It
moved out of beta with the release of Version 1.0, on January 10, 2008.
In late 2008, Projity was acquired by Serena Software. As of early 2009 support for OpenProj and
communication about development of OpenProj seem to have been suspended. There were actually
regressions with a few commits to the CVS, There has been no improvement in the past four years, and it
is no longer compatible with Microsoft Project.
In 2012, the founders of OpenProj forked the abandoned code base of OpenProj and started development
for a new release. The initial release of this fork occurred in August 2012. The name of the new fork
is ProjectLibre.

Features
The current version includes:

 Earned Value costing


 Gantt chart
 PERT graph
 Resource Breakdown Structure (RBS) chart
 Task usage reports
 Work Breakdown Structure (WBS) chart
Project management software
Project management software has the capacity to help plan, organize, and manage resource tools and
develop resource estimates. Depending on the sophistication of the software, it can manage estimationand
planning, scheduling, cost control and budget management, resource allocation, collaboration
software, communication, decision-making, quality management and documentation or administration
systems. Today, numerous PC and browser-based project management software and contract
management software solutions exist, and are finding applications in almost every type of business.

Earned value management


Earned value management (EVM), or earned value project/performance management (EVPM) is
a project management technique for measuring project performance and progress in an objective manner.

Program evaluation and review technique


"PERT" redirects here. For other uses, see PERT (disambiguation).
The program (or project) evaluation and review technique, commonly abbreviated PERT, is a
statistical tool, used in project management, which was designed to analyze and represent
the tasks involved in completing a given project.
First developed by the United States Navy in the 1950s, it is commonly used in conjunction with
the critical path method (CPM).
Work breakdown structure
A work-breakdown structure (WBS), also referred to as "Contract Work Breakdown Structure " or
"CWBS," in project management and systems engineering, is a deliverable-oriented breakdown of a
project into smaller components. A work breakdown structure is a key project deliverable that organizes

Lovepreet Singh 1503422 Page 14


Chandigarh Engineering College Department Of Information Technology

the team's work into manageable sections. The Project Management Body of Knowledge (PMBOK 5)
defines the work breakdown structure as a "A hierarchical decomposition of the total scope of work to be
carried out by the project team to accomplish the project objectives and create the required deliverables."
A work-breakdown structure element may be a product, data, service, or any combination thereof. A
WBS also provides the necessary framework for detailed cost estimating and control along with
providing guidance for schedule development and control.

(Figure 1)

Work breakdown structure


A work-breakdown structure (WBS), also referred to as "Contract Work Breakdown Structure " or
"CWBS," in project management and systems engineering, is a deliverable-oriented breakdown of a
project into smaller components. A work breakdown structure is a key project deliverable that organizes
the team's work into manageable sections. The Project Management Body of Knowledge (PMBOK 5)
defines the work breakdown structure as a "A hierarchical decomposition of the total scope of work to be
carried out by the project team to accomplish the project objectives and create the required deliverables."
A work-breakdown structure element may be a product, data, service, or any combination thereof. A
WBS also provides the necessary framework for detailed cost estimating and control along with
providing guidance for schedule development and control.

Lovepreet Singh 1503422 Page 15


Chandigarh Engineering College Department Of Information Technology

(Figure 1.1)

Resource breakdown structure


In project management, the resource breakdown structure (RBS) is a hierarchical list of resources
related by function and resource type that is used to facilitate planning and controlling of project
work. The Resource Breakdown Structure includes, at a minimum, the personnel resources needed for
successful completion of a project, and preferably contains all resources on which project funds will be
spent, including personnel, tools, machinery, materials, equipment and fees and licenses. Money is not
considered a resource in the RBS; only those resources that will cost money are included.

Gantt chart
"Gantt" redirects here. For other uses, see Gantt (disambiguation).
A Gantt chart is a type of bar chart that illustrates a project schedule. Modern Gantt charts also show
the dependency relationships between activities and current schedule status.

(Figure 1.2)

Lovepreet Singh 1503422 Page 16


Chandigarh Engineering College Department Of Information Technology

(Figure 1.3)

(Figure 1.4)

Lovepreet Singh 1503422 Page 17


Chandigarh Engineering College Department Of Information Technology

EXPERIMENT-4
Aim:Preparation of SRS document.

1. Functional requirements

2. Non-functional requirements

3. Goal of implementation

Theory:

What is SRS?
Software requirement specification (SRS) is a document that completely describes what the
proposed software should do without describing how software will do it. The basic goal of the
requirement phase is to produce the SRS, Which describes the complete behavior of the
proposed software. SRS is also helping the clients to understand their own needs.
Advantages:
Software SRS establishes the basic for agreement between the client and the supplier on what
the software product will do.
1. A SRS provides a reference for validation of the final product.
2. A high-quality SRS is a prerequisite to high-quality software.
3. A high-quality SRS reduces the development cost.
Characteristics of an SRS
1. Correct
2. Complete
3. Unambiguous
4. Verifiable
5. Consistent
6. Ranked for importance and/or stability
7. Modifiable
8. Traceable
An SRS is correct if every requirement included in the SRS represents something required in the
final system. An SRS is complete, if everything the software is supposed to do and the responses
of the software to all classes of input data are specified in the SRS. Correctness ensures that what
is specified is done correctly, completeness ensures that everything is indeed specified.
An SRS is unambiguous if and only if every requirement stated has one and only one
interpretation. Requirements are often written in natural language, which are inherently
ambiguous.

Lovepreet Singh 1503422 Page 18


Chandigarh Engineering College Department Of Information Technology

Terminology can cause inconsistencies; for example, different requirements may use different
terms to refer to the same object. All the requirements for software are not of equal importance.
Some are critical, others are important but not critical, and there are some, which are desirable,
but not very important.
Parts of a SRS document
The important parts of SRS document are:

1. Functional requirements of the system

2. Non-functional requirements of the system, and

3. Goals of implementation

Functional requirements:-
The functional requirements part discusses the functionalities required from the system. The
system is considered to perform a set of high-level functions {fi}. The functional view of the
system is shown in fig. 3.1. Each function fi of the system can be considered as a transformation
of a set of input data (ii) to the corresponding set of output data (oi). The user can get some
meaningful piece of work done using a high-level function.

Identifying functional requirements from a problem description


The high-level functional requirements often need to be identified either from an informal
problem description document or from a conceptual understanding of the problem. Each high-
level requirement characterizes a way of system usage by some user to perform some
meaningful piece of work.

Lovepreet Singh 1503422 Page 19


Chandigarh Engineering College Department Of Information Technology

Here we list all functions {f } that the system performs. Each function f as shown in fig.3.2 is
i i
considered as a transformation of a set of input data to some corresponding output data.

Example:- Consider the case of the library system, where -

F1: Search Book function (fig. 3.3)

Input: an author’s name

Output: details of the author’s books and the location of these books in the library

So the function Search Book (F1) takes the author's name and transforms it into book details.

Functional requirements actually describe a set of high-level requirements, where each high-
level requirement takes some data from the user and provides some data to the user as an output.
Also each high-level requirement might consist of several other functions.

Nonfunctional requirements:-
Nonfunctional requirements deal with the characteristics of the system which can not be
expressed as functions - such as the maintainability of the system, portability of the system,
usability of the system, etc.

Nonfunctional requirements may include: # reliability issues, # accuracy of results, # human -


computer interface issues, # constraints on the system implementation, etc.

Identifying non-functional requirements

Lovepreet Singh 1503422 Page 20


Chandigarh Engineering College Department Of Information Technology

Nonfunctional requirements are the characteristics of the system which can not be expressed as
functions - such as the maintainability of the system, portability of the system, usability of the
system, etc.

Nonfunctional requirements may include:

# reliability issues,

# performance issues,

# human - computer interface issues,

# interface with other external systems,

# security and maintainability of the system, etc.

Goals of implementation:-
The goals of implementation part documents some general suggestions regarding development.
These suggestions guide trade-off among design goals. The goals of implementation section
might document issues such as revisions to the system functionalities that may be required in the
future, new devices to be supported in the future, reusability issues, etc
Properties of a good SRS document
The important properties of a good SRS document are the following:

Concise. The SRS document should be concise and at the same time unambiguous, consistent,
and complete. Verbose and irrelevant descriptions reduce readability and also increase error
possibilities.

Structured. It should be well-structured. A well-structured document is easy to understand and


modify. In practice, the SRS document undergoes several revisions to cope up with the customer
requirements. Often, the customer requirements evolve over a period of time. Therefore, in order
to make the modifications to the SRS document easy, it is important to make the document well-
structured.

Black-box view. It should only specify what the system should do and refrain from stating how
to do these. This means that the SRS document should specify the external behavior of the
system and not discuss the implementation issues.

Conceptual integrity. It should show conceptual integrity so that the reader can easily
understand it.

Response to undesired events. It should characterize acceptable responses to undesired events.


These are called system response to exceptional conditions.

Verifiable. All requirements of the system as documented in the SRS document should be
verifiable. This means that it should be possible to determine whether or not requirements have
been met in an implementation.

Lovepreet Singh 1503422 Page 21


Chandigarh Engineering College Department Of Information Technology

Problems without a SRS document


The important problems that an organization would face if it does not develop an SRS document
are as follows:

1. Without developing the SRS document, the system would not be implemented according to
customer needs.

2. Software developers would not know whether what they are developing is what exactly
required by the customer.

3. Without SRS document, it will be very much difficult for the maintenance engineers to
understand the functionality of the system.

4. It will be very much difficult for user document writers to write the users’ manuals properly
without understanding the SRS document.

Lovepreet Singh 1503422 Page 22


Chandigarh Engineering College Department Of Information Technology

EXPERIMENT- 5
AIM : Study and usage of UML diagram using design phase case tool.

UML stands for Unified Modeling Language which is used in object oriented software
engineering. Although typically used in software engineering it is a rich language that can be
used to model an application structures, behavior and even business processes.

The UML CASE tool description:

The below figure shows the inputs and the outputs of the UML diagrams generator (UML)
CASE tool. However, we can note that the outputs are divided into two distinct types, that is, the
event-based use-case and event-based class diagrams which are to be constructed based on an
individual event and the integrated use-case and integrated class diagrams which to be
constructed based on the whole events.

The UML CASE tool has been built to generate the use-case and class diagrams using the
entered event table.

However, this new CASE tool contains the following features (functionalities),

• Build events table

• Build event based use-case diagram

• Generate use-case diagram

• Build event based class diagram

• Generate class diagram

To build an event table, we need to enter all the elements of each event as the following: event,
input message, general source, special source, action, object, output message, includes action,
extends action, specialization action and destination.

After the event table has been completely entered, the other features can be used. However, the
‘build event based use-case diagram’ button will produce the related use-case(s), actor(s) and
relationship(s) for each event and the ‘build event based class diagram’ button will produce the
related class(s) for each event. Furthermore, the ‘generate use-case diagram’ and ‘generate class
diagram’ will produce the integrated use-case diagram and class diagram for the whole event
table, respectively.

Lovepreet Singh 1503422 Page 23


Chandigarh Engineering College Department Of Information Technology

Snapshot of the integrated class diagram for the library system

Lovepreet Singh 1503422 Page 24


Chandigarh Engineering College Department Of Information Technology

EXPERIMENT-6
Aim: To perform unit testing and integration testing.

Software Testing is evaluation of the software against requirements gathered from users and
system specifications. Testing is conducted at the phase level in software development life cycle
or at module level in program code. Software testing comprises of Validation and Verification.
Target of the test are -
 Errors - These are actual coding mistakes made by developers. In addition, there is a
difference in output of software and desired output, is considered as an error.
 Fault - When error exists fault occurs. A fault, also known as a bug, is a result of an
error which can cause system to fail.
 Failure - failure is said to be the inability of the system to perform the desired task.
Failure occurs when fault exists in the system.
Manual Vs Automated Testing:
Testing can either be done manually or using an automated testing tool:
 Manual - This testing is performed without taking help of automated testing tools. The
software tester prepares test cases for different sections and levels of the code, executes
the tests and reports the result to the manager.
Manual testing is time and resource consuming. The tester needs to confirm whether or
not right test cases are used. Major portion of testing involves manual testing.
 Automated This testing is a testing procedure done with aid of automated testing tools.
The limitations with manual testing can be overcome using automated test tools.
Testing Levels:
Testing itself may be defined at various levels of SDLC. The testing process runs parallel to
software development. Before jumping on the next stage, a stage is tested, validated and
verified. Testing separately is done just to make sure that there are no hidden bugs or issues left
in the software. Software is tested on various levels -
Unit Testing:
While coding, the programmer performs some tests on that unit of program to know if it is error
free. Testing is performed under white-box testing approach. Unit testing helps developers
decide that individual units of the program are working as per requirement and are error free.
Integration Testing:
Even if the units of software are working fine individually, there is a need to find out if the
units if integrated together would also work without errors. For example, argument passing and
data updation etc.

Lovepreet Singh 1503422 Page 25


Chandigarh Engineering College Department Of Information Technology

System Testing:
The software is compiled as product and then it is tested as a whole. This can be accomplished
using one or more of the following tests:
 Functionality testing - Tests all functionalities of the software against the requirement.
 Performance testing - This test proves how efficient the software is. It tests the
effectiveness and average time taken by the software to do desired task. Performance
testing is done by means of load testing and stress testing where the software is put
under high user and data load under various environment conditions.
 Security & Portability - These tests are done when the software is meant to work on
various platforms and accessed by number of persons.
Acceptance Testing:
When the software is ready to hand over to the customer it has to go through last phase of
testing where it is tested for user-interaction and response. This is important because even if the
software matches all user requirements and if user does not like the way it appears or works, it
may be rejected.
 Alpha testing - The team of developer themselves perform alpha testing by using the
system as if it is being used in work environment. They try to find out how user would
react to some action in software and how the system should respond to inputs.
 Beta testing - After the software is tested internally, it is handed over to the users to use
it under their production environment only for testing purpose. This is not as yet the
delivered product. Developers expect that users at this stage will bring minute problems,
which were skipped to attend.
Regression Testing:
Whenever a software product is updated with new code, feature or functionality, it is tested
thoroughly to detect if there is any negative impact of the added code. This is known as
regression testing.

UNIT TESTING

Unit Testing is a level of software testing where individual units/


components of a software are tested. The purpose is to validate that each unit
of the software performs as designed.
Method
Unit Testing is performed by using the White Box Testing method.
When is it performed?
Unit Testing is the first level of testing and is performed prior to Integration Testing.
Who performs it?
Unit Testing is normally performed by software developers themselves or their peers. In rare
cases it may also be performed by independent software testers.
Tasks

Lovepreet Singh 1503422 Page 26


Chandigarh Engineering College Department Of Information Technology

 Unit Test Plan


o Prepare
o Review
o Rework
o Baseline
 Unit Test Cases/Scripts
o Prepare
o Review
o Rework
o Baseline
 Unit Test
o Perform
Benefits

 Unit testing increases confidence in changing/ maintaining code.


 Codes are more reusable. In order to make unit testing possible, codes need to be
modular. This means that codes are easier to reuse.
 Development is faster.
 The cost of fixing a defect detected during unit testing is lesser in comparison to that of
defects detected at higher levels.
 Debugging is easy
 Codes are more reliable.

INTEGRATION TESTING

Integration Testing is a level of software testing where individual units are


combined and tested as a group. The purpose of this level of testing is to
expose faults in the interaction between integrated units. Test drivers and test
stubs are used to assist in Integration testing.
Method
Any of Black Box Testing, White Box Testing, and Gray Box Testing methods can be used.
Normally, the method depends on your definition of ‘unit’.
Tasks

 Integration Test Plan


o Prepare
o Review
o Rework
o Baseline
 Integration Test Cases/Scripts
o Prepare
o Review
o Rework
o Baseline
 Integration Test
o Perform
When is Integration Testing performed?

Lovepreet Singh 1503422 Page 27


Chandigarh Engineering College Department Of Information Technology

Integration Testing is performed after Unit Testing and before System Testing.
Who performs Integration Testing?

Either Developers themselves or independent Testers perform Integration Testing.

Approaches

 Big Bang is an approach to Integration Testing where all or most of the units are
combined together and tested at one go. This approach is taken when the testing team
receives the entire software in a bundle. So what is the difference between Big Bang
Integration Testing and System Testing? Well, the former tests only the interactions
between the units while the latter tests the entire system.
 Top Down is an approach to Integration Testing where top level units are tested first and
lower level units are tested step by step after that. This approach is taken when top down
development approach is followed. Test Stubs are needed to simulate lower level units
which may not be available during the initial phases.
 Bottom Up is an approach to Integration Testing where bottom level units are tested first
and upper level units step by step after that. This approach is taken when bottom up
development approach is followed. Test Drivers are needed to simulate higher level units
which may not be available during the initial phases.
 Sandwich/Hybrid is an approach to Integration Testing which is a combination of Top
Down and Bottom Up approaches.

Lovepreet Singh 1503422 Page 28


Chandigarh Engineering College Department Of Information Technology

EXPERIMENT-7
Aim: To perform various white box and black box testing techniques.

White Box Testing

White Box Testing is the testing of a software solution's internal coding and infrastructure. It
focuses primarily on strengthening security, the flow of inputs and outputs through the
application, and improving design and usability. White box testing is also known as Clear Box
testing, Open Box testing, Structural testing, Transparent Box testing, Code-Based testing, and
Glass Box testing.

It is one of two parts of the "box testing" approach of software testing. Its counter-part,
blackbox testing, involves testing from an external or end-user type perspective. On the other
hand, Whitebox testing is based on the inner workings of an application and revolves around
internal testing.

The term "whitebox" was used because of the see-through box concept. The clear box or
whitebox name symbolizes the ability to see through the software's outer shell (or "box") into its
inner workings. Likewise, the "black box" in "black box testing" symbolizes not being able to
see the inner workings of the software so that only the end-user experience can be tested.

Steps to perform White Box Testing:

To give you a simplified explanation of white box testing, we have divided it into two basic
steps. This is what testers do when testing an application using the white box testing technique:

STEP 1) UNDERSTAND THE SOURCE CODE

The first thing a tester will often do is learn and understand the source code of the application.
Since white box testing involves the testing of the inner workings of an application, the tester
must be very knowledgeable in the programming languages used in the applications they are
testing. Also, the testing person must be highly aware of secure coding practices. Security is
often one of the primary objectives of testing software. The tester should be able to find security
issues and prevent attacks from hackers and naive users who might inject malicious code into the
application either knowingly or unknowingly.

Step 2) CREATE TEST CASES AND EXECUTE

The second basic step to white box testing involves testing the application's source code for
proper flow and structure. One way is by writing more code to test the application's source code.
The tester will develop little tests for each process or series of processes in the application.
This method requires that the tester must have intimate knowledge of the code and is often done
by the developer. Other methods include manual testing, trial and error testing and the use of
testing tools as we will explain further on in this article.

Lovepreet Singh 1503422 Page 29


Chandigarh Engineering College Department Of Information Technology

White Box Testing Techniques


A major White box testing technique is Code Coverage analysis. Code Coverage analysis,
eliminates gaps in a test case suite. It identifies areas of a program that are not exercised by a set
of test cases. Once gaps are identified, you create test cases to verify untested parts of code,
thereby increase the quality of the software product

There are automated tools available to perform Code coverage analysis. Below are a few
coverage analysis techniques

Statement Coverage - This technique requires every possible statement in the code to be tested
at least once during the testing process.

Branch Coverage - This technique checks every possible path (if-else and other conditional
loops) of a software application. Tools: An example of a tool that handles branch coverage
testing for C, C++ and Java applications is TCAT-PATH

Apart from above, there are numerous coverage types such as Condition Coverage, Multiple
Condition Coverage, Path Coverage, Function Coverage etc. Each technique has its own merits
and attempts to test (cover) all parts of software code.

Using Statement and Branch coverage you generally attain 80-90% code coverage which is
sufficient.

Black Box Testing

Black box testing is a software testing techniques in which functionality of the software under
test (SUT) is tested without looking at the internal code structure, implementation details and
knowledge of internal paths of the software. 7This type of testing is based entirely on the
software requirements and specifications.

In Black Box Testing we just focus on inputs and output of the software system without
bothering about internal knowledge of the software program.

The above Black-Box can be any software system you want to test. For example: an operating
system like Windows, a website like Google, a database like Oracle or even your own custom
application. Under Black Box Testing, you can test these applications by just focusing on the
inputs and outputs without knowing their internal code implementation.

Lovepreet Singh 1503422 Page 30


Chandigarh Engineering College Department Of Information Technology

Black Box Testing - Steps


Here are the generic steps followed to carry out any type of Black Box Testing.

 Initially requirements and specifications of the system are examined.


 Tester chooses valid inputs (positive test scenario) to check whether SUT processes them
correctly . Also some invalid inputs (negative test scenario) are chosen to verify that the SUT
is able to detect them.
 Tester determines expected outputs for all those inputs.
 Software tester constructs test cases with the selected inputs.
 The test cases are executed.
 Software tester compares the actual outputs with the expected outputs.
 Defects if any are fixed and re-tested.

Types of Black Box Testing


There are many types of Black Box Testing but following are the prominent ones -

 Functional testing - This black box testing type is related to functional requirements of a
system; it is done by software testers.
 Non-functional testing - This type of black box testing is not related to testing of a specific
functionality, but non-functional requirements such as performance, scalability, usability.
 Regression testing - Regression testing is done after code fixes, upgrades or any other
system maintenance to check the new code has not affected the existing code.

Tools used for Black Box Testing:


Tools used for Black box testing largely depends on the type of black box testing you are doing.

For Functional/ Regression Tests you can use - QTP, Selenium

For Non-Functional Tests, you can use - Loadrunner, Jmeter

Lovepreet Singh 1503422 Page 31


Chandigarh Engineering College Department Of Information Technology

EXPERIMENT- 8

AIM : Testing of web site.

First let’s see web testing checklists:


1) Functionality Testing
2) Usability testing
3) Interface testing
4) Compatibility testing
5) Performance testing
6) Security testing

1) Functionality Testing:
Test for – all the links in web pages, database connection, forms used for submitting or getting
information from user in the web pages, Cookie testing etc.

Check all the links:


 Test the outgoing links from all the pages to specific domain under test.
 Test all internal links.
 Test links jumping on the same pages.
 Test links used to send email to admin or other users from web pages.
 Test to check if there are any orphan pages.
 Finally link checking includes, check for broken links in all above-mentioned links.
Test forms in all pages:

Forms are the integral part of any website. Forms are used for receiving information from users
and to interact with them. So what should be checked on these forms?
 First check all the validations on each field.
 Check for default values of the fields.
 Wrong inputs in the forms to the fields in the forms.
 Options to create forms if any, form delete, view or modify the forms.

Cookies Testing:

Cookies are small files stored on the user machine. These are basically used to maintain the
session- mainly the login sessions. Test the application by enabling or disabling the cookies in
your browser options. Test if the cookies are encrypted before writing to user machine. If you
are testing the session cookies (i.e. cookies that expire after the session ends) check for login
sessions and user stats after session ends. Check effect on application security by deleting the
cookies.

Validate your HTML/CSS:


If you are optimizing your site for Search engines then HTML/CSS validation is the most

Lovepreet Singh 1503422 Page 32


Chandigarh Engineering College Department Of Information Technology

important one. Mainly validate the site for HTML syntax errors. Check if the site is crawlable to
different search engines.

Database testing:

Data consistency is also very important in web application. Check for data integrity and errors
while you edit, delete, modify the forms or do any DB related functionality.
Check if all the database queries are executing correctly, data is retrieved and also updated
correctly. More on database testing could be load on DB,we will address this in web load or
performance testing below.

2) Usability Testing:

Test for navigation:

Navigation means how an user surfs the web pages, different controls like buttons, boxes or how
the user uses the links on the pages to surf different pages.
Usability testing includes the following:
 Website should be easy to use.
 Instructions provided should be very clear.
 Check if the instructions provided are perfect to satisfy its purpose.
 Main menu should be provided on each page.
 It should be consistent enough.

Content checking:

Content should be logical and easy to understand. Check for spelling errors. Usage of dark
colours annoys the users and should not be used in the site theme. You can follow some standard
colours that are used for web page and content building. These are the common accepted
standards like what I mentioned above about annoying colours, fonts, frames etc.
Content should be meaningful. All the anchor text links should be working properly. Images
should be placed properly with proper sizes.

3) Interface Testing:

The main interfaces are: Web server and application server interface application server and
Database server interface.
Check if all the interactions between these servers are executed and errors are handled
properly.If database or web server returns any error message for any query by application server
then application server should catch and display these error messages appropriately to the users.
Check what happens if user interrupts any transaction in-between? Check what happens if
connection to the web server is reset in between?

Lovepreet Singh 1503422 Page 33


Chandigarh Engineering College Department Of Information Technology

4) Compatibility Testing:
Compatibility of your website is a very important testing aspect. See which compatibility test to
be executed:
 Browser compatibility
 Operating system compatibility
 Mobile browsing
 Printing options
Browser compatibility:

In my web-testing career I have experienced this as the most influencing part on web site testing.
Some applications are very dependent on browsers. Different browsers have different
configurations and settings that your web page should be compatible with. Your website coding
should be a cross browser platform compatible. If you are using java scripts or AJAX calls for
UI functionality, performing security checks or validations then give more stress on browser
compatibility testing of your web application. Test web application on different browsers like
Internet explorer, Firefox, Netscape navigator, AOL, Safari, Opera browsers with different
versions.
OS compatibility:

Some functionality in your web application is that it may not be compatible with all operating
systems. All new technologies used in web development like graphic designs, interface calls like
different API’s may not be available in all Operating Systems.
Hence test your web application on different operating systems like Windows, Unix, MAC,
Linux, Solaris with different OS flavors.

Mobile browsing:

We are in new technology era. So in future Mobile browsing will rock. Test your web pages on
mobile browsers. Compatibility issues may be there on mobile devices as well.

Printing options:

If you are giving page-printing options then make sure fonts, page alignment, page graphics etc.,
are getting printed properly. Pages should fit to the paper size or as per the size mentioned in
the printing option.

5) Performance testing:

Web application should sustain to heavy load. Web performance testing should include:
 Web Load Testing
 Web Stress Testing

Web Stress testing: Generally stress means stretching the system beyond its specified limits.
Web stress testing is performed to break the site by giving stress and its checked as how the

Lovepreet Singh 1503422 Page 34


Chandigarh Engineering College Department Of Information Technology

system reacts to stress and how it recovers from crashes. Stress is generally given on input
fields, login and sign up areas.
6) Security Testing:
Following are some of the test cases for web security testing:

 Test by pasting internal URL directly onto the browser address bar without login.
Internal pages should not open.
 If you are logged in using username and password and browsing internal pages then try
changing URL options directly. I.e. If you are checking some publisher site statistics with
publisher site ID= 123. Try directly changing the URL site ID parameter to different site
ID which is not related to the logged in user. Access should be denied for this user to
view others stats.
 Try some invalid inputs in input fields like login username, password, input text boxes
etc. Check the systems reaction on all invalid inputs.
 Web directories or files should not be accessible directly unless they are given download
option.
 Test the CAPTCHA for automates script logins.
 Test if SSL is used for security measures. If used proper message should get displayed
when user switch from non-secure http:// pages to secure https:// pages and vice versa.
 All transactions, error messages, security breach attempts should get logged in log files
somewhere on the web server.

Lovepreet Singh 1503422 Page 35

Você também pode gostar