Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

What Is Software?: Applications Are of Two Types

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

What is Software?

◦ Software is nothing but collection of programs’

◦ Program that tells a computer how to perform tasks

◦ Software application is a set of programs designed to perform a specific task for the user

What is Testing?
◦ Testing is a process of checking whether the given software or application is behaving as expected

◦ There is different type of testing with different purpose like white box, black box etc.

◦ Testing is a group of techniques to determine the correctness of the application under the predefined
script but, testing cannot find all the defect of application. The main intent of testing is to detect failures
of the application so that failures can be discovered and corrected. It does not demonstrate that a
product functions properly under all conditions but only that it is not working in some specific
conditions.

Different type of Application & its categories


◦ Applications are of two types
◦ Product - Any application is called as product when it offers standard set of functionalities for
different customers, for example ATM machine

◦ Project- Any application which is developed a single customer based on his/her specific needs,
for example bank portal

◦ Project is categories in two types

◦ Critical project – Where there is financial transactions are there like banking
applications.

◦ Normal project

Ekta Barlota 8983159233 ekta224286@gmail.com


Resources available in software development

•It provides high level idea , how he/she want the application
Customer

Business
• BA discuss with the Customer and gather the information
Analyst

•Developed application as per requirement


Developer

•Check correctness and completeness of application


Tester

What is SDLC?
◦ SDLC means software development life cycle

◦ It is a process which includes various phases that are followed to develop the software application

◦ SDLC is having different stages/phases and each phase has its various activities

◦ Different approach/methodology like agile, waterfall will be used but everyone has these stages

Different phases of software development life cycle

Ekta Barlota 8983159233 ekta224286@gmail.com


Information Gathering/Requirement Gathering
• Business Analyst is responsible for information gathering
• Information gathering is nothing but requirement gathering from customer
• Information gathering involve business requirement specification/document
• Business Analyst prepare business requirement specification/document (BRS)
• The requirement includes how the product will be used and who will use the product to determine the
load of operations. All information gathered from this phase is critical to developing the product as per
the customer requirements.

BRS Template for reference

Ekta Barlota 8983159233 ekta224286@gmail.com


Analysis
• Business Analyst involve in this process

• Outcome of this process is SRS (System Requirement Specification)

• SRS document is made after BRS

• SRS is bible of the project and is detailed documentation

• Following document will be part of SRS

I. Functional flow diagram

II. Functional requirement

III. User Case

IV. Snapshots

Difference between the BRS and SRS

BRS SRS

This is high level requirement gathering This is detailed specification

Example – Facebook Example- Same Application

• Sign up Page • Sign Up Page –

• User should be able to sign • It should have first name,


up last name, email, mobile
number and password
field

• Mobile Number and email


should get OTP/link for
verification

• Standard validation should


be applicable

Ekta Barlota 8983159233 ekta224286@gmail.com


Functional flow diagram
• It helps to understand process flow of it

• It represents relationship between the tasks and it gives proper sequence of task

• Flow diagram is commonly used by the product manager, designer, or people who need to talk about
how the business works

• Please refer the below functional flow diagram for facebook

Ekta Barlota 8983159233 ekta224286@gmail.com


Functional Requirement
• Each and functionality is drilled down in details
• It contains what are the fields will be present, what will be validation etc.

Assignment – Write down the functional requirement for the rest of the fields

Use Case
• It represents list of different roles/actors
• It represents list of actions/task a specific user/actor can perform
• It is nothing but the description of the ways in which user interacts with a system
• Below is the example of Facebook where we have two actor and different action each actor can perform

Ekta Barlota 8983159233 ekta224286@gmail.com


Snapshot
• It will be developed by BA/designer

• It will give the idea to the developer that how system supposed to look like

• There are multiple software/application in market for this like invision

• Below is the snapshot of the Facebook home page with sign up page

Design
• It is the most crucial phase in the development of a system.

• The logical design produced during the analysis is turned into a physical design - a detailed description
of what is needed to solve original problem.

• In this phase, the requirement gathered in the SRS document is used as an input

• In the stage, the programming language and the hardware and software platform in which the new
system will run are also decided.

• There are two type of design –

• High Level - It is the overall system design - covering the system architecture and database
design.

• Low Level design- It is based on high level design. It is more detail design which include sub-
module

Ekta Barlota 8983159233 ekta224286@gmail.com


Coding
• Coding means programming

• Set of programs written by developer will create software

• There are two types of developer – Front end developer and Backend Developer

• Front end developer will focus on programming the front end of website or app that a user will interact
with (the client side). Back-end developer focuses on the side of a website users can’t see (the server
side)

Testing
• Testing is the process of checking completeness/correctness of the software

• Testing is divided in three types

• White box testing

• Black box testing

• Gray box testing

Ekta Barlota 8983159233 ekta224286@gmail.com


White box testing
• It is performed by developer

• It is also called as unit testing/code level testing etc.

• It tests internal coding

• Developer will test every line of the code of the program. The developers perform the White
box testing and then send the application or the software to the testing team,

Black box testing


• It is performed by tester
• It is also known as Behavioral Testing
• A tester, without knowledge of the internal structures of a website, tests the web pages by using
a browser, providing inputs (clicks, keystrokes) and verifying the outputs against the expected
outcome.
• It further divided in functional /non-functional testing

Gray box testing


• It is performed by tester

• It is combination of White box and black box testing

• In Grey box testing, internal structure is partially known

• Generally, in product-based companies' tester performed grey box testing

Ekta Barlota 8983159233 ekta224286@gmail.com


Maintenance
◦ Maintenance means providing the services after the delivery of the project

◦ Maintenance involved technical and non-technical support

◦ Technical support is called KPO (Knowledge process outsourcing), it generally involve accounting, market
and legal research etc.

◦ Non-Technical support in call BPO (Business process outsourcing), it is generally call center for customer
assistance

SDLC Model
◦ There are various software development life cycle models defined and designed which are followed
during the software development process. These models are also referred as Software Development
Process Models

◦ Every model will follow all the SDLC stages

◦ Following are the most important and popular SDLC models

◦ Waterfall model

◦ Iterative model

◦ V-model

◦ Agile

Waterfall Model
• Winston Royce introduced the Waterfall Model in 1970

• It will have same stages as SDLC

• Developer must complete every phase before the next phase begins

Ekta Barlota 8983159233 ekta224286@gmail.com


When should we go for Waterfall?
• The requirements are well documented

• Product definition is stable

• The technologies are predefined which makes it not dynamic

• No ambiguous requirements

• The project is short

Advantages and Disadvantages of waterfall model


Advantages

◦ Simple and Easy to understand

◦ Management simplicity thanks to its rigidity: every phase has a defined result

◦ Perfect for the small or mid-sized projects where requirements are clear

Disadvantages

◦ The software is ready only after the last stage is over

◦ High risks and uncertainty

◦ Not the best choice for complex

◦ Once the application is in testing stage, it is difficult to go back and change what is uncertainty

◦ Not suitable for the projects where requirement is at a moderate to high risk of changing

Ekta Barlota 8983159233 ekta224286@gmail.com

You might also like