Tuesday, July 16, 2013

Software Engineering 01

1. Eco system is a Frame work for                                                                    [Paper III December 2012]
(A) Building a Computer System
(B) Building Internet Market
(C) Building Offline Market
(D) Building Market

2. The Object Modelling Technique (OMT) uses the following three kinds of model to describe a system                                                                                                                               [Paper III December 2012]
(A) Class Model, Object Model and Analysis Model.
(B) Object Model, Dynamic Model, and Functional Model.
(C) Class Model, Dynamic Model and Functional Model.
(D) Object Model, Analysis Model and Dynamic Model.

3. The factors that determine the quality of a software system are                       [Paper III December 2012]
(A) correctness, reliability
(B) efficiency, usability, maintainability
(C) testability, portability, accuracy, error tolerances, expandability, access control, audit.
(D) All of the above

4. ______ establishes information about when, why and by whom changes are made in a software                                                                                                                                         [Paper III December 2012]
(A) Software Configuration Management
(B) Change Control
(C) Version Control
(D) An Audit Trail


5. For a data entry project for office staff who have never used computers before (user interface and user friendliness are extremely important), one will use:                   [Paper II December 2011]
(A) Spiral model
(B) Component based model
(C) Prototyping
(D) Waterfall model

6. An SRS                                                                             [Paper II December 2011]
(A) establishes the basis for agreement between client and the supplier.
(B) provides a reference for validation of the final product.
(C) is a prerequisite to high quality software.
(D) all of the above.

7. McCabe’s cyclomatic metric V(G) of a graph G with n vertices, e edges and p connected component is                                                                                                        [Paper II December 2011]
(A) e
(B) n
(C) e – n + p
(D) e – n + 2p

8. Emergency fixes known as patches are result of                          [Paper II December 2011]
(A) adaptive maintenance
(B) perfective maintenance
(C) corrective maintenance
(D) none of the above

9. Design recovery from source code is done during                       [Paper II December 2011]
(A) reverse engineering
(B) re-engineering
(C) reuse
(D) all of the above

10. Following is used to demonstrate that the new release of software still performs the old one did by rerunning the old tests:                                                                    [Paper II December 2011]
(A) Functional testing
(B) Path testing
(C) Stress testing
(D) Regression testing





SOLUTIONS
1.      A

2.      B
The Object-Modelling Technique (OMT) is an object modelling language for software modelling and designing. It was developed around 1991 by Rumbaugh, Blaha, Premerlani, Eddy and Lorensen as a method to develop object-oriented systems and to support object-oriented programming. It describes Object model or static structure of the system.
OMT was developed as an approach to software development. The purposes of modelling according to Rumbaugh are:
·      testing physical entities before building them (simulation),
·      communication with customers,
·      visualization (alternative presentation of information), and
·      reduction of complexity.
OMT has proposed three main types of models:
·      Object model: The object model represents the static and most stable phenomena in the modelled domain. Main concepts are classes and associations with attributes and operations. Aggregation and generalization (with multiple inheritance) are predefined relationships.
·      Dynamic model: The dynamic model represents a state/transition view on the model. Main concepts are states, transitions between states, and events to trigger transitions. Actions can be modelled as occurring within states. Generalization and aggregation (concurrency) are predefined relationships.
·      Functional model: The functional model handles the process perspective of the model, corresponding roughly to data flow diagrams. Main concepts are process, data store, data flow, and actors.
OMT is a predecessor of the Unified Modelling Language (UML).

3.      D

4.      D
Software Configuration Management (SCM) is the task of tracking and controlling changes in the software. SCM practices include revision control and the establishment of baselines. If something goes wrong, SCM can determine what was changed and who changed it. If a configuration is working well, SCM can determine how to replicate it across many hosts.
Change control within quality management systems (QMS) and information technology (IT) systems is a formal process used to ensure that changes to a product or system are introduced in a controlled and coordinated manner. It reduces the possibility that unnecessary changes will be introduced to a system without forethought
A Version Control system (also known as a Revision Control System) is a repository of files, often the files for the source code of computer programs, with monitored access. Every change made to the source is tracked, along with who made the change, why they made it, and references to problems fixed, or enhancements introduced, by the change.
An Audit Trail is a record showing who has accessed a computer system and what operations he or she has performed during a given period of time. Audit trails are useful both for maintaining security and for recovering lost transactions.

5. 
Software prototyping, refers to the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed. Prototyping has several benefits: The software designer and implementer can get valuable feedback from the users early in the project. The client and the contractor can compare if the software made matches the software specification, according to which the software program is built.

6. D
A software requirements specification (SRS) is a comprehensive description of the intended purpose and environment for software under development. The SRS fully describes what the software will do and how it will be expected to perform. A good SRS defines how an application will interact with system hardware, other programs and human users in a wide variety of real-world situations. Parameters such as operating speed, response time, availability, portability, maintainability, footprint, security and speed of recovery from adverse events are evaluated. Methods of defining an SRS are described by the IEEE (Institute of Electrical and Electronics Engineers) specification 830-1998.

7. D
Cyclomatic complexity (or conditional complexity) is a software metric developed by Thomas J. McCabe, and is used to indicate the complexity of a program. It directly measures the number of linearly independent paths through a program's source code. Cyclomatic complexity is computed using the control flow graph of the program: the nodes of the graph correspond to indivisible groups of commands of a program, and a directed edge connects two nodes if the second command might be executed immediately after the first command. Cyclomatic complexity may also be applied to individual functions, modules, methods or classes within a program. 
Mathematically, the cyclomatic complexity of a structured program is defined with reference to the control flow graph of the program, a directed graph containing the basic blocks of the program, with an edge between two basic blocks if control may pass from the first to the second. The complexity V(G) is then defined as:
V(G) = E − N + 2P  where

  • E = the number of edges of the graph
  • N = the number of nodes of the graph
  • P = the number of connected components (exit nodes).
Also

having:

       e = number of edge

       n = number of nodes 

       p = number of decision predicate nodes (if, else, while, etc)

we can express cyclomatic complexity as:
  • V(G) := e - n + 2
       OR
  • V(G) := p + 1

8. C
Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes. Software maintenance activities is categorized into four classes:

  • Adaptive – modifying the system to cope with changes in the software environment
  • Perfective – implementing new or changed user requirements which concern functional enhancements to the software
  • Corrective – diagnosing and fixing errors, possibly ones found by users
  • Preventive – increasing software maintainability or reliability to prevent problems in the future
9. A
Software Reverse Engineering is the practice of analysing a software system, either in whole or in part, to extract design and implementation information

10. D
Functional testing is a quality assurance process and a type of black box testing that bases its test cases on the specifications of the software component under test. Functions are tested by feeding them input and examining the output
Path testing is an approach to testing where you ensure that every path through a program has been executed at least once.
Stress testing is a software testing activity that determines the robustness of software by testing beyond the limits of normal operation.
Regression testing is any type of software testing that seeks to uncover new software bugs, or regressions, in existing functional and non-functional areas of a system after changes, such as enhancements, patches or configuration changes, have been made to them. Common methods of regression testing include rerunning previously-completed tests and checking whether program behaviour has changed and whether previously-fixed faults have re-emerged.

No comments:

Post a Comment