Showing posts with label CS 2301 - SOFTWARE ENGINEERING. Show all posts
Showing posts with label CS 2301 - SOFTWARE ENGINEERING. Show all posts

CS 2301 - SOFTWARE ENGINEERING Two Marks Questions With Answers 2014

Anna University, Chennai

Anna_University,_Chennai_logo

DHANALAKSHMI SRINIVASAN INSTITUTE OF RESEARCH AND TECHNOLOGY

SIRUVACHUR, PERAMBALUR – 611 113

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

CS 2301 - SOFTWARE ENGINEERING QUESTION BANK

SIXTEEN MARKS UNIT-1

1. Explain iterative waterfall and spiral model for software life cycle and

various activities in each phase. Answer: Iterative waterfall model

· Requirement gathering phase in which all requirements are identified.

· The design phase is responsible for creating architectural view of the software.

· The implementation phase in which the software design is transformed into coding.

· Testing is a kind of phase in which the developed software component is fully tested.

· Maintenance is an activity by which the software product can be maintained.

The iterative waterfall model is as shown in the following figure:

SPIRclip_image006AL MODEL

· The spiral model is divided into number of frame works. These frameworks are denoted by task regions.

· Usually there are six task regions. In spiral model project entry point axis is defined.

· The task regions are: Customer communication

Planning

Risk analysis. Engineering.

Construct and release. Customer evaluation.

Drawbacks

· It is based on customer communication.

· It demands considerable risk assessment.

2. Explain about the incremental model.

· Have same phases as the waterfall model.

· Phases are Analysis. Design. Code.

Test.

· Incremental model delivers series of releases to customers called as increments.

· The first increment is called as core product. Here only the document processing facilities are available.

· Second increment, more sophisticated document producing and processing facilities are available.

· Next increment spelling and grammar checking facilities are given.

Merits

· This model can be adopted when there is less number of people involved in the project.

· Technical risks can be managed with each increment.

· For a very small time span, at least core product can be delivered to the customer.

RAD Model

· Rapid Application Development Model is the type of incremental model.

· Achieves the high speed development using component based construction.

Phases

· Business modeling

· Data modeling

· Process modeling

· Application generation.

· Testing and turnover.

3. Explain in detail about the software process.

· It is defined as the structured set of activities that are required to develop the software system.

Fundamental activities

· Specification

· Design and implementation

· Validation

· Evolution

Common Process Framework

· Process framework activities

Communication

Planning Modeling Construction Deployment.

· Task Sets

clip_image010Defines the actual work to achieve the software objective.

· Umbrella activities

Software project tracking and control

Risk management

Software quality assurance

Formal technical reviews

Software configuration management Work product preparation and production Reusability management.

Measurement.

Capability Maturity Model(CMM)

Level 1:Initial – Few processes are defined and individual efforts are

taken.

Level 2:Repeatable – To track cost schedule and functionality basic project management processes are established.

Level 3:Defined – The process is standardized, documented and followed. Level 4:Managed – Both the software process and product are quantitatively understood and controlled using detailed measures.

Level 5:Optimizing – Establish mechanisms to plan and implement change.

4. Explain in detail about the life cycle process.

Fig: System engineering process

· System engineering process follows a waterfall model for the

parallel development of different parts of the system.

System requirements definition

· Three types of requirements

Abstract functional requirements. System properties.

Undesirable Characteristics.

· System objectives

· System requirement problem.

The system design process

Process steps

· Partition requirements

· Identify sub-systems.

· Assign requirements to sub-systems.

· Specify sub-system functionality.

· Define sub-system interfaces.

Requirement Definition

System Design

Sub-system Design System Integration System decommissioning System evolution

System Installation

Sub-System development process

· After system design it starts.

· Involve use of COTS (Commercial-Off-The-Shelf).

System Integration

· It is the process of putting hardware, software and people together to make a system.

System Installation

Issues are

· Environmental assumptions may be incorrect.

· There may be human resistance to the introduction of anew system.

· System may have to coexist with alternative systems for some period.

· There may arise some physical installation problems (e.g. cabling problem).

· Operator training has to be identified.

System evolution

· The lifetime of large systems is too long. They must evolve to meet change requirements.

· The evolution may be costly.

· Existing systems that must be maintained are sometimes called as legacy systems.

System Decommissioning

· Taking the system out of service after its useful lifetime is called as System

Decommissioning.

5. Write short notes on Business Process Engineering overview and Product

Engineering overview?

BUSINESS PROCESS ENGINEERING:

“Business process” engineering defines architectures that will enable a business to

clip_image015use information effectively. It involves the specification of the appropriate computing architecture and the development of the software architecture for the

organization's computing resources. There are three different architectures must be analyzed and designed within the context of business objectives and goals,

ü The data architecture provides a framework for the information needs of a business (e.g., ERD)

ü The application architecture encompasses those elements of a system that transform objects within the data architecture for some business purpose

ü The technology infrastructure provides the foundation for the data and application architectures.

PRODUCT ENGINEERING:

Product engineering translates the customer's desire for a set of defined capabilities

into a working product. It achieves this goal by establishing product architecture and a support infrastructure. Product architecture components consist of people,

hardware, software, and data. Support infrastructure includes the technology required to tie the components together and the information to support the components.

ü Requirements engineering elicits the requirements from the customer and allocates function and behavior to each of the four components.

ü System component engineering happens next as a set of concurrent activities that address each of the components separately. Each component takes a domain- specific view but maintains communication with the other domains. The actual activities of the engineering discipline take on an element view.

ü Analysis modeling allocates requirements into function, data, and behavior.

clip_image018ü Design modeling maps the analysis model into data/class, architectural, interface, and component design.


UNIT-2

1. Explain the prototyping approaches in software process. Two approaches:

i. Evolutionary prototyping – In this approach of system development, the initial prototype is prepared and it is then refined through number of stages to final stage.

ii. Throw-away prototyping – Using this approach a rough practical implementation of the system is produced. The requirement problems can be identified from this implementation. It is then discarded. System is

then developed using some different engineering paradigm.

EVOLUTIONARY PROTOTYPING Objective:

· The principal objective of this model is to deliver the working system to the

end-user.

· Example-AI systems.

Advantages

· Fast delivery of the working system.

· User is involved while developing the system.

· More useful system can be delivered.

· Specification, design and implementation work is co-ordinated manner.

Problems

· Management problems

· Maintenance problem

· Verification

Incremental Development

· After designing the overall architecture the system is developed and

delivered in series of increments.

THROW-AWAY PROTOTYPING Objective:

· The principal objective of this model is to validate or to derive the system

requirements.

· It is developed to reduce requirement risks.

Advantages

· Requirement risks are very less.

Problems

· It can be undocumented.

· Changes made during the software development proceed may degrade the system structure.

· Sometimes organizational quality standard may not be strictly applied.

2. Explain about rapid prototyping techniques. Executable specification languages.

· Used to animate the system specification.

· It is expressed in a formal, mathematical language to provide a system prototype.

Very high level languages.

· These are programming languages which include powerful data management facilities.

· They simplify program development.

Application generators and fourth-generation languages.

· These are successful languages because there is a great deal of communality across data processing applications.

3. Explain in detail about data modeling.

· Data modeling makes use of the ERD.

· Consists of 3 interrelated information. The data object.

Attributes. Relationships.

Cardinality and Modality

· Cardinality is the specification of the number of occurrences of one object

that can be related to the number of occurrences of another object.

· One-to-one cardinality.

· One-to-many cardinality.

· Many-to-Many cardinality.

· Modality of a relation is 0 if there is no explicit relationship or relation is optional.

· Modality is 1 if an occurrence of relationship is mandatory.

Entity/Relationship Diagrams

· Components are

Data Objects. Attributes. Relationships.

Various type indicators.

4. Explain in detail about Functional Modeling.

· This model describes the computations that take place within a system.

· This model is useful when the transformation from the inputs to outputs is complex.

· The functional model of a system can be represented by a data Flow

Diagram(DFD).

Data Flow Diagrams/Data Flow Graph/Bubble chart

· A DFD is a graphical representation that depicts the information flow and

the transforms that are applied as the data move from input to output.

· Level 0 DFD also called as fundamental system model or context model represents the entire software as a single bubble with input and output data indicated by incoming and outgoing arrows.

· Level 1 DFD contains 5 or 6 bubbles. Each bubbles can be refined at

Layers to depict more details.

Extensions to Real Time Systems

· Ward and Meller extensions

· Hatley and Pirbhai extension.

5. Explain in detail about Structural Modeling.

· Structural model includes a detail refinement of ERD,data flow model and control flow model.

· Creating an ERD.

· Example: Safe Home Security System.

· Developing relationships and cardinality/Modality.

· Creating a data flow model using the guidelines.

· Creating a control flow model which describes the structural connection of

Processes

Control flows

Control stores.

· State automation

· Process activation table.


UNIT-3

1. Explain in detail the design concepts. Abstraction

· Functional abstraction

· Data abstraction

· Control abstraction

Information hiding

· Each module in the system hides the internal details of its

processing activities and modules communicate only through over

defined interfaces.

Structure

· It permits the decomposition of a large system into smaller, more

manageable units with well defined relationships to the other units in a system.

· Network is the most general form of structure.

Hierarchical Structures/Structure Charts

· It depicts the structure of subroutines in a system, the data passed between routines, can be indicated on the arcs connecting routines.

Modularity

· Modular system consists of well-defined, manageable units with

well defined interfaces among units.

Concurrency

· Independent processes that can be activated simultaneously if

multiple processors are available.

Coupling and Cohesion

· Data coupling – The data coupling is possible by parameter passing or data interaction.

· Control coupling – The modules share related control data in control coupling.

· Common coupling – The common data or a global data is shared among modules.

· Content coupling – Content coupling occurs when one module makes use of data or control information maintained in another module.

2. Explain the design principles.

· The design process should not suffer from tunnel vision.

· The design should be traceable to the analysis model.

· Design should not reinvent the wheel.

· The design should minimize the intellectual distance between the software and problem as it exists in the real world.

· The design should be structured to degrade gently, even when aberrant data, events or operating conditions are encountered.

· Design is not coding, coding is not design.

· The design should be assessed for quality as it is being created, not after the fact.

· The design should be reviewed to minimize conceptual (semantic) errors.

3. Explain the design steps of the transform mapping.

· Review the fundamental model.

· Review and refine the DFD for the software.

· Determine whether the DFD has the transform or transaction mapping.

· Isolate the transform center by specifying incoming and outgoing flow boundaries.

· Perform first-level factoring.

· Perform second-level factoring.

· Refine the first iteration architecture using design heuristics for improved software quality.

4. Explain the design steps in transaction mapping.

· Review the fundamental model.

· Review and refine the DFD for the software.

· Determine whether the DFD has the transform or transaction mapping.

· Identify transaction center and the flow characteristics along each of the action paths.

· Factor and refine the transaction structure and the structure of each action path.

· Refine the first iteration architecture using design heuristics for improved

software quality.

5. Explain in detail about the real time systems.

· Hard and soft real time systems.

· Real time and high performance.

· Real-Time control.

· Real time software design

Periodic Stimuli – Occur at predictable time intervals. Aperiodic Stimuli – Occur regularly


UNIT-4

1. Explain the types of software testing.

· Unit testing

· System testing

· Integration testing

· User-acceptance testing

· End-to-End testing

· Regression testing

· Exception testing

· Destructive testing

2. Explain in detail about Black box testing.

· Black box or behavioral testing focuses on the functional requirements

of the software.

· It is applied during the last stage of testing.

· Syntax driven testing is suitable for the specification which are described by a certain grammar.

· Decision table based testing is implemented when the original software

requirement have been formulated in the format of “ if-then”

statements.

· Liquid level control is the study of a simple control problem which is designed to check the liquid level. It has 2 sensors.

· Cause effect graphs in functional testing.

3. Explain about the software testing strategies.

· A strategic approach to software testing.

· Verification and Validation. ¾_Verification refers to the set of activities that ensure that software

correctly implements a specific function. ¾_Validation refers to a different set of activities that ensure that the

software that has been built is traceable to the customer requirements.

According to Boehm, ¾_Verification:” Are we building the product right?”

¾_Validation:” Are we building the right product?”

· Organization for software testing

· A software testing strategy.

· Criteria for completion of testing.

4. Explain in detail about Integration testing.

· It is a systematic technique for constructing the program structure.

· Incremental integration – The program is constructed and tested in small increments.

Top-down integration

· It is an incremental approach.

· Modules are integrated by moving downward through the control hierarchy beginning with the main control module(main program).

· Subordinate modules are incorporated by depth-first or breadth-first manner.

Bottom-up integration

· This testing begins construction and testing with the components at the lowest levels in the program structure.

Regression testing

· It is the re-execution of some subset of tests that have already been

conducted to ensure the changes that have not been propagated unintended side effects.

Smoke testing

· It minimizes the integration risk.

· Error diagnosis and correction are simplified.

5. Explain in detail about system testing.

· System testing

· Stress testing

· Security testing.

· Performance testing

1. Explain in detail about SCM.


UNIT-5

· Software Configuration Management is an umbrella activity that is applied throughout the software process.

SCM Activities

· Identify change.

· Control change.

· Ensure the change is properly implemented.

· Report change to others.

Need for SCM

· When you build computer software change happens, you need to

control it effectively.

SCI

· Software Configuration Item is information that is carried as part of the software engineering process.

2. Explain about software cost estimation.

· Major factors are:

Programme ability. Product Complexity. Product size. Available time. Required reliability.

3. Explain in detail about COCOMO model.

· Constructive Cost Model.

· Software cost estimation gives the estimation of how much months a man take to develop a software product.

· Application Composition Model.

· Early design stage model

· Post-architecture stage model.

· COCOMO II application composition uses object points.

· NOP=(object point)X[100-%reuse)/100] NOP-New Object Point.

· Productivity Rate, PROD=NOP/person-Month.

4. Explain in detail about Delphi Method. Procedure

· The co-ordinator presents a specification and estimation form to each

expert.

· Co-ordinator calls a group meeting in which the experts discuss estimation issues with the coordinator and each other.

· Experts fill out forms anonymously.

· Co-ordinator prepares and distributes a summary of the estimates.

· The Co-ordinator then calls a group meeting.In this meeting the experts mainly discuss the points where their estimates vary widely.

· The experts again fill out forms anonymously.

· Again co-ordinator edits and summarizes the forms,repeating steps 5 and 6 until the co-ordinator is satisfied with the overall prediction synthesized from experts.

5. Explain in detail about software Maintenance.

· Software maintenance is an activity in which program is modified

after it has been put into use.

· Maintenance is defined as the process in which changes are implemented by either modifying the existing system’ s

architecture or by adding new components to the system.

Different aspects of maintenance

· The bug-fixing view

· The need-to-adapt view

· The user-support view

Need for software maintenance

· To provide continuity of service

· To support mandatory upgrades.

· To support user requests for improvements.

· To facilitate future maintenance work.

6. Explain about CASE tools.

· Computer Aided Software Engineering.

· Business Process Engineering Tools.

· Process Modeling and Management Tools.

· Project Planning Tools.

· Risk analysis tools.

· Project management tools.

· Requirement tracing tools.

· Metrics and management tools.

· Documentation tools.

· System Software tools.

· Quality Assurance tools.

· Database management tools.

· SCM tools.

· Analysis and design tools.

· PTO/SIM tools.

· Interface design and development tools.

· Prototyping tools.

· Programming tools.

· Web development tools.

· Integration and testing tools.

· Static analysis tools.

· Dynamic analysis tools.

· Test management tools.

· Client/server tools.

· Re-engineering tools.

CS 2301 - SOFTWARE ENGINEERING Two Marks Questions With Answers 2014

Anna University, Chennai

Anna_University,_Chennai_logo

DHANALAKSHMI SRINIVASAN INSTITUTE OF RESEARCH AND TECHNOLOGY

SIRUVACHUR, PERAMBALUR – 611 113

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 2301 - SOFTWARE ENGINEERING

QUESTION BANK

TWO MARKS

UNIT I SOFTWARE PRODUCT AND PROCESS

1. What is software engineering?

Software engineering is a discipline in which theories, methods and tools are applied to develop professional software.

2. What is Software?

Software is nothing but a collection of computer programs that are related documents that are indented to provide desired features, functionalities and better performance.

3. What are the characteristics of the software?

* Software is engineered, not manufactured.

* Software does not wear out.

* Most software is custom built rather than being assembled from components.

4. What are the various categories of software?

* System software

* Application software

* Engineering/Scientific software

* Embedded software

5. What are the challenges in software?

* Copying with legacy systems.

* Heterogeneity challenge

* Delivery times challenge.

6. Define software process.

Software process is defined as the structured set of activities that are required to develop the software system.

7. What are the fundamental activities of a software process?

* Specification

* Design and implementation

* Validation

* Evolution

8. What are the umbrella activities of a software process?

* Software project tracking and control.

* Risk management.

* Software Quality Assurance.

* Formal Technical Reviews.

* Software Configuration Management.

* Work product preparation and production.

* Reusability management.

* Measurement.

9. What are the merits of incremental model?

i) The incremental model can be adopted when there is less number of people

involved in the project.

ii) Technical risks can be managed with each increment.

iii) For a very small time span, at least core product can be delivered to the customer.

10. List the task regions in the Spiral model.

* Customer communication - it is suggested to establish customer communication.

* Planning – All planning activities are carried out

* Risk analysis – The tasks required to calculate technical and management risks.

* Engineering – tasks required to build one or more representations of applications

* Construct and release – tasks required to construct, test, install the applications

* Customer evaluation - tasks are performed and implemented at installation stage based on the customer evaluation.

11. What are the drawbacks of spiral model?

i) It is based on customer communication. If the communication is not proper then the software product that gets developed will not be the up to the mark.

ii) It demands considerable risk assessment. If the risk assessment is done properly then only the successful product can be obtained.

12. What is System Engineering?

System Engineering means designing, implementing, deploying and operating systems which include hardware, software and people.

13. List the process maturity levels in SEIs CMM.

Level 1: Initial - Few processes are defined and individual efforts are taken.

Level 2: Repeatable – To track cost schedule and functionality basic project management

processes are established.

Level 3: Defined – The process is standardized, documented and followed.

Level 4: Managed – Both the software process and product are quantitatively understood and controlled using detailed measures.

Level 5: Optimizing – Establish mechanisms to plan and implement change.

14. What is an effector process?

The effector process is a process that verifies itself. The effector process exists in

certain criteria.

15. Define the computer based system.

The computer based system can be defined as “a set or an arrangement of elements

that are organized to accomplish some predefined goal by processing information”.

16. What does Verification represent?

Verification represents the set of activities that are carried out to confirm that the

software correctly implements the specific functionality.

17. What does Validation represent?

Validation represents the set of activities that ensure that the software that

has been built is satisfying the customer requirements.

18. What are the steps followed in testing?

1) Unit testing - The individual components are tested in this type of testing.

2) Module testing – Related collection of independent components are tested.

3) Sub-system testing –Various modules are integrated into a subsystem and the whole

subsystem is tested.

4) System testing – The whole system is tested in this system.

5) Acceptance testing – This type of testing involves testing of the system with customer

data.

19. What is the use of CMM?

Capability Maturity Model is used in assessing how well an organization‟s processes allow to complete and manage new software projects.

20. Name the Evolutionary process Models. i. Incremental model

ii. Spiral model

iii. WIN-WIN spiral model iv. Concurrent Development

21. What is meant by Software engineering paradigm?

The development strategy that encompasses the process, methods and tools and generic phases is often referred to as a process model or software engineering paradigm.

22. What are the various elements for computer based system?

1. Software 2. Hardware

3. People 4. Database

5. Documentation 5. Procedures.

23. Define dynamic verification?

Dynamic verification is performed during the execution of software and dynamically

checks its behavior.

24. Define static verification?

Static verification is a process to check some requirements of software doing a

physical inspection of it. Example: software metric calculation.


UNIT – II SOFTWARE REQUIREMENTS

1. What is requirement engineering?

Requirement engineering is the process of establishing the services that the customer requires

from the system and the constraints under which it operates and is developed.

2. What are the various types of traceability in software engineering?

i. Source traceability – These are basically the links from requirement to stakeholders

ii. Requirements traceability – These are links between dependant requirements. iii. Design traceability – These are links from requirements to design.

3. Define software prototyping.

Software prototyping is defined as a rapid software development for validating the requirements.

4. What are the benefits of prototyping?

i. Prototype serves as a basis for deriving system specification. ii. Design quality can be improved.

iii. System can be maintained easily.

iv. Development efforts may get reduced.

v. System usability can be improved.

5. What are the prototyping approaches in software process?

i. Evolutionary prototyping – the initial prototype is prepared and it is then refined through

number of stages to final stage.

ii. Throw-away prototyping – a rough practical implementation of the system is produced.

The requirement problems can be identified from this implementation.

6. What are the advantages of evolutionary prototyping?

i. Fast delivery of the working system.

ii. User is involved while developing the system. iii. More useful system can be delivered.

iv. Specification, design and implementation work in co-ordinate manner.

7. What are the various Rapid prototyping techniques?

i. Dynamic high level language development.

ii. Database programming.

iii. Component and application assembly.

8. What is the use of User Interface prototyping?

This prototyping is used to pre-specify the look and feel of user interface in an effective way.

9. What are the characteristics of SRS?

i. Correct – The SRS should be made up to date when appropriate requirements are identified.

ii. Unambiguous – When the requirements are correctly understood then only it is possible to write an unambiguous software.

iii. Complete – To make SRS complete, it should be specified what a software designer wants to create software.

iv. Consistent – It should be consistent with reference to the functionalities identified. v. Specific – The requirements should be mentioned specifically.

vi. Traceable – What is the need for mentioned requirement?

10. What is data modeling?

Data modeling is the basic step in the analysis modeling. In data modeling the data objects

are examined independently of processing. The data model represents how data are related with one another.

11. What is a data object?

Data object is a collection of attributes that act as an aspect, characteristic,quality, or descriptor of the object.

12. What are attributes?

Attributes are the one, which defines the properties of data object.

13. What is cardinality in data modeling?

Cardinality in data modeling, cardinality specifies how the number of occurrences of one

object is related to the number of occurrences of another object.

14. What does modality in data modeling indicates?

Modality indicates whether or not a particular data object must participate in the relationship.

15. What is ERD?

Entity Relationship Diagram is the graphical representation of the object relationship pair. It is mainly used in database applications.

16. What is DFD?

Data Flow Diagram depicts the information flow and the transforms that are applied on the data as it moves from input to output.

17. What does Level0 DFD represent?

Level 0 DFD is called as „fundamental system model‟ or „context model‟. In the context model the entire software system is represented by a single bubble with input and output indicated by incoming and outgoing arrows.

18. What is a state transition diagram?

State transition diagram is basically a collection of states and events. The events cause the

system to change its state. It also represents what actions are to be taken on the occurrence of particular event.

19. Define Data Dictionary.

The data dictionary can be defined as an organized collection of all the data elements of the system with precise and rigorous definitions so that user and system analyst will have a common understanding of inputs, outputs, components of stores and intermediate calculations.

20. What are the elements of Analysis model?

i. Data Dictionary

ii. Entity Relationship Diagram

iii. Data Flow Diagram

iv. State Transition Diagram

v. Control Specification vi. Process specification.

21. What are functional requirements?

Functional requirements are” statements of services the system should provide how the system should react to particular input and how the system should behave in particular situation.

22. What are non functional requirements?

Non functional requirements are constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc……..

23. What is the outcome of feasibility study?

The outcome of feasibility study is the results obtained from the following questions:

· Which system contributes to organizational objectives?

· Whether the system can be engineered? Is it within the budget?

· Whether the system can be integrated with other existing system?

24. What is meant by structural analysis?

The structural analysis is mapping of problem domain to flows and transformations. The system can be modeled by using Entity Relationship diagram, Data flow diagram and Control flow diagrams.


UNIT – III ANALYSIS, DESIGN CONCEPTS AND PRINCIPLES

1. What are the elements of design model?

i. Data design

ii. Architectural design iii. Interface design

iv. Component-level design

2. Define design process.

Design process is a sequence of steps carried through which the requirements are

translated into a system or software model.

3. List the principles of a software design.

i. The design process should not suffer from “tunnel vision”

ii. The design should be traceable to the analysis model. iii. The design should exhibit uniformity and integration. iv. Design is not coding.

v. The design should not reinvent the wheel.

4. What is the benefit of modular design?

Changes made during testing and maintenance becomes manageable and they do not affect other modules.

5. What is a cohesive module?

A cohesive module performs only “one task” in software procedure with little interaction with other modules. In other words cohesive module performs only one thing.

6. What are the different types of Cohesion?

i. Coincidentally cohesive - The modules in which the set I\of tasks are related with each other loosely.

ii. Logically cohesive – A module that performs the tasks that are logically related with each other.

iii. Temporal cohesion – The module in which the tasks need to be executed in some specific time span.

iv. Procedural cohesion – When processing elements of a module are related with one another and must be executed in some specific order.

v. Communicational cohesion – When the processing elements of a module share the data then such module is called communicational cohesive.

7. What is coupling?

Coupling is the measure of interconnection among modules in a program structure. It

depends on the interface complexity between modules.

8. What are the various types of coupling?

i. Data coupling – The data coupling is possible by parameter passing or data

interaction.

ii. Control coupling – The modules share related control data in control coupling.

iii. Common coupling – The common data or a global data is shared among modules. iv. Content coupling – Content coupling occurs when one module makes use of data

or control information maintained in another module.

9. What are the common activities in design process?

i. System structuring – The system is subdivided into principle subsystems

components and communications between these subsystems are identified.

ii. Control modeling – A model of control relationships between different parts of the

system is established.

iii. Modular decomposition – The identified subsystems are decomposed into

modules.

10. What are the benefits of horizontal partitioning?

i. Software that is easy to test.

ii. Software that is easier to maintain. iii. Propagation of fewer side effects. iv. Software that is easier to extend.

11. What is vertical partitioning?

Vertical partitioning often called factoring suggests that the control and work should

be distributed top-down in program structure.

12. What are the advantages of vertical partitioning?

i. These are easy to maintain changes.

ii. They reduce the change impact and error propagation.

13. What are the various elements of data design?

i. Data object – The data objects are identified and relationship among various data objects

can be represented using ERD or data dictionaries.

ii. Databases – Using software design model, the data models are translated into data

structures and data bases at the application level.

iii. Data warehouses – At the business level useful information is identified from various

databases and the data warehouses are created.

14. List the guidelines for data design.

i. Apply systematic analysis on data.

ii. Identify data structures and related operations. iii. Establish data dictionary.

iv. Use information hiding in the design of data structure. v. Apply a library of useful data structures and operations.

15. Name the commonly used architectural styles. i. Data centered architecture.

ii. Data flow architecture.

iii. Call and return architecture. iv. Object-oriented architecture.

v. Layered architecture.

16. What is Transform mapping?

The transform mapping is a set of design steps applied on the DFD in order to map the

transformed flow characteristics into specific architectural style.

17. What is a Real time system?

Real time system is a software system in which the correct functionalities of the system are

dependent upon results produced by the system and the time at which these results are produced.

18. What are the objectives of Analysis modeling?

i. To describe what the customer requires.

ii. To establish a basis for the creation of software design.

iii. To devise a set of valid requirements after which the software can be built.

19. What is an Architectural design?

The architectural design defines the relationship between major structural elements of the software, the “design patterns” that can be used to achieve the requirements that have been defined for the system.

20. What is data design?

The data design transforms the information domain model created during analysis into the

data structures that will be required to implement the software.

21. What is interface design?

The interface design describes how the software communicates within itself, with systems

that interoperate with it, and with humans who use it.

22. What is component level design?

The component level design transforms structural elements of the software architecture into a

procedural description of software components.

23. What is software design?

Software design is an iterative process through which the requirements are translated into a

“blueprint” for constructing the software.

24. What is user interface design?

User interface design creates an effective communication medium between a human and a

computer.

25. What is system design?

System design process involves deciding which system capabilities are to be implemented in

software and which in hardware.

26. What are data acquisition systems?

Systems that collect data from sensors for subsequent processing and analysis are termed as

data acquisition systems. Data collection processes and processing processes may have different periods and deadlines.


UNIT – IV TESTING

1. Define software testing?

Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design, and coding.

2. What are the objectives of testing?

i. Testing is a process of executing a program with the intend of finding an erro r.

ii. A good test case is one that has high probability of finding an undiscovered error.

iii. A successful test is one that uncovers as an-yet undiscovered error.

3. What are the testing principles the software engineer must apply while performing the software testing?

i. All tests should be traceable to customer requirements. ii. Tests should be planned long before testing begins.

iii. The pareto principle can be applied to software testing-80% of all errors uncovered during testing will likely be traceable to 20% of all program modules.

iv. Testing should begin “in the small” and progress toward testing “in the large”.

v. Exhaustive testing is not possible.

vi. To be most effective, an independent third party should conduct testing.

4. What are the two levels of testing?

i. Component testing - Individual components are tested. Tests are derived from developer‟s

experience.

ii. System Testing - The group of components are integrated to create a system or sub-system

is done. These tests are based on the system specification.

5. What are the various testing activities?

i. Test planning

ii. Test case design iii. Test execution iv. Data collection

v. Effective evaluation

6. Write short note on black box testing.

The black box testing is also called as behavioral testing. This method

fully focus on the functional requirements of the software. Tests are derived that fully e xercise all

functional requirements.

7. What is equivalence partitioning?

Equivalence partitioning is a black box technique that divides the input domain into classes

of data. From this data test cases can be derived. Equivalence class represents a set of valid or invalid states for input conditions.

8. What is a boundary value analysis?

A boundary value analysis is a testing technique in which the elements at the edge of the domain are selected and tested. It is a test case design technique that complements equivalence partitioning technique.

9. What are the reasons behind to perform white box testing?

There are three main reasons behind performing the white box testing.

1. Programmers may have some incorrect assumptions while designing or implementing some functions.

2. Certain assumptions on flow of control and data may lead programmer to make design errors. To uncover the errors on logical path, white box testing is must.

3. There may be certain typographical errors that remain undetected even after syntax and type checking mechanisms. Such errors can be uncovered during white box testing.

10. What is cyclomatic complexity?

Cyclomatic complexity is software metric that gives the quantitative

Measure of logical complexity of the program.

11. How to compute the cyclomatic complexity?

The cyclomatic complexity can be computed by any one of the following ways. 1. The numbers of regions of the flow graph correspond to the cyclomatic complexity.

2. Cyclomatic complexity (G), for the flow graph G, is defined as: V(G)=E-N+2, E -- number of flow graph edges, N -- number of flow graph nodes

3. V(G) = P+1 Where P is the number of predicate nodes contained in the flow graph.

12. Distinguish between verification and validation.

Verification refers to the set of activities that ensure that software correctly implements a

specific function.

Validation refers to a different set of activities that ensure that the software that has been

built is traceable to the customer requirements.

13. What are the various testing strategies for conventional software?

i. Unit testing

ii. Integration testing. iii. Validation testing. iv. System testing.

14. Write about drivers and stubs.

Drivers and stub software need to be developed to test incompatible software.

The “driver” is a program that accepts the test data and prints the relevant results.

The “stub” is a subprogram that uses the module interfaces and performs the minimal data manipulation if required.

15. What are the approaches of integration testing?

The integration testing can be carried out using two approaches.

1. The non-incremental testing.

2. Incremental testing.

16. What are the advantages and disadvantages of big-bang?

Advantage:

This approach is simple. Disadvantages:

It is hard to debug.

It is not easy to isolate errors while testing.

In this approach it is not easy to validate test results.

17. What are the benefits of smoke testing?

* Integration risk is minimized.

* The quality of the end-product is improved.

* Error diagnosis and correction are simplified.

* Assessment of program is easy.

18. What are the conditions exists after performing validation testing?

* The function or performance characteristics are according to the specifications and are

accepted.

* The requirement specifications are derived and the deficiency list is created.

19. Distinguish between alpha and beta testing

Alpha and beta testing are the types of acceptance testing.

Alpha test : The alpha testing is attesting in which the version of complete software is tested by the customer under the supervision of developer. This testing is performed at developer‟s site.

Beta test : The beta testing is a testing in which the version of the software is tested

by the customer without the developer being present. This testing is performed at customer‟s site.

20. What are the various types of system testing?

1. Recovery testing – is intended to check the system‟s ability to recover from failures.

2. Security testing – verifies that system protection mechanism prevent improper penetration or data alteration.

3. Stress testing – Determines breakpoint of a system to establish maximum service level.

4. Performance testing – evaluates the run time performance of the software, especially real-time software.

21. Define debugging.

Debugging is defined as the process of removal of defect. It occurs as a consequence of

successful testing.

22. What are the common approaches in debugging?

Brute force method:

The memory dumps and run-time tracks are examined and program with write statements is loaded to obtain clues to error causes.

Back tracking method:

The source code is examined by looking backwards from symptom to potential causes

of errors.

Cause elimination method:

This method uses binary partitioning to reduce the number of locations where errors can exists

23. What is meant by structural testing?

In structural testing derivation of test cases is according to program structure. Hence knowledge of the program is used to identify additional test cases.

24. What is meant by regression testing?

Regression testing is used to check for defects propagated to other modules by changes made to existing program. Thus, regression testing is used to reduce the side effects of the changes.

25. What is meant by unit testing?

The unit testing focuses verification effort on the smallest unit of software

design, the software component or module.


UNIT – V SOFTWARE PROJECT MANAGEMENT

1. Define measure.

Measure is defined as a quantitative indication of the extent, amount, dimension, or size of

some attribute of a product or process.

2. Define metrics.

Metrics is defined as the degree to which a system component, or process possesses a given

attribute.

3. What are the types of metrics?

Direct metrics – It refers to immediately measurable attributes.

Example – Lines of code, execution speed.

Indirect metrics – It refers to the aspects that are not immediately quantifiable or measurable.

Example – functionality of a program.

4. Write short note on the various estimation techniques.

Algorithmic cost modeling – the cost estimation is based on the size of the software.

Expert judgment – The experts from software development and the application domain. Estimation by analogy – The cost of a project is computed by comparing the project to a

similar project in the same application domain.

Parkinson‟s Law – The cost is determined by available resources rather than by objective

assessment.

Pricing to win – The project costs whatever the customer ready to spend it.

5. What is COCOMO model?

COnstructive COst MOdel is a cost model, which gives the estimate of number of man- months it will take to develop the software product.

6. Give the procedure of the Delphi method.

1. The co-coordinator presents a specification and estimation form to each expert.

2. Co-coordinator calls a group meeting in which the experts discuss estimation issues with

the coordinator and each other.

3. Experts fill out forms anonymously.

4. Co-coordinator prepares and distributes a summary of the estimates.

5. The Co-coordinator then calls a group meeting.

7. What is the purpose of timeline chart?

The purpose of the timeline chart is to emphasize the scope of the individual task. Hence set of tasks are given as input to the timeline chart.

8. What is EVA?

Earned Value Analysis is a technique of performing quantitative analysis of the software project. It provides a common value scale for every task of software project. It acts as a measure for software project progress.

9. What are the metrics computed during error tracking activity?

Errors per requirement specification page.

Errors per component-design level Errors per component-code level DRE-requirement analysis

DRE-architectural analysis

DRE-component level design

DRE-coding.

10. What is software maintenance?

Software maintenance is an activity in which program is modified after it has been put into

use.

11. Define maintenance.

Maintenance is defined as the process in which changes are implemented

By either modifying the existing system‟s architecture or by adding new components to the system.

12. What are the types of software maintenance?

Corrective maintenance – Means the maintenance for correcting the software faults. Adaptive maintenance – Means maintenance for adapting the change in environment. Perfective maintenance – Means modifying or enhancing the system to meet the new

requirements.

Preventive maintenance – Means changes made to improve future maintainability.

13. How the CASE tools are classified?

CASE tools can be classified by a. By function or use b. By user type (e.g. manager, tester), or

c. By stage in software engineering process (e.g. requirements, test).

14. What are the types of static testing tools?

There are three types of static testing tools.

Code based testing tools – These tools take source code as input and generate test

cases.

Specialized testing tools – Using this language the detailed test specification can be

written for each test case.

Requirement-based testing tools – These tools help in designing the test cases as per

user requirements.

15. What is meant by Software project management?

Software project management is an activity of organizing, planning and scheduling

software projects.

16. What is meant by software measurement?

Software measurement means deriving a numeric value for an attribute of a software

product or process.

17. What is meant by software cost estimation?

The software cost estimation is the process of predicting the resources required for

software development process.

18. What is meant by CASE tools?

The computer aided software engineering tools automatic the project management

activities, manage all the work products. The CASE tools assist to perform various activities such as analysis, design, coding and testing.

19. What is meant by Delphi method?

The Delphi technique is an estimation technique intended to active a common agreement for estimation efforts.

20. What is meant by software evolution?

Software evolution is a process of managing the changes in the software.

21. Derive ZIP‟s law.

ZIP‟s first law of the form,

fr r = C (or) nr = Cn / r

C à constant

r à rank for tokens

fr à frequency of occurrence

22. What is software configuration management (SCM)?

Software configuration management is the art of identifying, organizing, and

controlling modifications to the software being built by a programming team.

23. What is meant by risk management?

Risk management is an activity in which risks in the software projects are identified.

24. What is meant by software project scheduling?

Software project scheduling is an activity that distributes estimated effort across the planned project duration by allocating the effort to specified software engineering tasks.

25. Write about software change strategies.

The software change strategies that could be applied separately or together are:

Software maintenance – The changes are made in the software due to requirements.

Architectural transformation – It is the process of changing one architecture into another form.

Software re-engineering – New features can be added to existing system and then the system is reconstructed for better use of it in future.