[go: up one dir, main page]

0% found this document useful (0 votes)
119 views19 pages

Software's Role in Key Sectors

The document discusses the role of software across various domains including healthcare, airlines, banking/insurance, retail, and education. It provides examples of software used in each domain such as electronic health records, telehealth apps, airline maintenance software, banking transaction software, retail POS systems, and education productivity tools.

Uploaded by

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

Software's Role in Key Sectors

The document discusses the role of software across various domains including healthcare, airlines, banking/insurance, retail, and education. It provides examples of software used in each domain such as electronic health records, telehealth apps, airline maintenance software, banking transaction software, retail POS systems, and education productivity tools.

Uploaded by

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

Software Validation, Verification and Testing

Lab File
UNIVERSITY INSTITUTE OF ENGINEERING AND TECHNOLOGY
KURUKSHETRA UNIVERSITY KURUKSHETRA

( 2019 - 2023 )

SUBMITTED TO : SUBMITTED BY :

Dr. Naresh kumar Navneet

CSE Department 251902137

UIET, KUK CSE-B (7th SEM)


Practical No. 1
(Role of software)

AIM:

To identify the role of the software in today’s world across a few significant domains
related to day to day life.

Background:

Software has made the world a global village today. The impact of software spans across
almost all aspect of human life. All organizations, Institutions and companies are
leveraging the potentials of software in automating the critical functions and eliminating
manual interventions. Software is also a predominant are for trade and export especially
for the countries like India. Domains like health care, Airlines , financial Services,
Insurance , retails, Education, and many more have exploited software and still there a
lot of the scope for software to create impact and add values in multiple dimensions.

Problem Description:

Identify the areas (or application or systems) how software has been leveraged
extensively in the following domains

1. Health Care
2. Airlines
3. Banking Insurance
4. Retail
5. Education

Software has become the most essential and commercial now a days. Every sector of
real life is impossible without Software. Software has not only impact as necessary but it
also plays a great role in developing any sector.

Some of the sector influenced by Software are following.


1: Health Care

Healthcare Informatics is one of the fastest growing economic sectors in the world today.
With the anticipated future advances and investments in this field, it is expected that
Healthcare Informatics will become one of the dominating economic factors in the 21st
century.

· In addition to economic importance, this field has the potential to make substantial
contributions to the comfort and longevity of every human being on the face of
the earth. Software, and thus Software Engineering, has an important role to
play in all of this. Implantable devices, electronic records, robotic-driven surgery
are just some examples where software plays a critical role.

· In addition, medical processes are known to be error prone and prime targets for
process improvement technology. Moreover, there are important questions
about software quality, user interfaces, systems interoperability, process
automation, and many other concerns familiar to software engineering
practitioners and researchers.

Software components being commonly used in Health Care


A: Health Information Technology or Electronic health records moving from paper to
computer-based medical records is in process across the nation. Access to the patient's
health record by many multiple who are caring for the patients is called interoperability
or the exchange of patients' data across programs. The challenge is cost, user training,
security, and fitting the needs of the organization and providers

B: Telehealth is bringing technology into remote areas for patient monitoring,


education, interaction, and recommendations in their homes, using hand-held devices.

C: Picture archiving and communication systems (PACS) and vendor neutral archives
(VNAs) are programs that store and display medical images such as chest x-rays, and
scans. Radiologists can dictate the report of an x-ray and it becomes immediately
available in emergency departments where time is critical.

D: Wireless medical telemetry services or WMTS are remote monitoring of the


patient's heart rate and respiratory rate while allowing the patient to be anywhere in
the hospital.

E: Healthcare VDI or virtual desktop infrastructures are programs running to secure


healthcare information. Keeping ahead of hackers is a concern to the whole health
system.
2: Airlines

The airlines industry is moving towards investing in smart systems so as to deliver


accurate information. Passengers will leverage technology and be able to track their
luggage. Availability of such information saves valuable time.
· The airlines are planning on making mobile apps the go-to technology for self-
service or customer service. Booking and shopping are set to be transformed
with “smart” retail outlets, thereby opening several lifestyle possibilities.
· Technology is making aircraft smarter, and the concept of connected aircraft is
looking to be implemented. A connected aircraft helps monitor and determine
the health ofcritical avionic systems.
· A complete automation of the check-in process ensures that passengers simply
receive a ready-to-print boarding pass via email.
· The airline industry is beginning to view cyber security much more as a business
related risk. Hence, there are plans on adopting other initiatives around cyber
security over the consecutive few years, such as software development, incident
response, and intelligence and analytics.
· Airlines are looking to further utilize the following components (among others) as
part of its core technology strategy:
· The focus on the customer oriented business model will further drive Insurance
companies in embracing the emerging technologies. Due to the data-intensive
nature of the industry, primarily because it involves collection, processing and
maintaining of information relating to insurance policies.

· Technology investments will be crucial in the dynamic insurance environment not


only to serve the competitive edge but also to maintain the regulatory
obligations and hygiene required.

Applications being used in Airlines

A: WinAir

WinAir is the most cost-efficient, easy-to-use, structurally integrated maintenance and


inventory control software system in the aviation industry. WinAir is aviation
maintenance and inventory software that incorporates sophisticated purchasing,
inventory control, production, maintenance forecasting, cost accounting and invoicing
processes.
B:AvPro

AvPro Software integrates aspects of MRO Software, (Customer Repair Station) CRS
Software, Aircraft Fleet Maintenance Operations and Accounting in an easy-to-use
database.

3: Banking Insurance

The insurance sector as we all are aware is crucial for the country’s economic
development. India serves as a huge market due to its significant untapped
potential.With the Government’s recently announced 12-point action plan for Insurance,
the benefits to the company and policyholders will make Insurance more fundamental
and relevant.

Software being used in Banking Insurance

A: application processing, credit scoring and risk approval, financial screenings, credit
card approvals, transactions.

B: Loan requests, approvals and post approval activities for mortgage loans, personal
loans, car loans Account management, maintenance, openings and cancellations Credit
card automation, and private enterprise loans

C: Services such as product consultations, promissory note guarantees, change of rates,


ACH, fund and wire transfers

D: Insurance underwriting, collateral, titles, escrow services, leasing and financing

E: Operational risk management, investigation of accounts, claims management, anti-


money laundering compliance, audit management

4: Retail

The Importance of Information Technology In The Retail Sector With the increasing
globalization of retailing, both in terms of their points-of-sale and their points-of-supply;
the information technology (IT) spend in the retail sector has increased significantly.
Software being used in Retail

A: Point of Sale (POS) and Inventory Control Software:

A good POS / Retail Management System can be a huge time saver and money maker for
you. That's partly why it's number one...
In its simplest form, a good POS system will track all your sales so you can easily see how
your business is doing (at any time). In other words, it replaces your cash register.

B: Customer Relationship Management (CRM) Software:


One of the unwavering keys to building a successful retail business is to build
relationships with your customers. Because of that, CRM software is a critical tool for
the retail business. And not only will CRM help you improve your customer loyalty it will
help you market to potential prospects and generate new business.

C: Bar Code Scanning and UPC Codes:


Simply put, bar code scanning allows you to check products at the point of sale much
faster and more accurately than can be done on the keyboard. Not only will this save
you time, but you should also consider the effect of your inventory.

D: Electronic Data Interchange (EDI):


EDI technology allows you to send purchase orders (created in your POS software) to
your supplier electronically via phone line or internet. Not only does this save a huge
amount of time, but it can also reduce errors -- so you don't have to apologize to your
customer because you special ordered the wrong item.

E: Retail Accounting Software:


More and more retailers are doing their accounting in-house because they can quickly
produce up-to-date financial statements and see how their business is doing at almost
any time. This has become easier for the small business owner because of a variety of
user friendly accounting applications.

Software being used in Education

A: Productivity Software:
This is an invaluable tool for teachers for word processing, creating spreadsheets and
managing graphics attendance, cumulative grades, academic progress, test scores,
educational objectives that have been met, etc. can all be managed and organized and
retrievable within seconds. Productivity software is for students, as well. Older students
can craft school posters for sports teams or create detailed research projects, while very
young students can word-process on a screen, much like standard writing paper, and
actually listen to what they have written.

B: Presentation Software:

Power-point presentations and slideshows, for example, not only provide an added
dimension to a instructor's teaching approach, but presentation software offers an
excellent venue for parent- teacher conferences, PTO assemblies and school fund-
raising projects that can be presented to an entire adult audience or school
population.In the classroom, text, clip-art, photographs, audio and even animations can
be used by students to create their own slideshow of the planets, for example, and then
present it to the classroom or the principal. The excitement for learning becomes very
contagious and kids become intrinsically motivated.

C: Keyboarding Software:
keyboarding software is for teaching keyboarding. Students can choose from a variety of
games that offer various levels of speed and complexity that meet each student's level
of accomplishment. Even kindergarteners can use this type of software as a way to
recognize names of letters of the alphabet in addition to introducing youngsters to the
keyboard.

D: Classroom management Software:


Classroom management can be a daunting task, but software programs that provide
tools and guidance in that area help to eliminate archaic, time-intensive methods that
take away from precious-little time teachers have to begin with. With any variety of this
type of software, teachers can utilize templates for lesson plans, post student-grades
on-line utilizing letter/percent/point formats and provide parents with ID and passwords
to gain on-site access to view their own child's academic and behavioral status, which
leaves no surprises on report-card day! Teachers can, also, message parents as often as
needed and stay in regular contact with them which builds rapport between home and
school.
Practical No. 2

AIM:

To identify any scenario and identify suitable software development model for the given
scenario.

How to select the right SDLC

Selecting the right SDLC is a process in itself that the organization can implement internally
or consult for. There are some steps to get the right selection.

STEP 1: Learn the about SDLC Models

SDLCs are the same in their usage. In order to select the right SDLC, you should have
enough experience and be familiar with the SDLCs that will be chosen and understand
them correctly.

STEP 2: Assess the needs of Stakeholders

We must study the business domain, stakeholders concerns and requirements, business
priorities, our technical capability and ability, and technology constraints to be able to
choose the right SDLC against their selection criteria.

STEP 3: Define the criteria

Some of the selection criteria or arguments that you may use to select an SDLC are:

1. Is the SDLC suitable for the size of our team and their skills?
2. Is the SDLC suitable for the selected technology we use for implementing the
solution?
3. Is the SDLC suitable for client and stakeholders concerns and priorities?
4. Is the SDLC suitable for the geographical situation (distributed team)?
5. Is the SDLC suitable for the size and complexity of our software?
6. Is the SDLC suitable for the type of projects we do?
7. Is the SDLC suitable for our software engineering capability?
8. Is the SDLC suitable for project risk and quality insurance?
STEP 4: Decide

When you define the criteria and the arguments you need to discuss with the team, you
will need to have a decision matrix and give each criterion a defined weight and score for
each option. After analyzing the results, you should document this decision in the project
artifacts and share it with the related stakeholders.

STEP 5: Optimize

You can always optimize the SDLC during the project execution, you may notice upcoming
changes do not fit with the selected SDLC, it is okay to align and cope with the changes.
You can even make your own SDLC model which optimum for your organization or the
type of projects you are involved in.

What are the Types of Software Development Models and How do They
Work?

1. Waterfall Model
2. Iterative and Incremental Model
3. Spiral Model
4. V-shaped Model
5. Prototype Model
6. Agile Model
7. The DevOps Model

1. Waterfall Model

The Waterfall model is the first of the software project development models to enter the
software development circles. In addition, people also call it linear since the model implies
each stage to be completed before going on to the next one. Hence, the model goes
linearly step by step giving no possibilities to overlap any stage.
The model genuinely resembles a real-life waterfall that has a beginning and an end with
water falling freely from the cliff without being interrupted or altered.
What factors contribute to choosing the Waterfall approach?

1. Short-term projects
2. Clear, fixed, and well-documented requirements
3. Static technology that is understood
4. Stable product definition
5. A variety of resources for product support
6. Low Product Owner Involvement
7. Strictly-set timeline
8. Fixed budget that cannot be changed

The main advantage of Waterfall is that the model is in strict order with regards to the
tasks carried out and their timelines. Due to being fixed, the tasks can be easily divided
between software departments and monitored as to task completion.
Actually, clients may find the Waterfall Model a reliable approach as they will be aware of
the whole process from the start till finish beforehand. As for the disadvantages of the
Waterfall Model, there are some as well. For instance, Waterfall has no revision of a task.

2. Iterative and incremental model

In the Iterative model, the development starts with implementing several small
requirements, and then the product is enhanced with the help of numerous iterations.
Basically, the process of enhancement goes on in increments until the application features
are complete and it is ready to be deployed. Besides, developing only a small part of the
software is a smart approach as you can easily review what was done, quickly identify
further requirements and proceed with the implementation or provide some changes to
the app and then proceed.
Unlike the Waterfall model, the Iterative Model allows carrying out multiple iterations at a
time and receives the product output simultaneously. Actually, the key to success, which
the model offers, is in validating the versions of the software and testing them according
to the requirements. Hence, this allows a better understanding of where the team is at
with the project, the product’s functionality verification, and 100% confidence that the
product will be a success.

Where is the Iterative Model applicable in software development?

1. System requirements are clearly defined and fully understood


2. Additional requirements can occur with time
3. When the team learns new technology and works on the project simultaneously
4. Specific resources will be in action only when they are required for specific
iterations according to the contract
5. When the business goals might change in the future due to high-risk features
The biggest advantage of the Iterative model is that it allows for finding feature and design
flaws at the beginning of development. Working in iterations and validating every
development cycle will result in a risk-free product with the ability to add or remove
features as well as alter the costs and timeline of the final product. Besides advantages,
we should talk about some of the minuses that are also present.

3. Spiral Model

The Spiral Model is a combination of the Iterative and Waterfall models. From the Iterative
methodology, it took the cycled development, and from the Waterfall one, it borrowed a
systematic approach and the ability to control the process. The biggest emphasis of the
current model falls on risk analysis. Also, it delivers a project in iterations, which swirl
around the spiral.

The Spiral Model is designed in 4 stages.

Identification — the stage where it is best to gather business requirements. This is done
in a basic spiral. The following spirals identify system, subsystem, and unit requirements.
Besides gathering requirements, this stage is all about communication between the
customer and the system analyst to understand what is required to deploy.

Design — starts in the basic spiral with the conceptual design and includes subsequent
spirals with architectural design, logical design of modules, physical product design, and
the final design.

Construct (Build) — the development of the actual software product at each and every
spiral. In the basic spiral, when the concept needs to be evaluated according to its
feasibility, you should develop a POC (Proof of Concept) and try to obtain valuable
customer feedback
.
Evaluation (Risk analysis) — a process of identifying, estimating, and monitoring the
technical feasibility and management risks. For example, schedule overdue and cost
overrun.

After the customer has evaluated the build, the next iteration comes forward. This one
follows the linear approach to ensure the feedback given by the customer is implemented.
Basically, the SDLC includes these spiral iterations practically until its finalization.
When is it best to use the Spiral Model?

The Spiral Model is applied when there is a need to “learn with the product’s maturity” :
1. There’s a budget limit and you need to foresee risks
2. You have a medium or high-risk project to carry out
3. There is a long-term project, and changes might occur
4. The requirements are vague to the customer
5. Requirements need more clarity due to their complexity
6. The primary product has to be released in several stages to get valuable customer
feedback
7. You expect major changes to the product during the SDLC

Based on the applicability of the Spiral Model, let’s view its benefits and drawbacks. The
main advantage of the model is that you actually can add elements to the product in case
they become available or known. Also, the Spiral Model involves users at the early stages
of product development, which allows receiving constructive feedback.

4. V-shaped Model

The V-model allows a project to be carried out in a sequence and according to the V
shape. The other name of this model is the Verification and Validation Model because it is
based on the Waterfall Model. However, here, in the SDLC, every stage of development
includes testing as well. So, you carry out a phase, complete it, test it and only then go to
the next phase that will look identical to the previous one with regards to its structure.
In the V-shaped Model, the development phase corresponds to the testing phase and they
go parallelly. This means you can see the Verification phases on one side of the image and
the Validation phases on the other. These sides are being joined with the Coding Phase.

Under those circumstances, there are 4 Verification phases. These are:

1. Requirements analysis
2. System design
3. Architectural design
4. Module design

The validation phase also includes 4 stages:

1. Unit testing
2. Integration testing
3. System testing
4. Acceptance testing
The Coding Phase, as it is seen in the picture, combines the two other stages and makes a
V shape.
The V-shaped model has the same applicability as the Waterfall Model. Moreover,
requirements have to be clearly defined from the very beginning of the SDLC as going back
and making changes will increase the product development costs. In fact, this model suits
best the healthcare industry.

When to implement the V-Shaped Model?

1. There are clearly defined, documented, and stable requirements


2. The technology is also stable and the project team has a full understanding of it
3. All of the requirements are extra clear
4. The project is short-term and not complex

The best advantage of the V-shaped Model is that you can both understand, apply to, and
manage it in an SDLC easily. However, on the contrary, the model lacks flexibility when
changes are on the horizon and it is quite expensive for the customer to implement those
changes as they trigger additional development costs.

5. Prototype model

Prototyping is the creation of software application prototypes that show the visual
representation of the minimal features of the incomplete product. Plus, this enables
understanding customer requirements early in the development stage and getting
valuable feedback. The model includes:

1. Identification of basic requirements


2. Initial prototype development
3. Prototype review
4. Prototype revision and enhancement

There are different types of software prototypes:

Rapid Prototyping – on understanding requirements the system is built with a clearer


understanding of user needs

Evolutionary Prototyping – development of functional prototypes with limited


functionality based on the understood requirements and adding the other requirements in
the process

Incremental Prototyping – building numerous functional prototypes that form a system


and putting them together

Extreme Prototyping – is a web development domain with three phases: basic prototype
in the HTML; prototype service layer; implementation and integration in the final
prototype.
Where and when is the Prototyping Model applicable?

Prototyping is applicable to online software system development where there is a high


level of user interaction. For example,

1. Systems that require users to fill out forms


2. Software that requires lots of data processing

The Prototyping Model also has its advantages and disadvantages. Of course, they depend
on the organization’s needs and requirements.

6. Agile model

Agile methodology is based on the iterative and incremental model but it is more adaptive
and delivers working software at a speedy pace. Due to meeting the client’s requirements
and being very flexible, the Agile methodology brings customer satisfaction. Agile projects
tend to break the production process down into incremental builds or we call them
iterations. Every iteration has a timeline of 1 to 3 weeks and includes different teams
working on various project areas simultaneously. This allows a decrease in the time of
production and it may lower production costs as well.

Every iteration consists of the same processes, which are:


1. Planning
2. Requirements Analysis
3. Design
4. Coding
5. Unit Testing
6. Acceptance Testing

At the end of every iteration, you get a working product and present it to the customer.
Thus, you can understand whether the application is built according to the customer’s
requirements and receive feedback on the work being done. What’s more, agile
methodology is divided into several methods that have their own principles. For instance,

1. Rational Unified Process (RUP)


2. Scrum
3. Kanban
4. ScrumBan
5. Extreme Programming (XP)
6. ScrumXP
7. Iterative Development
8. Lean Software Development
When can we use the Agile Methodology?

1. In small and medium software projects


2. To produce the required multiple variants of the product
3. When you need to break down the development process into smaller parts –
iterations
4. When there’s a need for software delivery acceleration
5. When the team needs to be flexible in changing priorities
6. When the need is to enhance software quality, productivity, and predictability in delivery
7. To promote project risk reduction and achieve cost reduction possibilities
8. To manage teams effectively on the project

7. The DevOps Model

The DevOps model has its unique principles that promote automation and team collaboration. Therefore, the
primary focus of the model is the enhancement of collaboration between teams that are driven by sequential
feedback. The DevOps model, in fact, resembles the Agile methodology. Yet it differs due to the collaboration
focus between technical team members and managers, while Agile focuses on client involvement.

What does DevOps carry out?

1. Continuous Integration and Delivery


2. Microservices
3. Infrastructure as Code
4. Monitoring and Logging
5. Communication and Collaboration
Practical No. 3
AIM: To classify the requirements into functional and non-functional requirements and
list four functional and non functional requirements for any scenario.

Functional requirements: These are the requirements that the end user specifically demands
as basic facilities that the system should offer. All these functionalities need to be necessarily
incorporated into the system as a part of the contract. These are represented or stated in the form
of input to be given to the system, the operation performed and the output expected. They are
basically the requirements stated by the user which one can see directly in the final product,
unlike the non-functional requirements.

They basically deal with issues like:

 Authorization

 Administrative functions

 Verification, etc.

Examples of Functional requirements:

1) Authentication of user whenever he/she logs into the system.

2) System shutdown in case of a cyber attack.

3) A Verification email is sent to user whenever he/she registers for the first time on some
software system.

Non-functional requirements: These are basically the quality constraints that the system
must satisfy according to the project contract. The priority or extent to which these factors are
implemented varies from one project to other. They are also called non-behavioral requirements.
They basically deal with issues like:

 Portability

 Security

 Maintainability

 Reliability

 Scalability, etc.
Examples of Non-Functional requirements:

1) Emails should be sent with a latency of no greater than 12 hours from such an
activity.

2) The processing of each request should be done within 10 seconds

3) The site should load in 3 seconds when the number of simultaneous users are >
10000

Four Functional and Non-Functional requirements for online bus


booking system:

Functional requirements:

 Registering User

 Updating Information

 Information validation

 Generating e-ticket

 Authentication of User and Administration Control

 View Previous Details

 Search Bus and Time Schedule for Different Routes

 Online Payment

 Booking Confirmation and Seat Reservation

 Ticket Cancellation

 Generating Bill.

Non-Functional requirements:

 The system shall provide attractive graphical interface for the user.

 The system shall allow developer access to installed environment.

 The system shall target customer base.

 Reliability: The application should be reliable and it should generate


all updated information in correct order.

 Availability: Application will be available and working properly for all the
time(24 hours).

 Security
Practical No. 4
AIM: Do comparative study of various software development models.

SDLC Models:

There are different software development life cycle models specify and
design, which are followed during the software development phase. These
models are also called "Software Development Process Models." Each
process model follows a series of phase unique to its type to ensure
success in the step of software development.

Comparative analysis of different models is as follows:

 Waterfall Model: It is easy to manage due to the rigidity of the


model as each phase has specific deliverables and a review process.
It works well for smaller projects where requirements are very well
understood.

 RAD Model: It is flexible and adaptable to changes as it


incorporates short development cycles i.e. users see the RAD
product quickly. It also involves user participation thereby
increasing chances of early user community acceptance and
realizes an overall reduction in project risk.

 V-Shaped Model: It work same as waterfall model, the V-Shaped


life cycle is a chronological lane of implementation of processes.
Each phase is compulsory to complete before the next phase
begins. Testing is highlighted in this model more than the waterfall
model.

 Incremental Model: It Combines elements of the waterfall model


applied in an iterative fashion each linear sequence produces
deliverable “increments” of the software.

 Spiral Model: The spiral model is same as to the incremental


model, with more highlighting on risk analysis. The model divided in
four phases: Planning, Risk Analysis, Engineering and Evaluation. A
software project frequently passes through these phases in
iterations (called Spirals in this model).

 Agile Model: Agile development is one kind of iterative and


Incremental development model. Where Software is developed in
incrementally, rapid cycles.

 Iterative Model: It is a particular implementation of a software


development life cycle that focuses on an initial, simplified
implementation, which then progressively gains more complexity
and a broader feature set until the final system is complete.

 Big-Bang Model: It is focusing on all types of resources in software


development and coding, with no or very little planning. The
requirements are understood and implemented when they come.

Comparative analysis of SDLC Models

You might also like