10
Q.What is computer software? A. Computer software is a complete packa ge, which incl udes soft ware program, its documentation and user guide on how to use the software. Q.Can you differentiate computer software and computer program? A. A computer program is piece of programming code which performs a well defined task where as software includes programming code, its documentation and user guide. Q.What is software engineering? A. Software engineerin g is an engin eerin g bran ch associ ated with software system development. Q.When you know programming, what is the need to learn software engineering concepts? A. A person who knows how to build a wall may not be good at building an entire house. Likewise, a person who can write programs may not have knowledge of other concepts of Software Engi neer ing. Th e soft ware engineering concepts guide programmers on how to assess reuirements of end user , desi gn the al go ri thms be fore actual codi ng starts , cr eate programs by coding, testing the code and its documentation. Q.What is sof tware process or Sof tware Development if e Cyc le !SDC"? A.Software !evelopment Life Cycle, or software process is the systematic development of software by follo wi ng every stage in the development process namely, "euirement #athering, System Analysis, !esign, Coding, Te sting, $aintenance and !ocumentation in that order. Q.What are SDC models availa#le? A. There are several S!LC models available such as %aterfall $odel, &terative $odel, Spiral model, '(model and )ig(bang $odel etc. Q.What are various phases of SDC?

Viva Please Read

Embed Size (px)

Citation preview

7/25/2019 Viva Please Read

http://slidepdf.com/reader/full/viva-please-read 1/10

Q.What is computer software?

A. Computer software is a complete package, which includes software

program, its documentation and user guide on how to use the software.

Q.Can you differentiate computer software and computer program?

A. A computer program is piece of programming code which performs a well

defined task where as software includes programming code, its

documentation and user guide.

Q.What is software engineering?

A. Software engineering is an engineering branch associated with software

system development.

Q.When you know programming, what is the need to learn software

engineering concepts?

A. A person who knows how to build a wall may not be good at building an

entire house. Likewise, a person who can write programs may not have

knowledge of other concepts of Software Engineering. The software

engineering concepts guide programmers on how to assess reuirements of 

end user, design the algorithms before actual coding starts, createprograms by coding, testing the code and its documentation.

Q.What is software process or Software Development ife Cycle

!SDC"?

A.Software !evelopment Life Cycle, or software process is the systematic

development of software by following every stage in the development

process namely, "euirement #athering, System Analysis, !esign, Coding,

Testing, $aintenance and !ocumentation in that order.

Q.What are SDC models availa#le?

A. There are several S!LC models available such as %aterfall $odel,

&terative $odel, Spiral model, '(model and )ig(bang $odel etc.

Q.What are various phases of SDC?

7/25/2019 Viva Please Read

http://slidepdf.com/reader/full/viva-please-read 2/10

A. The generic phases of S!LC are* "euirement #athering, System

Analysis and !esign, Coding, Testing and implementation. The phases

depend upon the model we choose to develop software.

Q.Which SDC model is the #est?

A. S!LC $odels are adopted as per reuirements of development process.

&t may very software(to(software to ensuring which model is suitable.

%e can select the best S!LC model if following answers are satisfied (

• &s S!LC suitable for selected technology to implement the software +

• &s S!LC appropriate for clients reuirements and priorities +

• &s S!LC model suitable for si-e and compleity of the software +

• &s the S!LC model suitable for type of pro/ects and engineering we do +

• &s the S!LC appropriate for the geographically co(located or dispersed

developers +

Q.What is software pro$ect management?

A. Software pro/ect management is process of managing all activities liketime, cost and uality management involved in software development.

Q.Who is software pro$ect manager?

A. A software pro/ect manager is a person who undertakes the

responsibility of carrying out the software pro/ect.

Q.What does software pro$ect manager do?

A. Software pro/ect manager is engaged with software management

activities. 0e is responsible for pro/ect planning, monitoring the progress,

communication among stakeholders, managing risks and resources, smooth

eecution of development and delivering the pro/ect within time, cost and

uality contraints.

7/25/2019 Viva Please Read

http://slidepdf.com/reader/full/viva-please-read 3/10

Q.What is software scope?

A. Software scope is a well(defined boundary, which encompasses all the

activities that are done to develop and deliver the software product.

The software scope clearly defines all functionalities and artifacts to be

delivered as a part of the software. The scope identifies what the product

will do and what it will not do, what the end product will contain and what it

will not contain.

Q.What is pro$ect estimation?

A. &t is a process to estimate various aspects of software product in order to

calculate the cost of development in terms of efforts, time and resources.

This estimation can be derived from past eperience, by consulting eperts

or by using pre(defined formulas.

Q.%ow can we derive the si&e of software product?

A. Si-e of software product can be calculated using either of two methods (

• Counting the lines of delivered code

Counting delivered function pointsQ.What are function points?

A. 1unction points are the various features provided by the software

product. &t is considered as a unit of measurement for software si-e.

Q.What are software pro$ect estimation techni'ues availa#le?

A. There are many estimation techniues available.The most widely used

are (

• !ecomposition techniue 2Counting Lines of Code and 1unction 3oints4

• Empirical techniue 23utnam and C5C5$54.

Q.What is #aseline?

7/25/2019 Viva Please Read

http://slidepdf.com/reader/full/viva-please-read 4/10

A. )aseline is a measurement that defines completeness of a phase. After

all activities associated with a particular phase are accomplished, the phase

is complete and acts as a baseline for net phase.

Q.What is Software configuration management?

A. Software Configuration management is a process of tracking and

controlling the changes in software in terms of the reuirements, design,

functions and development of the product.

Q.What is change control?

A. Change control is function of configuration management, which ensures

that all changes made to software system are consistent and made as per

organi-ational rules and regulations.

Q.%ow can you measure pro$ect e(ecution?

A. %e can measure pro/ect eecution by means of Activity $onitoring,

Status "eports and $ilestone Checklists.

Q.)ention some pro$ect management tools.

A. There are various pro/ect management tools used as per the

reuirements of software pro/ect and organi-ation policies. They include

#antt Chart, 3E"T Chart, "esource 0istogram, Critical 3ath Analysis, Status

"eports, $ilestone Checklists etc.

Q.What are software re'uirements?

A. Software reuirements are functional description of proposed software

system. "euirements are assumed to be the description of target system,

its functionalities and features. "euirements convey the epectations of 

users from the system.

Q.What is feasi#ility study?

A. &t is a measure to assess how practical and beneficial the software

pro/ect development will be for an organi-ation. The software analy-er

7/25/2019 Viva Please Read

http://slidepdf.com/reader/full/viva-please-read 5/10

conducts a thorough study to understand economic, technical and

operational feasibility of the pro/ect.

• *conomic ( "esource transportation, cost for training, cost of additional utilities

and tools and overall estimation of costs and benefits of the pro/ect.

• +echnical ( &s it possible to develop this system + Assessing suitability of 

machine2s4 and operating system2s4 on which software will eecute, eisting

developers knowledge and skills, training, utilities or tools for pro/ect.

• perational ( Can the organi-ation ad/ust smoothly to the changes done as per

the demand of pro/ect + &s the problem worth solving +

Q.%ow can you gather re'uirements?

A. "euirements can be gathered from users via interviews, surveys, task

analysis, brainstorming, domain analysis, prototyping, studying eisting

usable version of software, and by observation.

Q.What is S-S?

A. S"S or Software "euirement Specification is a document produced at

the time of reuirement gathering process. &t can be also seen as a process

of refining reuirements and documenting them.

Q.What are functional re'uirements?

A. 1unctional reuirements are functional features and specifications

epected by users from the proposed software product.

Q.What are nonfunctional re'uirements?

A. 6on(functional reuirements are implicit and are related to security,

performance, look and feel of user interface, interoperability, cost etc.

Q.What is software measure?

A. Software $easures can be understood as a process of uantifying and

symboli-ing various attributes and aspects of software.

7/25/2019 Viva Please Read

http://slidepdf.com/reader/full/viva-please-read 6/10

Q.What is software metric?

A. Software $etrics provide measures for various aspects of software

process and software product. They are divided into 7

• "euirement metrics * Length reuirements, completeness

• 3roduct metrics *Lines of Code, 5b/ect oriented metrics, design and test metrics

• 3rocess metrics* Evaluate and track budget, schedule, human resource.

Q.What is modulari&ation?

A. $odulari-ation is a techniue to divide a software system into multiple

discreet modules, which are epected to carry out task2s4 independently.

Q.What is concurrency and how it is achieved in software?

A. Concurrency is the tendency of events or actions to happen

simultaneously. &n software, when two or more processes eecute

simultaneously, they are called concurrent processes.

Eample

%hile you initiate print command and printing starts, you can open a new

application.

Concurrency, is implemented by splitting the software into multiple

independent units of eecution namely processes and threads, and

eecuting them in parallel.

Q.What is cohesion?

A. Cohesion is a measure that defines the degree of intra(dependability

among the elements of the module.

Q.What is coupling?

A. Coupling is a measure that defines the level of inter(dependability among

modules of a program.

7/25/2019 Viva Please Read

http://slidepdf.com/reader/full/viva-please-read 7/10

Q.)entions some software analysis / design tools?

A. These can be* !1!s 2!ata 1low !iagrams4, Structured Charts,

Structured English, !ata !ictionary, 0&35 20ierarchical &nput 3rocess

5utput4 diagrams, E" 2Entity "elationship4 !iagrams and !ecision tables.

Q.What is level0 D1D?

A. 0ighest abstraction level !1! is known as Level 8 !1! also called a

contet level !1!, which depicts the entire information system as one

diagram concealing all the underlying details.

Q.What is the difference #etween structured *nglish and 2seudo

Code?

A. Structured English is native English language used to write the structure

of a program module by using programming language keywords, whereas,

3seudo Code is more close to programming language and uses native

English language words or sentences to write parts of code.

Q.What is data dictionary?

A. !ata dictionary is referred to as meta(data. $eaning, it is a repository of 

data about data. !ata dictionary is used to organi-e the names and theirreferences used in system such as ob/ects and files along with their naming

conventions.

Q.What is structured design?

A. Structured design is a conceptuali-ation of problem into several well(

organi-ed elements of solution. &t is concern with the solution design and

based on 9divide and conuer strategy.

Q.What is the difference #etween function oriented and o#$ect

oriented design?

A. 1unction(oriented design is comprised of many smaller sub(systems

known as functions. Each function is capable of performing significant task

in the system. 5b/ect oriented design works around the real world ob/ects

7/25/2019 Viva Please Read

http://slidepdf.com/reader/full/viva-please-read 8/10

2entities4, their classes 2categories4 and methods operating on ob/ects

2functions4.

Q.3riefly define topdown and #ottomup design model.

A. Top(down model starts with generali-ed view of system and decomposes

it to more specific ones, whereas bottom(up model starts with most specific

and basic components first and keeps composing the components to get

higher level of abstraction.

Q.What is the #asis of %alstead4s comple(ity measure?

A. 0alsteads compleity measure depends up on the actual implementation

of the program and it considers tokens used in the program as basis of 

measure.

Q.)ention the formula to calculate Cyclomatic comple(ity of a

program?

A. Cyclomatic compleity uses graph theorys formula* '2#4 : e 7 n ; <

Q.What is functional programming?

A. 1unctional programming is style of programming language, which uses

the concepts of mathematical function. &t provides means of computation as

mathematical functions, which produces results irrespective of program

state.

Q.Differentiate validation and verification?

A. 'alidation checks if the product is made as per user reuirements

whereas verification checks if proper steps are followed to develop the

product.

'alidation confirms the right product and verification confirms if the product

is built in a right way.

Q.What is #lack#o( and white#o( testing?

7/25/2019 Viva Please Read

http://slidepdf.com/reader/full/viva-please-read 9/10

A. )lack(bo testing checks if the desired outputs are produced when valid

input values are given. &t does not verify the actual implementation of the

program.

%hite(bo testing not only checks for desired and valid output when validinput is provided but also it checks if the code is implemented correctly.

Criteria 3lack 3o( +estingWhite 3o(

+esting

=nowledge of software program, design

and structure essential6o >es

=nowledge of Software &mplementation

essential6o >es

%ho conducts this test on softwareSoftware Testing

Employee

Software

!eveloper

baseline reference for tester"euirements

specifications

!esign and

structure details

Q.Quality assurance vs. Quality Control?

A. ?uality Assurance monitors to check if proper process is followed while

software developing the software.

?uality Control deals with maintaining the uality of software product.

Q.What are various types of software maintenance?

A. $aintenance types are* corrective, adaptive, perfective and preventive.

• Corrective

"emoving errors spotted by users

• Adaptive

7/25/2019 Viva Please Read

http://slidepdf.com/reader/full/viva-please-read 10/10

tackling the changes in the hardware and software environment where the

software works

• 2erfective maintenance

implementing changes in eisting or new reuirements of user

• 2reventive maintenance

taking appropriate measures to avoid future problems

Q.What is software reengineering?

A. Software re(engineering is process to upgrade the technology on which

the software is built without changing the functionality of the software. This

is done in order to keep the software tuned with the latest technology.

Q.What are CAS* tools?

A. CASE stands for Computer Aided Software Engineering. CASE tools are

set of automated software application programs, which are used to support,

accelerate and smoothen the S!LC activities.