Académique Documents
Professionnel Documents
Culture Documents
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.
Give general guidelines for preserving the design quality of a program. (4)
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.
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.
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
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.