Sunteți pe pagina 1din 4


A set of instructions or programs which are designed to perform a specific task.

S/w is categorized into 2:

A) system s/w:
S/w which acts as an interface between the hardware components and the interface(application

Ex: windows, linux, unix, solaris, apple machintosh...

B) applciation s/w:
S/w which is developed to perform a specific task for the end user.

Ex: ms office, gmail, google, msn, yahoo, online reservations, gaming s/w......

Is the process of verification and validation to ensure the completeness and correctness int he
Is an intent of idenfying the defects in the s/w system
Is a process of identifying the hidden defects in the s/w system

Test/quality engineer is responsible in testing a software application

Manual testing:
A human interacting with the s/w system to ensure it's completeness and correctness.

Advantages of testing:
1. Improves the quality of the s/w constructed.

2. Reduces the cost and time for the customer in reinvesting to fix the defects identified in

Testing obejcttive:
Is to identify the defects in the s/w system

Principles of testing:

1. Testing should start at very initial stage of the development process

2. Both postiive and negative conditions have tobe checked in all the features of the applciation.

3. Exhaustive testing is not possible.

4. Every test should have a high probability of identifying the defects.

5. Testing is pesticide paradox

A s/w which is relatively bugfree and which is developed with in time and within the specified cost
limits is considered be a quality s/w
Quality shoudl also satissfy other factors like reliability, portability, maintainability and

Software engineering:
Is the process of constructing a s/w system.

Software development lifecycle:[sdlc]

It is yhe combination of variaous stages in constructing a software applciation.

There are 6 stages in the development lifecycle:

A) feasibility analysis:
Is otherwise caled as business commit, in which the customer and the vendor will check the
possibility of implementing the software.

As part of feasibility analysis, the complete documentation is prepared, which is called as project
estimates, for which the follwoing factors are taken into consideration:

I) domain:
Is the area of the business performed by the customer
Ex: banking, finance, telecom, networking, retail, logistics, healthcare, investments, insurance.....

Vendor's side team will check the possibility of implementing the s/w in that domain.

Ii) technology:
Checking the possibility of technology(programming/scripting language), required implementing
the software.

Ex: c, c++, vc++, java, .net.....

Iii) resources:
Possibility of the project resources, there are three categories of resources:

A) hardware resource:
The system and network configuration required for implementing the application
Ex: processor, motherboard, hard disk, ram...

B) s/w resources:
The platform required for the applciation
Ex: operating system, web browsers, servers....
Ex: windows, linux, ie, mozilla firefox, netscape navigator....

C) human resources:
Human resoures with the sufficient skillset in both domain and technology..

Iv) time and budget:

If all the above are feasible, the is also the primary constraint in implementing the software which
should be analyzed and budget is directly proportional to the time required for implementing the

With all the above factors, there would be an estimates document prepared and would be sent to
the customer for the evaluation, if customer approves it, then the implementation phase takes

2) requirement collection:
A requirement is a need of the customer.
Collection and documentation of the needs of the customer for implementing the s/w is called as
requirements gathering.

It is the first phase in concept commit, which is driven by the vendor's team which might be a
combination of
Project managers, leads and analysts.

All the requirements would be collected and documented in a word document, requirements are
of 2 types:

A) business requirements:
Is a transaction or a business process performed in the business run by the customer.

Business requirements are high levels requirements with business process and set of business
rules framed by the customer.

Brs[business requirement specification]: collection of all the business needs of the customer

B) functional requirements:
These are the detailed requirements, which is a documentation of implementing a businnes
transaction with all the constraints, business rules with both primary and alternate flow of events.

Frs[functional requirement specifications]: a document which is a combination of both functional

Non functional aspects in a project is called as frs

Frs is also called as:

Srs: system requirement specification
Srs: software requirement specification
Fd: functional document

Note: often frs is a combination of flow charts, data flow diagrams and use cases.

Designing the structure of the software tobe constructued.
Design architechts are mostly involved in designing the applciation.

Desgin documents would give a beeter understanding on the nature of the functionality, which
makes it easy to implement or construct the s/w

Design is done at 2 levels:

A) high level desin(hld):

Is otherwise called as architechtural design, where the complete navigational flow of the system
from first to the last screen are designed.

B) low level design(lld):

Is otherwise called as detailed design, in which two things are designed:
I) interface: designing the components in the user interface with all the elements in a given screen
or a page

Ii) database design: designing the databases, tables, constraints, validations.

4) coding/implementation:
Is the actual construction phase where the static applciation is converted to dynamic applciation
by generating the source code/programs.

Is otherwise called as transition phase, where the developers/programmers are involved.

5) testing:
Is the validation phase which is carried out by the test/quality engineers to validate the
system/application developed is as per the customer expectations.

Release is the process of delivering the application to the customer for further usage

Also called as "go-live" or "production"

Maintenance, is the process of monitoring the s/w released to the customer in the customer's site
by a group of developers and testers for a specifc amount of time.