Professional Documents
Culture Documents
14 Lab Manual
14 Lab Manual
GANDHINAGAR, BHAT-382428.
Laboratory Manual
Year: 2023-2024
Semester-5th
Certificate
This is to Certify that Mr./Ms………………………………………………………...
Date of Submission
Approved By Principal
SSIT 5TH SEM CE (SE)
INDEX
Sr. No Experiment Signature
1 Study the complete Software Development Life
Cycle (SDLC) and analyze various activities
conducted as a part of various phases.
Experiment No 1
Aim: Study the complete Software Development Life Cycle (SDLC) and analyze various
activities conducted as a part of various phases.
Software life cycle models describe phases of the software cycle and the order in which those
phases are executed. Each phase produces deliverables required by the next phase in the life
cycle. Requirements are translated into design. Code is produced according to the design which
is called development phase. After coding and development the testing verifies the deliverable of
the implementation phase against requirements. The testing team follows Software Testing Life
Cycle (STLC) which is similar to the development cycle followed by the development team.
There are following six phases in every Software development life cycle model:
Design
Implementation or coding
Testing
Deployment
Maintenance
1) Requirement gathering and analysis: Business requirements are gathered in this phase. This
phase is the main focus of the project managers and stake holders. Meetings with managers,
1
SSIT 5TH SEM CE (SE)
stake holders and users are held in order to determine the requirements like; Who is going to use
the system? How will they use the system? What data should be input into the system? What
data should be output by the system? These are general questions that get answered during a
requirements gathering phase. After requirement gathering these requirements are analyzed for
their validity and the possibility of incorporating the requirements in the system to be
development is also studied.
Finally, a Requirement Specification document is created which serves the purpose of guideline
for the next phase of the model. The testing team follows the Software Testing Life Cycle and
starts the Test Planning phase after the requirements analysis is completed.
2) Design: In this phase the system and software design is prepared from the requirement
specifications which were studied in the first phase. System Design helps in specifying hardware
and system requirements and also helps in defining overall system architecture. The system
design specifications serve as input for the next phase of the model.
In this phase the testers comes up with the Test strategy, where they mention what to test, how to
test.
4) Testing: After the code is developed it is tested against the requirements to make sure that the
product is actually solving the needs addressed and gathered during the requirements phase.
During this phase all types of functional testing like unit testing, integration testing, system
testing, acceptance testing are done as well as non-functional testing are also done.
5) Deployment: After successful testing the product is delivered / deployed to the customer for
their use.
As soon as the product is given to the customers they will first do the beta testing. If any changes
are required or if any bugs are caught, then they will report it to the engineering team. Once
those changes are made or the bugs are fixed then the final deployment will happen.
6) Maintenance: Once when the customers starts using the developed system then the actual
problems comes up and needs to be solved from time to time. This process where the care is
taken for the developed product is known as maintenance.
2
SSIT 5TH SEM CE (SE)
Experiment No 2
Aim: Study of software project management.
Project management is solely based on the idea that a project goes through a number a phases
characterized by a distinct set of activities or tasks that take the project from conception to
conclusion. Projects are big and small, with constraints like cost, time and resources. As projects
become more complex, it‟s important to structure and define projects throughout the entire life-
cycle.
At the start of a project, the amount of planning and work required can seem overwhelming.
There may be dozens, or even hundreds of tasks that need to be completed at just the right time
and in just the right sequence.
Seasoned project managers know it is often easier to handle the details of a project and take steps
in the right order when you break the project down into phases. Dividing your project
management efforts into these five phases can help give your efforts structure and simplify them
into a series of logical and manageable steps.
1. Project Initiation
Initiation is the first phase of the project lifecycle. This is where the project‟s value and
feasibility are measured. Project managers typically use two evaluation tools to decide whether
or not to pursue a project:
o Business Case Document – This document justifies the need for the project, and it
includes an estimate of potential financial benefits.
3
SSIT 5TH SEM CE (SE)
o Feasibility Study – This is an evaluation of the project‟s goals, timeline and costs to
determine if the project should be executed. It balances the requirements of the project
with available resources to see if pursuing the project makes sense.
Teams abandon proposed projects that are labeled unprofitable and/or unfeasible. However,
projects that pass these two tests can be assigned to a project team or designated project office.
2. Project Planning
Once the project receives the green light, it needs a solid plan to guide the team, as well as keep
them on time and on budget. A well-written project plan gives guidance for obtaining resources,
acquiring financing and procuring required materials. The project plan gives the team direction
for producing quality outputs, handling risk, creating acceptance, communicating benefits to
stakeholders and managing suppliers.
The project plan also prepares teams for the obstacles they might encounter over the course of
the project, and helps them understand the cost, scope and timeframe of the project.
3. Project Execution
This is the phase that is most commonly associated with project management. Execution is all
about building deliverables that satisfy the customer. Team leaders make this happen by
allocating resources and keeping team members focused on their assigned tasks.
Execution relies heavily on the planning phase. The work and efforts of the team during the
execution phase are derived from the project plan.
Monitoring and control are sometimes combined with execution because they often occur at the
same time. As teams execute their project plan, they must constantly monitor their own progress.
To guarantee delivery of what was promised, teams must monitor tasks to prevent scope creep,
calculate key performance indicators and track variations from allotted cost and time. This
constant vigilance helps keep the project moving ahead smoothly.
5. Project Closure
Teams close a project when they deliver the finished project to the customer, communicating
completion to stakeholders and releasing resources to other projects. This vital step in the project
lifecycle allows the team to evaluate and document the project and move on the next one, using
previous project mistakes and successes to build stronger processes and more successful teams.
4
SSIT 5TH SEM CE (SE)
Although project management may seem overwhelming at times, breaking it down into these
five distinct cycles can help your team manage even the most complex projects and use time and
resources more wisely.
5
SSIT 5TH SEM CE (SE)
Experiment No 3
Aim: Study of COCOMO model.
COCOMO is one of the most widely used software estimation models in the world.
This model is developed in 1981 by Barry Boehm to give estimation of number of man-
months it will take to develop a software product.
COCOMO predicts the efforts and schedule of software product based on size of
software.
COCOMO has three different models that reflect complexity
1. Basic Model
2. Intermediate Model
3. Detailed Model
1. Organic mode In this mode, relatively simple, small software projects with a small team
are handled. Such team should have good application experience to less rigid
requirements.
2. Semi-detached projects In this class intermediate project in which team with mixed
experience level are handled. Such project may have mix of rigid and less than rigid
requirements.
3. Embedded projects In this class, project with tight hardware, software and operational
constraints are handled.
6
SSIT 5TH SEM CE (SE)
1. Basic Model
The basic COCOMO model estimate the software development effort using only Lines of
code
E=abKLOCbbD=cbEdbE=abKLOCbbD=cbEbd
KLOC is the estimated number of delivered lines of code for the project
2. Intermediate Model
This estimation model makes use of set of “Cost Driver Attributes” to compute the cost
of software.
I. Product attributes
b. memory constraints
a. analyst capability
c. applications experience
7
SSIT 5TH SEM CE (SE)
Each of the 15 attributes is rated on a 6 point scale that ranges from "very low" to "extra
high" (in importance or value).
E=aiKLOCbi×EAFE=aiKLOCib×EAF
KLOC is the estimated number of delivered lines of code for the project
The detailed model uses the same equation for estimation as the intermediate Model.
But detailed model can estimate the effort (E), duration (D), and person (P) of each of
development phases, subsystem and models.
8
SSIT 5TH SEM CE (SE)
Experiment No 4
Aim: Do requirement analysis and develop SRS for suggested system
PRODUCT PRESPECTIVE
The proposed Library Management System will take care of the current book detail at any point
of time. The book issue, book return will update the current book details automatically so that
user will get the update current book details.
FUNCTIONAL REQUIREMENT
1. Register
Description : First the user will have to register/sign up. There are two different type of users.
The library manager/head : The manager have to provide details about the name of library
Regular person/student : The user have to provide details about his/her name of address, phone
number, email id.
2. Sign up
Output: Confirmation of registration status and a membership number and password will be
generated and mailed to the user.
Processing: All details will be checked and if any error are found then an error message is
displayed else a membership number and password will be generated.
3. Login
Input: Enter the membership number and password provided.
9
SSIT 5TH SEM CE (SE)
1. Books issued.
2. Search
3. Issues book
Output : conformation for book issue and apology for failure in issue.
Processing : if selected book is available then book will be issued else error will be displayed.
4. Renew book
Processing : If the issued book is already reserved by another user then error message will be
send and if not then conformation message will be displayed.
5. Return
Output : The issued list will be updated and the returned book will be listed out.
6. Reserve book
10
SSIT 5TH SEM CE (SE)
Description : If a book is issued by someone then the user can reserve it ,so that later the user can
issue it.
6.Fine
Processing : The fine will be calculated, if it crossed the date of return and the user did not
renewed if then fine will be applied by Rs 10 per day.
2.Add books
Input : Enter the details of the books such as names ,author ,edition, quantity.
3. Remove books
USER CHARACTERSTICS
User module: In the user module, user will check the availability of the books.
Issue book
Reserve book
Return book
Fine details
Library module:
Add new book
Remove books
Update details of book
11
SSIT 5TH SEM CE (SE)
Administration module:
The following are the sub module in the administration module :
Register user
Entry book details
Book issue
12
SSIT 5TH SEM CE (SE)
Experiment No 5
Aim: Design Data Flow Diagram of system.
Data Flow Diagram is a means of representing a system at any level of detail with a graphic
network of symbols showing data flows, data stores, data processes, and data
sources/destinations.
The purpose of data flow diagrams is to provide a semantic bridge between users and systems
developers. The diagrams are:
logical representations, modelling WHAT a system does, rather than physical models
showing HOW it does it;
The goal of data flow diagramming is to have a commonly understood model of a system. The
diagrams are the basis of structured systems analysis. Data flow diagrams are supported by other
techniques of structured systems analysis such as data structure diagrams, data dictionaries, and
procedure-representing techniques such as decision tables, decision trees, and structured English.
Data Flow Diagrams are composed of the four basic symbols shown below.
The External Entity symbol represents sources of data to the system or destinations of data from
the system.
13
SSIT 5TH SEM CE (SE)
The Data Store symbol represents data that is not moving (delayed data at rest).
The Process symbol represents an activity that transforms or manipulates the data (combines,
reorders, converts, etc.).Any system can be represented at any level of detail by these four
symbols.
1. identify and list external entities providing inputs/receiving outputs from system;
3. create a context diagram with system at center and external entities sending and receiving
data flows;
7. trace and record what happens to each of the data flows entering the system (data
movement, data storage, data transformation/processing)
14
SSIT 5TH SEM CE (SE)
DFD level 0:
Library
Library Management
System
LIBRARY DATABASE
15
SSIT 5TH SEM CE (SE)
Experiment No 6
Aim: Design Use-case Diagram for system
Actor
You can picture an actor as a user of the IT system, for example Mr. Steel or Mrs Smith from
check-in. Because individual persons are irrelevant for the model, they are abstracted. So the
actors are called “check-in employee” or “passenger”
Actors represent roles that users take on when they use the IT system, e.g., the role of a check-in
employee. One person can act in more than one role toward the IT system. It is important for the
IT system in which role a person is acting. Therefore, it is necessary to log on to many IT
systems in a certain role, for instance, as a normal user or as an administrator. In each case
access to the appropriate functionalities (use cases) is granted.
Actors themselves are not part of the IT system. However, as employees they can be part of the
business system.
16
SSIT 5TH SEM CE (SE)
Use Case:
Use cases describe the interactions that take place between actors and IT systems during the
execution of business processes:
A use case represents a part of the functionality of the IT system and enables the user (modelled
as an actor) to access this functionality.
Anything that users would like to do with the IT system has to be made available as a use case
(or part of a use case). Functionalities that exist in the IT system, but that are not accessed by
means of use cases, are not available to users.
Even though the idea behind use cases is to describe interactions, flows of batch processing,
which generally do not include interactions, can also be described as use cases. The actor of such
a batch use case is then the one who initiates batch processing. For instance, generating check-in
statistics would be a batch use case.
Association
An association is a connection between an actor and a use case. An association indicates that an
actor can carry out a use case. Several actors at one use case mean that each actor can carry out
the use case on his or her own and not that the actors carry out the use case together:
According to UML, association only means that an actor is involved in a use case. We use
associations in a restricted manner.
Include Relationships
17
SSIT 5TH SEM CE (SE)
It indicates that the use case to which the arrow points is included in the use case on the other
side of the arrow. This makes it possible to reuse a use case in another use case. Figure 4.9 shows
an example of this relationship. In the flow of the use case, express check-in is a point at which
the use case generating boarding pass is included. This means that at this point the entire process
generating boarding pass is carried out. Include relationships can be viewed as a type of call to
a subprogram:
18
SSIT 5TH SEM CE (SE)
details.
19
SSIT 5TH SEM CE (SE)
login
«extends» «extends»
library
add book remove book
member
search book
issue book
reserve book
return book
admin
maintain record
fine
«uses» «uses»
20
SSIT 5TH SEM CE (SE)
Experiment No 7
Aim: Design Activity Diagram for system.
Activity Diagram:
Activity diagram is another important diagram in UML to describe dynamic aspects of the
system.
Activity diagram is basically a flow chart to represent the flow form one activity to another
activity. The activity can be described as an operation of the system.
So the control flow is drawn from one operation to another. This flow can be sequential,
branched or concurrent. Activity diagrams deals with all type of flow control by using different
elements like fork, join etc.
Purpose:
The basic purposes of activity diagrams are similar to other four diagrams. It captures the
dynamic behaviour of the system. Other four diagrams are used to show the message flow from
one object to another but activity diagram is used to show message flow from one activity to
another.
Activity is a particular operation of the system. Activity diagrams are not only used for
visualizing dynamic nature of a system but they are also used to construct the executable system
by using forward and reverse engineering techniques. The only missing thing in activity diagram
is the message part.
It does not show any message flow from one activity to another. Activity diagram is some time
considered as the flow chart. Although the diagrams looks like a flow chart but it is not. It shows
different flow like parallel, branched, concurrent and single.
Activity diagrams are mainly used as a flow chart consists of activities performed by the system.
But activity diagram are not exactly a flow chart as they have some additional capabilities. These
additional capabilities include branching, parallel flow, swim lane etc.
21
SSIT 5TH SEM CE (SE)
Before drawing an activity diagram we must have a clear understanding about the elements used
in activity diagram. The main element of an activity diagram is the activity itself. An activity is a
function performed by the system. After identifying the activities we need to understand how
they are associated with constraints and conditions.
Activities
Association
Conditions
Constraints
Once the above mentioned parameters are identified we need to make a mental layout of the
entire flow. This mental layout is then transformed into an activity diagram.
The following is an example of an activity diagram for order management system. In the diagram
four activities are identified which are associated with conditions. One important point should be
clearly understood that an activity diagram cannot be exactly matched with the code. The activity
diagram is made to understand the flow of activities and mainly used by the business users.
Confirm order
Dispatch order
After receiving the order request condition checks are performed to check if it is normal or
special order. After the type of order is identified dispatch activity is performed and that is
marked as the termination of the process.
22
SSIT 5TH SEM CE (SE)
The basic usage of activity diagram is similar to other four UML diagrams. The specific usage is
to model the control flow from one activity to another. This control flow does not include
messages.
The activity diagram is suitable for modelling the activity flow of the system. An application can
have multiple systems. Activity diagram also captures these systems and describes flow from one
system to another. This specific usage is not available in other diagrams. These systems can be
database, external queues or any other system.
Now we will look into the practical applications of the activity diagram. From the above
discussion it is clear that an activity diagram is drawn from a very high level. So it gives high
level view of a system. This high level view is mainly for business users or any other person who
is not a technical person.
This diagram is used to model the activities which are nothing but business requirements. So the
diagram has more impact on business understanding rather implementation details.
23
SSIT 5TH SEM CE (SE)
24
SSIT 5TH SEM CE (SE)
Experiment No 8
Aim: Design Class Diagram for system.
Class diagram:
The class diagram is a static diagram. It represents the static view of an application. Class
diagram is not only used for visualizing, describing and documenting different aspects of a
system but also for constructing executable code of the software application.
The class diagram describes the attributes and operations of a class and also the constraints
imposed on the system. The class diagrams are widely used in the modelling of object oriented
systems because they are the only UML diagrams which can be mapped directly with object
oriented languages.
The class diagram shows a collection of classes, interfaces, associations, collaborations and
constraints. It is also known as a structural diagram.
Purpose:
The purpose of the class diagram is to model the static view of an application. The class
diagrams are the only diagrams which can be directly mapped with object oriented languages and
thus widely used at the time of construction.
The UML diagrams like activity diagram, sequence diagram can only give the sequence flow of
the application but class diagram is a bit different. So it is the most popular UML diagram in the
coder community.
Class diagrams are the most popular UML diagrams used for construction of software
applications. So it is very important to learn the drawing procedure of class diagram.
Class diagrams have lot of properties to consider while drawing but here the diagram will be
considered from a top level view.
25
SSIT 5TH SEM CE (SE)
Class diagram is basically a graphical representation of the static view of the system and
represents different aspects of the application. So a collection of class diagrams represent the
whole system.
The name of the class diagram should be meaningful to describe the aspect of the system.
For each class minimum number of properties should be specified. Because unnecessary
properties will make the diagram complicated.
Use notes whenever required to describe some aspect of the diagram. Because at the end
of the drawing it should be understandable to the developer/coder.
Finally, before making the final version, the diagram should be drawn on plain paper and
rework as many times as possible to make it correct.
First of all Order and Customer are identified as the two elements of the system and they
have a one to many relationship because a customer can have multiple orders.
We would keep Order class is an abstract class and it has two concrete classes
(inheritance relationship) SpecialOrder and NormalOrder.
The two inherited classes have all the properties as the Order class. In addition they have
additional functions like dispatch () and receive ().
So the following class diagram has been drawn considering all the points mentioned above:
26
SSIT 5TH SEM CE (SE)
Class diagram is a static diagram and it is used to model static view of a system. The static view
describes the vocabulary of the system.
Class diagram is also considered as the foundation for component and deployment diagrams.
Class diagrams are not only used to visualize the static view of the system but they are also used
to construct the executable code for forward and reverse engineering of any system.
Generally UML diagrams are not directly mapped with any object oriented programming
languages but the class diagram is an exception.
Class diagram clearly shows the mapping with object oriented languages like Java, C++ etc. So
from practical experience class diagram is generally used for construction purpose.
27
SSIT 5TH SEM CE (SE)
28
SSIT 5TH SEM CE (SE)
Experiment No 9
Aim: Design E-R Diagram for system.
E-R Diagram
29
SSIT 5TH SEM CE (SE)
Experiment No 10
Aim: Prepare suitable test case for system testing
Unit Testing:
The objective of unit testing is to isolate a section of code and verify its correctness. In
procedural programming a unit may be an individual function or procedure
The goal of unit testing is to isolate each part of the program and show that the individual parts
are correct. Unit testing is usually performed by the developer.
Sometimes software developers attempt to save time by doing minimal unit testing. This is a
myth because skimping on unit testing leads to higher defect fixing costs during system testing,
integration testing and even beta testing after the application is completed. Proper unit testing
done during the development stage saves both time and money in the end.
Unit testing is commonly automated, but may still be performed manually. The IEEE does not
favour one over the other. A manual approach to unit testing may employ a step-by-step
instructional document.
A developer could write another section of code in the application just to test the
function. They would later comment out and finally remove the test code when the
application is done.
They could also isolate the function to test it more rigorously. This is a more thorough
unit testing practice that involves copy and pasting the function to its own testing
environment to other than its natural environment. Isolating the code helps in revealing
unnecessary dependencies between the code being tested and other units or data spaces in
the product. These dependencies can then be eliminated.
30
SSIT 5TH SEM CE (SE)
A coder may use a Unit Test Framework to develop automated test cases. Using an automation
framework, the developer codes criteria into the test to verify the correctness of the unit. During
execution of the test cases, the framework logs those that fail any criterion. Many frameworks
will also automatically flag and report in a summary these failed test cases. Depending upon the
severity of a failure, the framework may halt subsequent testing.
Mock Objects:
Unit testing relies on mock objects being created to test sections of code that are not yet part of a
complete application. Mock objects fill in for the missing parts of the program. For example, you
might have a function that needs variables or objects that are not created yet. In unit testing,
those will be accounted for in the form of mock objects created solely for the purpose of the unit
testing done on that section of code.
Developers looking to learn what functionality is provided by a unit and how to use it can
look at the unit tests to gain a basic understanding of the unit API.
Unit testing allows the programmer to refactor code at a later date, and make sure the
module still works correctly (i.e. Regression testing). The procedure is to write test cases
for all functions and methods so that whenever a change causes a fault, it can be quickly
identified and fixed.
Due to the modular nature of the unit testing, we can tests parts of project without waiting
for others to be completed.
Integration testing:
In Integration Testing, individual software modules are integrated logically and tested as
a group.
Hence it is also termed as ‘I & T’ (Integration and Testing), ‘String Testing’ and
sometimes „Thread Testing‟.
Although each software module is unit tested, defects still exist for various reasons like
31
SSIT 5TH SEM CE (SE)
At the time of module development, there wide chances of change in requirements by the
clients. These new requirements may not be unit tested and hence integration testing
becomes necessary.
Integration Test case differs from other test cases in the sense it focuses mainly on the
interfaces & flow of data/information between the modules. Here priority is to be given for
the integrating links rather than the unit functions which are already tested.
Sample Integration Test Cases for the following scenario: Application has 3 modules say „Login
Page‟, „Mail box‟ and „Delete mails‟ and each of them are integrated logically.
Here do not concentrate much on the Login Page testing as it‟s already being done. But check
how it‟s linked to the Mail Box Page.
Similarly Mail Box: Check its integration to the Delete Mails Module.
32
SSIT 5TH SEM CE (SE)
The Software Industry uses variety of strategies to execute Integration testing , viz.
Here all component are integrated together at once, and then tested.
Advantages:
33
SSIT 5TH SEM CE (SE)
Disadvantages:
Given the sheer number of interfaces that need to be tested in this approach, some
interfaces links to be tested could be missed easily.
Since the integration testing can commence only after “all” the modules are designed,
testing team will have less time for execution in the testing phase.
Since all modules are tested at once, high risk critical modules are not isolated and tested
on priority. Peripheral modules which deal with user interfaces are also not isolated and
tested on priority.
Incremental Approach:
In this approach, testing is done by joining two or more modules that are logically related. Then
the other related modules are added and tested for the proper functioning. Process continues until
all of the modules are joined and tested successfully.
This process is carried out by using dummy programs called Stubs and Drivers. Stubs and
Drivers do not implement the entire programming logic of the software module but just simulate
data communication with the calling module.
o Bottom Up
o Top Down
Bottom up Integration
In the bottom up strategy, each module at lower levels is tested with higher modules until
all modules are tested. It takes help of Drivers for testing
Diagrammatic Representation:
34
SSIT 5TH SEM CE (SE)
Advantages:
No time is wasted waiting for all modules to be developed unlike Big-bang approach
Disadvantages:
Critical modules (at the top level of software architecture) which control the flow of
application are tested last and may be prone to defects.
In Top to down approach, testing takes place from top to down following the control flow of the
software system.
Diagrammatic Representation:
Advantages:
Critical Modules are tested on priority; major design flaws could be found and fixed first.
Disadvantages:
The integration test procedure irrespective of the test strategies (discussed above):
35
SSIT 5TH SEM CE (SE)
Testing environment.
Entry and Exit Criteria to Integration testing phase in any software development model
Entry Criteria:
Integration test Plan, test case, scenarios to be signed off and documented.
Exit Criteria:
36
SSIT 5TH SEM CE (SE)
Practical 11
Aim: Study of various CASE tools.
CASE stands for Computer Aided Software Engineering. It means, development and
maintenance of software projects with help of various automated software tools.
CASE Tools
CASE tools are set of software application programs, which are used to automate SDLC
activities. CASE tools are used by software project managers, analysts and engineers to develop
software system.
There are number of CASE tools available to simplify various stages of Software Development
Life Cycle such as Analysis tools, Design tools, Project management tools, Database
Management tools, Documentation tools are to name a few.
Use of CASE tools accelerates the development of project to produce desired result and helps to
uncover flaws before moving ahead with next stage in software development.
CASE tools can be broadly divided into the following parts based on their use at a particular
SDLC stage:
Central Repository - CASE tools require a central repository, which can serve as a
source of common, integrated and consistent information. Central repository is a central
place of storage where product specifications, requirement documents, related reports and
diagrams, other useful information regarding management is stored. Central repository
also serves as data dictionary.
37
SSIT 5TH SEM CE (SE)
Upper Case Tools - Upper CASE tools are used in planning, analysis and design stages
of SDLC.
Lower Case Tools - Lower CASE tools are used in implementation, testing and
maintenance.
Integrated Case Tools - Integrated CASE tools are helpful in all the stages of SDLC,
from Requirement gathering to Testing and documentation.
CASE tools can be grouped together if they have similar functionality, process activities
and capability of getting integrated with other tools.
Scopeof CaseTools
The scope of CASE tools goes throughout the SDLC.
CaseToolsTypes
Now we briefly go through various CASE tools
Diagram tools
These tools are used to represent system components, data and control flow among various
software components and system structure in a graphical form. For example, Flow Chart Maker
tool for creating state-of-the-art flowcharts.
Process Modeling Tools
Process modeling is method to create software process model, which is used to develop the
software. Process modeling tools help the managers to choose a process model or modify it as
per the requirement of software product. For example, EPF Composer
Project Management Tools
These tools are used for project planning, cost and effort estimation, project scheduling and
resource planning. Managers have to strictly comply project execution with every mentioned
step in software project management. Project management tools help in storing and sharing
project information in real-time throughout the organization. For example, Creative Pro Office,
Trac Project, Basecamp.
Documentation Tools
Documentation in a software project starts prior to the software process, goes throughout all
phases of SDLC and after the completion of the project.
Documentation tools generate documents for technical users and end users. Technical users are
mostly in-house professionals of the development team who refer to system manual, reference
manual, training manual, installation manuals etc. The end user documents describe the
38
SSIT 5TH SEM CE (SE)
functioning and how-to of the system such as user manual. For example, Doxygen, DrExplain,
Adobe RoboHelp for documentation.
Analysis Tools
These tools help to gather requirements, automatically check for any inconsistency, inaccuracy in
the diagrams, data redundancies or erroneous omissions. For example, Accept 360, Accompa,
CaseComplete for requirement analysis, Visible Analyst for total analysis.
Design Tools
These tools help software designers to design the block structure of the software, which may
further be broken down in smaller modules using refinement techniques. These tools provides
detailing of each module and interconnections among modules. For example, Animated Software
Design
An instance of software is released under one version. Configuration Management tools deal
with –
CASE tools help in this by automatic tracking, version management and release management.
For example, Fossil, Git, Accu REV.
These tools are considered as a part of configuration management tools. They deal with changes
made to the software after its baseline is fixed or when the software is first released. CASE tools
automate change tracking, file management, code management and more. It also helps in
enforcing change policy of the organization.
Programming Tools
Prototyping Tools
39
SSIT 5TH SEM CE (SE)
Software prototype is simulated version of the intended software product. Prototype provides
initial look and feel of the product and simulates few aspect of actual product.
Prototyping CASE tools essentially come with graphical libraries. They can create hardware
independent user interfaces and design. These tools help us to build rapid prototypes based on
existing information. In addition, they provide simulation of software prototype. For example,
Serena prototype composer, Mockup Builder.
These tools assist in designing web pages with all allied elements like forms, text, script, graphic
and so on. Web tools also provide live preview of what is being developed and how will it look
after completion. For example, Fontello, Adobe Edge Inspect, Foundation 3, Brackets.
Quality assurance in a software organization is monitoring the engineering process and methods
adopted to develop the software product in order to ensure conformance of quality as per
organization standards. QA tools consist of configuration and change control tools and software
testing tools. For example, SoapTest, AppsWatch, JMeter.
40