You are on page 1of 12

Software Engineering

Dr Nora Niazy
True & false questions
1. Software is defined as computer programs, procedures, and possibly associated documentation and
data pertaining to the operation of a computer system
( TRUE )

2. Software engineering is that form of engineering that applies the principles of computer science
and mathematics to achieve cost-effective solutions to software problems ( TRUE )

3. Computer engineering generally not covers the architectural and design-engineering topics required
for the development and production of computing devices and systems ( FALSE ) (generally
cover)

4. Cost Effectiveness concerns the degree to which the total software development and operational
costs which don’t meet users' needs ( false) (which meet)

5. The software process concerns those steps needed to produce a finished software product that both
meets its requirements and satisfies the goals of software engineering (True)

6. Requirements phase involves the definition of the problem to be solved and the specification of the
constraints that the resulting product must satisfy (true)

7. Requirements phase involves the definition of the problem to be solved and the specification of the
constraints that the resulting product don’t satisfy (false) ( must)

8. A detailed design phase then produces the internal module designs from which final implementation
proceeds ( true)

9. A detailed design phase then produces the external module designs from which final
implementation proceeds(false) internal
10. Implementation transforms design into a working product, includes code production for modules
and their progressive integration into larger aggregations until the product is completed (true)
11. The software requirements are generally produced by the system design activity (true)
12. Modularity defines how software systems shouldn’t be structured. (false) (should)
13. support systems will generally include the full software engineering life cycle from early
requirements through early test and field support. (false) (final)

14. The software life cycle consists of seven phases (false) (five)
15. Software is reliable if it is correct and it meets its initial specifications and performs as specified
(true)
16. The software design should implement all parts of the specification and each part of the design
should be correct (true)

17. The documentation mustn’t describe system facilities correctly and should point out areas where
the very critical results might be obtained from using the system. (false) (must)
18. Software project management is the second layer of the software engineering process (false )
(first)
19. Direct measures of the software engineering process didn’t include cost and effort applied (false)
(process include)
20. Function-oriented software metrics are direct measures of software and the process by which it is
developed (false) (indirect)
21. The process of establishing what services the system should provide and the constraints under
which it must operate is called requirements analysis and definition. (true)
22. Software specification is part of this design process where the design is expressed in a low-level
abstract way. (false) (high)
23. The S/W specification is made up of abstract definitions of S/W components , user services (false)
(not user)
24. Formal software specification implies that the specification is expressed in a notation, which is
mathematically sound. (true)
25. For specifications to be complete, it is important to define the meaning of the data type by
specifying to the behavior of the type operations (true)
26. Structure charts don’t describe the programming system as a hierarchy of parts and display the
graphically, as a tree (false) (chart describe)

Multiple choose

1) Classification of Software Design Methodologies


A. Top-Down functional design
B. Down-top functional design
C. data flow diagram
D. structure diagrams

2) Data-flow diagram document describes

A. data input
B. sequencing information
C. control information
D. operations

3) Top-down development requires that the program structure to be


A. Partitions
B. Hierarchical
C. Tree
D. Blocks
4) Cost Effectiveness This concerns the degree to which the total software
development and
A. operational costs meet users' needs.
B. operational costs don’t meet users' needs
C. becomes high expensive
D. become very critical
6) The software process concerns those steps needed to produce a finished software
product that both
A. meets its requirements and satisfies
B. don’t meets its requirements and satisfies
C. meets its requirements and didn’t satisfies
D. don’t meets its requirements and didn’t satisfies

7) The requirement should be validated with both the


A. users and designers
B. users and developer
C. users and programmer
D. programmer and designers

8) support systems will generally include the


A. full software engineering life cycle
B. part of software engineering life cycle
C. small-scale support environments
D. one scale support environment

9) In order to conduct a successful software project, we must understand


A. the resources to be didn’t required
B. the scope of work to be done
C. the tasks to be didn’t accomplished
D. the schedule shouldn’t be followed

10) The process of establishing what services the system should provide and
the constraints under which it must operate
A. requirements analysis and definition.
B. Design process
C. Support process
D. Test process
11) S/W staff must fully understand
A. all the user's definitions and terminologies
B. some of the user's definitions and terminologies
C. only the users’ definitions
D. only terminologies
12) In the first phase of any distinct S/W life cycles, the user
A. Defines only his requirements
B. defines his requirements, goals and constraints
C. only goals and constraints
D. only constraints

13) A requirement is something that can be


A. Tested
B. Analyzed
C. Validated
D. Processed
14) Formal software specification implies that
A. the specification is expressed in a notation, which is mathematically sound.
B. the specification can’t be expressed in a notation, which is mathematically sound.
C. the specification is expressed in a notation, which haven’t mathematically sound
D. Can’t be expressed
15) Interface specification involves specifying
A. input constraints, which define the function of the S/W component.

B. output constraints, which define the function of the S/W component.

C. input and output constraints, which didn’t define the function of the S/W
component.
D. input and output constraints, which define the function of the S/W
component.
16) Each program may then be designed in forms of
A. interacting sub components
B. interacting sub data
C. interacting sub function
D. interacting sub modules
17) Mathematical verification of software design correctness
A. is a difficult and low-price process
B. is an easy and expensive process
C. is an easy and not expensive process
D. is a difficult and expensive process
18) The principle of "need to know" should be adopted in programming to control access to
system data by program units

A. Information hiding
B. Data corrupted
C. Encapsulation
D. Data representation

19) Programs should be written so that they may be implemented under more than one
computer / operating system configuration
A. Program Portability
B. Program design
C. Program analyses
D. Program tested
20) The part of the validation process which is normally carried out during implementation
and also, in a different from, when implementation is complete
A. Program testing
B. Program design
C. Program portability
D. Program analyses
❖ Software engineering framework goals.

Correctness
Usability
Cost Effectiveness

❖ different phases of the software life cycle.

The software life cycle consists of five phases:


1. Requirements analysis and definition
2. System and S/W design
3. Implementation and unit testing
4. System testing
5. Operation and maintenance

❖ The advantages of using formal specifications of software components

There are a number of advantages, which occur from using formal specifications of
S/W components:
i) Given a formal specification and a definition of programming language
semantics, it may be possible to prove that a program meets with its specification

ii) Formal S/W specifications can be studied mathematically so that questions


concerning the equivalence of specifications, for example, can be answered.
iii) Formal specifications are prosecutable by computers. Software tools may be
constructed to assist designers in the development, understanding and debugging of
S/W specification.
❖ The major stage of the testing process.

Function testing (Unit testing):


Module testing
Sub-system testing
System testing (Integration testing)
Acceptance testing

❖ Illustrate a Conceptual model of an electronic mail system

❖ Illustrate a Conceptual model of an office system.


❖ Software engineering framework activities.
Requirements
Design
Implementation
Validation
Support

❖ design systems using the program complexity can be quantified using two types of
measures: structural measures and text measures. Calculate W, E, the theoretical number of
initial errors 𝑁0
Given that:
Number of distinct operators n1=16 Number of distinct operands n2=24
Mc Cabe Cyclomatic number V (G) = 16 Number of loops P=94
Constants: a=0.559 b=1.177
You might use the following formulas:
N0 = ((E) 2/3/3000) (a W b) W = V (G) + P
N1 = n1 log2 n1 N2 = n2 log2 n2
E = (n1*N2* (N1 + N2) log2 (n1 +n2)) / (2n2)

Calculate W, E
W = V (G) + P
W=16+94=110
E = (n1*N2* (N1 + N2) log2 (n1 +n2)) / (2n2)
N1=n1log2 n1
=16log216
N2=n2log2n2
= 24log2n2
E=(16*(24 log2 24) * ((16 log2 16)+(24 log2 24) ) log2 (16+24)/2(24))
N0 = ((E) 2/3/3000) (a W b)

b using the linear regression analyses technique.

The following values are obtained:

a = 0.559 & b = 1.177

By the combination of this formal with that of Halted we obtain:

No = E 2/3 / 3000. a Wb
❖ requirements analysis.
The process of establishing what services the system should provide and the constraints under
which it must operate is called requirements analysis and definition.

❖ Software requirements Document.

It is a set of precisely stated properties or constraints, which a S/W system must


satisfy.

❖ Software design.
the design of the programming system could be derived. This is accomplished in a number
of stages:
The subsystem making up the programming system must be established.
Each subsystem must be decomposed into separate components and the subsystem
specification established by defining the operation of these components.
Each program may then be designed in forms of interacting sub components.
Each component must then be refined.
At some stage of this refinement process, the algorithms used in each component must be
specified in detail.

❖ Software engineering framework activities.


Requirements
Design
Implementation
Validation
Support

❖ Information hiding
The principle of "need to known" should be adopted in programming to control access to system
data by program units. Each program unit should be allowed access only to program objects,
which are required to implement that unit's function. Access to other objects, the programming
language to conceal the existence of those objects. This is called information hiding.

❖ S/W Requirements Document


It is a set of precisely stated properties or constraints, which a S/W system must satisfy. It can be
organized to include:
1.Introduction:
2. Hardware:
3. The conceptual model:
4. Functional requirements:
5. Database requirements:
6. Non-functional requirements:
7. maintenance information:
8. Glossary
9. Index

❖ Program Portability
Programs should be written so that they may be implemented under more than one computer /
operating system configuration. The more machines on which a system is implemented, the
greater potential market for it.

❖ Software Quality Assurance (SQA) in an umbrella activity that applied throughout the
software engineering process. SQA encompasses the following jobs:
(1) Analysis, design Coding and testing methods and tools.
(2) Formal technical reviews that are applied during each software engineering step.
(3) Multitier testing strategy.
(4) Control of software documentation and the changes made to it.
(5) Procedure to assure compliance with software development standards.
(6) Measurement.
(7) Record keeping.

❖ The purpose of Validating a software design


Undetected errors and omissions are carried forward to the implementation phase of the
project and not detected until system testing can be extremely expensive to correct.

The validation of software design is intended to achieve two objects,


first one is to show that the software design is "correct" this process is sometimes called
verification and the
second is to show that the software is valid. That is, it should be demonstrated that the
design meets the requirements in full.
❖ Programming Methodology
Top-down development requires that the program structure to be hierarchical. The
lowest level in the system hierarchy is implemented using basic programming language
facilities.
Bottom-up development is the converse of the above process implementation starts with
the lower levels of the system and the system is built up until, finally, the highest design
level is implemented.

❖ The advantage of hiding unnecessary information is that:


• Hidden information will not be corrupted.
• Programs are more secure, and may provide data independence.
• Data representation may be changed without changing the program units, which make
use of that data.

You might also like