Вы находитесь на странице: 1из 9

Important question of software engineering

Software is a process and product.


Software engineering is a discipline.
In water fall model, the phase involved in the software development is organized in linear order.
The incremental method is also known as the iterative enhancement model.
The software requirements deal with the requirements of the proposed system.
Structure analysis mainly depends on data flow diagram and data dictionary.
An external entity is represented using rectangle in a DFD.
In object- oriented design, the models in the design represent data abstraction.
The weakest coupling that is most desirable is data coupling.
PDL stands for program design language.
The two kind of program documentation are internal and external.
Browsing tools help to view the source code.
Executable code tools help in code creation, debugging and testing.
The important metrics used during testing is reliability.
What is COCOMO model?
The Constructive Cost Model (COCOMO) is the most widely used software estimation model in
the world. It was developed by Barry Boehm. The COCOMO model predicts the efforts and
duration of a project based on inputs relating to the size of the resulting system and a number
of cost drives that affect productivity. COCOMO model defines in the terms of three different
models: the basic model, the intermediate model and the detailed model.
What is estimation model?
An estimation model for computer software is used to predict efforts and costs for computer
software. For example, you can use a cost estimation model to estimate the costs of a project in
software project management.
What is risk management?
What is software quality assurance?
Quality assurance is an auditing and reporting function of management/ Consists of a means of
monitoring the software engineering processes and methods used to ensure quality.
What is quality metrics?
Quality metrics measures the software quality in terms of audibility, accuracy, completeness,
conciseness, consistency, data commonality, error tolerance, execution efficiency, and
expandability.
What is baseline?
A base line is a milestone in the software development process that is marked by the delivery of
one or more software configuration items (SCI) and these software configuration items can be
approved through Formal Technical Reviews. Or a base line is SCM concept that helps us to

control change without seriously impeding justifiable change. As per IEEE, a baseline is defined
as a specification or product that has been formally reviewed and agreed upon, that thereafter
serves as the basis for further development and that can be changed only through formal
change control procedure.
What is an SCM process?
SCM process consists of five activities, which are:

1.
2.
3.
4.
5.

Identification of individual SCIs


Version control
Change control
Configuration auditing
Reporting

What are aggregate objects? With an example.


Aggregate object is collection of basic objects and other aggregate objects. For example- in SRS,
design specification is an aggregate object which is an aggregation of object like data design,
architectural design module design etc.
What is software engineering?
Software engineering is a discipline that integrates process, methods and tools for the
development of computer software. This development strategy is often referred to as a process
model or software engineering paradigm. A process model for software engineering is chosen
based on the nature of the project and application, the methods and tools to be used, and the
controls and deliverables that are required.
What is throw away prototype?
In the throwaway prototype approach, the prototype is constructed with an idea that it will be
discarded after the completion of analysis and the final system will be built from the scratch.
What is data dictionary?
The data dictionary is a repository of various data flows defined in a DFD. It states the structure
of each data flow in a DFD.
Explain external documentation.
It is a part of overall system documentation. It is intended to be ready by those people who may
never look at actual code. It explains things more broadly then that of programs comments.
The external code documentation contains the following description:Problem description- it explains what problem is being addressed by the component, when the
component is invoked and why it is needed.
Algorithm description- addresses the choice of algorithm, once when the existence of the
component is clear. It explains each algorithm used by the component, including formulae,
boundary conditions etc.
Data description- this describes the flow of data at the component level, usually data flow
diagram along with data dictionaries are used in the form of references.

Give general guidelines for preserving the design quality of a program. (4)

Define system testing?


System testing verifies that the system performs well with other system elements like hardware,
information, and databases.

Discuss software reviews. (5) page 125


What is change control?
Change control is an important activity of SCM, which control the changes in software
requirements. Change control is important because all the change requests initiated by
customers are analyzed by CCB. CCB accepts or rejects change keeping in view the impact of
change on cost, quality and schedule of software project
Give two graphical design notations. (2)
Flow charts: flow chart were the pre dominant of representing program logic.
Box diagram: it is another graphical tool which can be used to develop procedural design.

What are specification languages? Give example.(2)


Specification languages are the languages in which requirements are written. These languages
are exact, unambiguous, and precise. Decision table is an example of specification language.
Software reusability (5)

Software reuse is the process of implementing or updating software systems using existing software
components. A good software reuse process facilitates the increase of productivity, quality, and
reliability, and the decrease of costs and implementation time. In short, the development of a reuse
process and repository produces a base of knowledge that improves in quality after every reuse,
minimizing the amount of development work required for future projects, and ultimately reducing the
risk of new projects that are based on repository knowledge.

Programming tools (5) page 66


Any four characteristics of water- fall model. (2) page 6
What is estimate model? (1)
An estimation model for computer software is used to predict efforts and costs for computer
software.
1. What is software? List out the important characteristics of software. (7)
Software is a set of instruction or computer programs that when executed provide desired
functions and performance. It is both process and product.
Three important characteristics of software: Software is developed or engineered, it is not manufactured- unlike hardware, software is
logical rather than physical. It has to be designed well before producing it.
Software does not wear out- as time progresses the hardware components start
deteriorating, they are subject to environmental maladies such as dust, vibration, temperature
etc. but unlike hardware software is not susceptible to the environmental changes. So it does

not wear out. The software works exactly the same way even after years it was first developed
unless any changes are introduced to it.
Most software is custom- built, rather than being assembled from existing components- most
of the engineered products like software are first designed before they are manufactured,
because it is very difficult task to break a program in to modules.
2. List and explain the major application areas of software. (8)
3. What is DFD? Explain DFD for an employee pay system. (7)
The DFD is an excellent communication tool for analysis to model processes and functional
requirements. It is still considered one of the best modeling techniques for eliciting and
representing the processing requirements of a system. Used effectively, it is a useful and easy to
understand modeling tool. .
4. What are the characteristics of SRS? Explain. (7)
Characteristics of SRS:
Complete: - SRS defines precisely all the go- live situation that will be encountered and
the systems capability to successfully address them.
Consistent: -SRS capability functions and performance levels are compatible, and the
required quality features (security, reliability, etc.) do not negate those capability
functions.
Accurate: - SRS precisely defines the systems capability in a real- world environment, as
well as how it interfaces and interacts with it.
Modifiable: - the logical, hierarchical structure of the SRS should facilitate any necessary
modifications.
Ranked: - Individual requirements of an SRS are hierarchically arranged according to
stability, security, perceived ease/difficulty of implementation, or other parameters that
helps in the design of that and subsequent documents.
Testable: -an SRS must be stated in such a manner that unambiguous assessments
criteria can be derived from the SRS itself.
Traceable: - each requirement in an SRS must be uniquely identified to a source (use
case, government requirement, industry standard, etc.)
5. Explain the prototyping model. (8)
The aim of this model is to overcome the limitation of the waterfall model that is, instead of
freezing the requirements before the design or coding phase a throw away prototype is built to
help understand the requirements. And a prototype is developed based on the currently known
requirements. This model is very attractive for the customer, since they get an actual feel of the
system that they indent to use. And this model is very well suited for complicated and large
systems for which there is no manual process or existing system that can be used to determine

the requirements. This model is very useful in the project where requirements are not properly
understood. The process model of this approach is shown in fig.
Requirement
Analysis
Design

Design

Code

Test

Code
Test
The prototype model
6. Explain the criteria used to guide modularization. (8) page 35
There are some important criteria to guide modularization: Conventional criteria: - module is a processing step in execution sequence.
Information hiding criterion: - modules hide difficult or changeable design decision.
Data abstraction criterion: - modules hide representation details of major data
structures behind function that access and modify the data structure.
Levels of abstraction: - modules provide hierarchical set of increasingly complex
services.
Coupling and cohesion: - system is structured to maximize the cohesion of module
elements and minimize coupling between modules.
Problem modeling: - modular system structure matches the problem structure (data
structure matches the problem structure and visible function manipulate data
structures or modules from a network of communicating processes, each process
corresponds to a problem entity).
7. Name the four interface design models that provided a human computer interface. (7) 45
Design model: - the software engineer creates this model. This model incorporates dat.
Architectural and procedural description of the software.
User model: - the software engineer establishes this model. This model depicts the
profile of end user of a system. An end user can be a novice, knowledgeable,
intermittent user or knowledgeable, frequent users.
System perception model or users model: - this depicts an image of the system that is
carried by the end user.
System image model: - this model combines the look and feel of the computer based
system with the supporting information available, which describes the system syntax
and semantics.
8. What are programming guidelines? Explain. (7) 59
9. What are the types of documentation? Explain. (8) 61
There are two kinds of documentation: -

10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.

31.
32.

Internal documentation: - internal documentation is a descriptive material written


directly with in the program, at a level appropriate for a programmer. It contains
information directed at someone who will be reading the source code of the program.
The information contains a description of data structures, algorithm and control flow,
usually, this information is placed at the beginning of each component in a set of
comments called the header comment block. The header comment block acts as an
introduction to the program.
External documentation: What are the techniques of software testing? Explain. (8) 71
Explain the factors contained in test plan. (7) 90
Name and explain the different kind of software development team structure. (8) 97
Explain the activities of software projects planning. (7) 100
Explain the type of version representation. (7) 142
Explain the activities of baseline. Give diagram. (8) 137
What are the activities of SQA? Explain. (8) 124
Explain MC Calls quality factors. (7) 130
Discuss software architecture. (7) 32
Explain modularity in detail. (8) 34
Explain design documentation. (10) 37
Discuss effective modular design. (5) 35
Discuss graphical design notation. (5) 49
Explain interface design evaluation cycle. (10) 44
Explain user documentation. (7) 64
Discuss testing objectives and testing principles. (8) 71
Explain white box and black box testing method in detail. (8) 72
Discuss COCOMO model in detail. (5) 103
Discuss risk management and concept of risk in development of software. (10) 110,
Write short note on baseline. (5) page 136
What is prototyping? Give its importance. (5)
In this method of problem analysis, a partial system is constructed, which is used by the client
and the developers to have a better understanding of problem and needs. There are two
approaches to this method: throwaway and evolutionary prototyping.
Advantages are:Users are actively involved in the development.
Errors can be detected much earlier.
Quicker user feedback is available leading to better solutions.
Missing functionality can be identified easily
Confusing or difficult functions can be identified
How do you classify risk? 110
Explain water- fall development model with a neat diagram with its advantage and
disadvantage. (15) page 5,6

Advantages are:
This model is simple and easy to understand and use.
It is easy to manage due to the rigidity of the model each phase has specific deliverables and a
review process.
In this model phases are processed and completed one at a time. Phases do not overlap.
Waterfall model works well for smaller projects where requirements are very well understood.

Disadvantages are:
Once an application is in the testing stage, it is very difficult to go back and change something
that was not well-thought out in the concept stage.
No working software is produced until late during the life cycle.
High amounts of risk and uncertainty.
Not a good model for complex and object-oriented projects.
Poor model for long and ongoing projects

33. Differentiate verification and validation. (5) 80


34. Define: quality, quality assurance and quality control. (9)
Software quality refers to a measurable characteristic or attribute of an item- such as color;
length etc. and the measurable characteristics with reference to a program include cyclomatic
complexity, cohesion, lines of code etc. while considering these characteristics, two kinds of
quality may generally be encountered; quality of design and quality of conformance.
Quality assurance is an auditing and reporting function of management. It gives the necessary
information to the management regarding the quality of product.
Quality control it is an activity for controlling the quality of an item. Consists of a series of
activities like inspections, reviews, and tests, which are carried out during the entire life cycle of
software, so that each work product meets the requirements, placed upon it.
35. Explain various design steps for transaction mapping. (7)
Transaction mapping is applied when a single information item cause flow to branch alone one
of many parts. The DFD is mapped in to a structure that allocated a control to sub structure that
acquire and evaluates a transaction. Another substructure control all potential processing based
on a transaction.
The design steps for transaction mapping include:
Review fundamental system model
Review and refine data flow diagram for the software.
Determine whether the DFD has transform or transaction characteristics
Identify the transaction center and flow characteristics along each action path
Map the DFD to a program structure amenable to transaction processing
Factors and refine the transaction structure and the structure of each action path
Refine the first iteration architecture using design heuristics for improved software quality
36. What is cohesion and coupling? Explain (8)

Cohesion is a measure of the relative functional strength of a module. It is an extension of


information hiding concept. A cohesive module must perform a single task within a software
procedure, requiring little interaction with procedures that are performed in other parts of a
program. Cohesion may be represented in various levels ranging from low measure to high
measure.
Coupling is a measure of relative interdependence among modules. Strength of coupling
depends on interface complexity, type of connections and communications between modules.
In software design, we look for the lowest possible coupling. Simple connectivity among
modules results in software that is easier to understand and less prone to error propagation in
the system.
37. What are aggregate objects? Explain (6)
Aggregate object is collection of basic objects and other aggregate objects. For example- in SRS,
design specification is an aggregate object which is an aggregation of object like data design,
architectural design module design etc.
38. Give IEEE definition of risk management. (5)
Soft ware risk management is an emerging discipline whose objectives are to identify address
and eliminate software risk items before network.
There are different categories of risks that can be considered, in first category it is:
Project risks, threaten the project plan
Technical risks, threaten the quality and timeliness of software to be built
Business risks, threaten the viability of the software to be built in the next category, it is:
Known risks, can be uncovered from careful evaluation of the project plan
Predictable risks, are obtained from the past project experience
Unpredictable risks, they cannot be known in advance and are difficult to find
39. What is S/W testing? Give its importance. (8) 70
Importance:
To discover defects.
To avoid user detecting problems
To prove that the software has no faults
To learn about the reliability of the software.
To avoid being sued by customers
To ensure that product works as user expected.
To stay in business
To detect defects early, which helps in reducing the cost of defect fixing?
40. Explain program design model (PDL) with example. (8)
41. List important approaches used in program debugging. (5)
Three important approaches commonly used are:-

Brute force method: - it is the most common and least efficient method. It is applied when else
failed.
Backtracking: - fairly common, can be successfully used in small programs. Beginning the site
where symptoms has been fund the source code is tracked backward until the site of course is
found
Cause elimination: - use the concept of binary partitioning. a cause hypothesis is devised and
data related to the error occurrence are used to prove or disprove the hypothesis.
42. Give important function of SCM process. (8)
SCM is an important element of SQA. Its primary responsibility is to control changes.
The important functions of SCM process are:
Identification of individual SCIs: the software configuration items must be named and
organized using object oriented approach. This is required to control and manage SCIs.
Version control: it combines procedures and tools to manage different version of configuration
objects that were created during software engineering process.
Change control: change control combines the human procedures and automated tools to
provide the mechanism for control of change. Access control and synchronization control two
important elements of change control.
Configuration auditing: it complements the FTR by assessing a configuration object for
characteristics that are generally not considered during FTR. This activity is conducted by quality
assurance group.
Reporting: it is also known as configuration status reporting (CSR) or status accounting. It
contain the status information regarding changes that take place in the change control process,
this report helps in improving communication among all people involved in process and plays an
important role in success of a large software development process.

Вам также может понравиться