1、软件工程复习题 PART-A Multiple-choice Questions 1. When should the system testing phase begin? ( C ) A. After beta testing B. Before unit testing C. After white box testing D. Before functional testing 2. Which is included in
2、 the software requirements specification? ( C ) A. error handling B. data description C. functional description D. performance description 3. Which factors must be most considered when developing acceptance criteria? ( B ) A. user
3、availability B. match with requirements C. ability to benchmark system D. schedule of system delivery 4. Software _____ is work done to enhance software functionality, correct errors and improve the performance of software. ( B ) A. re-designs
4、 B. Maintenance C. Corrections D. Re-engineering 5. Which type of testing is not a part of system testing? ( D ) A. Stress testing B. Function testing C. White box testing D. Incremental testing 6. Wh
5、ich are included in the software requirements specification? ( B, D ) A. error handling B. functional description C. data description D. maintainability description 7. A data dictionary was created during the requirements analysis phase of a softwa
6、re engineering project. What information does it contain? ( A,B,D ) A. interface B. data type C. restrictions D. content description 8. What is configuration management in software engineering? ( C ) A. overall management
7、 of the design of the system B. management of the configurable components in a system C. the identification of the configuration of a system at discreet points in time to control changes to the configuration D. in object-oriented programming, the management of objects that control th
8、e configuration of some other function(s) in the system PART-B Fill up the blanks 1. Most product need ___ maintenance _______ because of wear and tear caused by the usage 2. __ Evolutionary ___________ Model is known as the successive versions model 3. ISO is abbreviated as____ International
9、 Standard Organization _________ 4. __ Verification _________ is the process of determining whether one phase of a software product confirms to its previous phase 5. Black-box testing is also known as____ Functional testing or Closed Box ______ 6. White-box testing is also called the __ Struc
10、tural testing. or Open Box ____ 7. __ Software reverse engineering ___ is the process of recovering the design and the requirement specification of product from an analysis of its code 8. __ Software Life Cycle ____ is the series of identifiable stage that a software product undergoes during its
11、life time PART–C Answer the following in one or two sentences each question 1. Define software Engineering Ans: It is an approach to develop software using engineering approach Engineering approach means HEAVY USE OF PAST EXPERIENCE OPTIMIZATION COST EFFECTIVENESS 2. What is mea
12、nt by software configuration management? Ans: Software configuration management is the art of identifying, organizing and controlling modifications to the software being built by a programming team 3. Explain Characteristics of a Good SRS Document. Ans: a. It should be concise and at the s
13、ame time unambiguous. b. It should be consistent. c. It should be complete. d. It should be well-structured and easily modifiable. 4. Generate test cases to compute the square root of integer values in the range between 0 and 2000 using Boundary Value Analysis. Ans: {0, 1, 2000, 2001} Bo
14、undary Value Analysis 5. What is a Formal Technique? Ans: A formal technique is a mathematical method to specify a hardware and/or software system, to verify whether a specification is realizable, to validate whether an implementation satisfies its specification and to prove properties of
15、a system without necessarily running the system, etc. 6. Define Software Life Cycle Model. Ans: Software life cycle is the series of identifiable stage that a software product undergoes during its life time 7. Define Fan-Out Ans: It is a measure of the number of modules that are directly co
16、ntrolled by a given module. A design having modules with high fan-out is not a good design as such modules would lack cohesion. 8. Explain the need of an SRS Document. Ans: a. An SRS establishes the basis for agreement between the client and the supplier on what the software product will do.
17、 b. An SRS provides a reference for validation of the final product. c. A high quality SRS is a prerequisite to high-quality software. d. A high-quality SRS reduces the development cost. 9. Generate test cases to compute the square root of integer values in the range between 0 and 5000 using
18、Boundary Value Analysis. Ans: {0, 1, 5000, 5001} Boundary Value Analysis 10. Define Decision table Ans: Decision table specify which variables are to be tested, what actions are to be taken and the order in which decision making is to be performed. PART–D Write Short notes 1. Em
19、pirical Estimation Techniques Ans: Empirical estimation techniques are based on making an educated guess of the project parameters. Although empirical estimation techniques are based on common sense, and experience over the years. The two most widely used empirical estimation techniques are
20、 • Expert Judgment It is one of the most widely used estimation techniques. In this approach an expert makes an educated guess of the problem size after analyzing the problem thoroughly • Delphi Technique It tries to overcome some of the short coming of the previous method. It is carried out by a
21、 team composed of a group of experts and a coordinator 2. Organization and Team Structures Ans: Every software organization handles several projects. Software organizations assign a team of engineers to handle a software project. There are a few standard ways in which software organizations a
22、nd teams are structured. There are essentially two broad ways in which a software development organization is structured: • Functional format • Project format Team Structure Problems of different complexities and sizes require different team structures. For effective solution, usually every org
23、anization has a standard formal team structure. The three common formal team structures followed by most organizations are • Democratic Team Structure • Chief Programmer Team Structure • Mixed Team Structure 3. Code Inspections Ans: Code inspections aim explicitly at the discovery of commo
24、nly made mistakes. Most software development companies collect statistics to identify the type of errors most frequently committed. Such a list of commonly committed(提交) errors can be used during code inspections to keep a look-out for possible errors. The following is a list of some classical prog
25、ramming errors which can be looked for during code inspections: ► Use of uninitialized variables. ► Jumps into loops. ► Non terminating loops. ► Incompatible assignment. ► Array indices out of bounds. ► Improper storage allocation and deallocation. 4. Black-Box Testing Ans: This tes
26、ting methodology looks at what are the available inputs for an application and what the expected outputs are that should result from each input. It is not concerned with the inner workings of the application, the process that the application undertakes to achieve a particular output or any other int
27、ernal aspect of the application that may be involved in the transformation of an input into an output. Most black-box testing tools employ either coordinate based interaction with the applications graphical user interface (GUI) or image recognition. An example of a black-box system would be a se
28、arch engine. You enter text that you want to search for in the search bar, press “Search” and results are returned to you. In such a case, you do not know or see the specific process that is being employed to obtain your search results, you simply see that you provide an input – a search term –
29、and you receive an output – your search results 5. Data Flow Diagrams (DFDs) Ans: The DFD (also known as the bubble chart) is a simple graphical notation that can be used to represent a system in terms of the input data to the system, various processing carried out on these data and the outpu
30、t data generated by the system Primitive Symbols Used for Constructing DFDs There essentially five different symbols used to construct DFDs. These primitive symbols are depicted in BELOWFIGURE 6. Risk (danger or loss) Management Ans: A risk is any unfavorable (not encouraging or pleasi
31、ng) event or circumstances that can occur while a project is underway. Risk management aims at dealing with all kinds of risks that might affect a project. Risk management consists of three essential activities: Risk Identification, Risk assessment, Risk containment PART–E Solve the Prob
32、lems 1. Given Control flow graph G of a program for GCD .Calculate the cyclomatic complexity. Ans: Given a control flow graph G of a program The cyclomatic complexity V(G) can be computed as V(G) = E-N+2 Where, N is the number of nodes of the control graph
33、 E is the number of edges in the control flow graph Edge =8 and Node =6 By substituting the values in Cyclomatic complexity formula we get, V(G)= 8 – 6 + 2 The cyclomatic complexity = 4 2. Compare different software life cycle models Ans: Strength Weakness Types of projects Waterfall
34、Simple Easy to execute Intuitive and logical All or nothing approach Requirements frozen early Disallows changes Cycle time too long May choose outdated hardware technology User feedback not allowed Encourages req. bloating For well understood problems, short duration project, automatio
35、n of existing manual systems Prototyping Helps in requirements elicitation Reduces risk Leads to a better system Front heavy process Possibly higher cost Disallows later changes Systems with novice users When uncertainities in requirements When UI very important Iterative Regular/quic
36、k deliveries Reduces risk Accommodates changes Allows user feedback Allows reasonable exit points Each iteration can have planning overhead Cost may increase as work done in one iteration may have to be undone later System architecture and structure may suffer as frequent changes are
37、made For businesses where time is of essence Where risk of a long project cannot be taken Where requirements are not known and will be known only with time 3. Mention Guidelines for Constructing DFDs Ans: Some simple guidelines for constructing the DFD representation of a system, whi
38、ch have been developed after studying the different mistakes that beginners usually make while constructing the DFD model of systems are as follows: ► The context diagram should depict the system as a single bubble. Many beginners commit the mistake of drawing more than one bubble in the context
39、diagram. ► All external entities interacting with the system should be represented only in the context diagram and these should not appear at other levels of the DFD. ► Only 3 to 7 bubbles per diagram should be allowed, i.e. each bubble should be decomposed to between 3 and 7 bubbles. ► A DFD doe
40、s not represent control information such as when or in what order different functions (processes) are invoked and nor does it represent the conditions under which different functions are invoked. ► All the functionalities of the system must be captured by the DFD model, i.e. no function of the syst
41、em specified in the SRS document should be overlooked SRS. 4. Calculate the length and volume of the following source code using Hallstead’s Technique main ( ) { int a, b, c, avg; scanf (“%d %d %d”, &a, &b, &c); avg = (a + b + c) / 3; printf (“Average = %d”, avg); } Ans: The t
42、otal number of unique operators ( n1 ) are : 12 The total number of unique operands ( n2 ) are : 11 Estimated Length = (12 * log 12 + 11 * log 11) = (12 * 3.58 + 11 * 3.45) = (43 + 38) = 81 Volume = Len
43、gth * log (23) = 81 * 4.52 = 366 5. Explain Classical Waterfall Model Ans: Feasibility study The aim of the feasibility study is to determine whether developing the product is financially and technically feasible Re
44、quirement analysis and specification phas The aim of the requirement analysis and specification phase is to understand the exact requirements of the customer and to document them properly. This phase consists of two distinct activities: Design phase The goal of the design phase is to transform th
45、e requirements specification into a structure that is suitable for implementation in some programming language. Two distinct design approaches followed in different industries are: Coding and Unit Testing The purpose of this phase (also called the implementation phase) of software development is t
46、o translate the software design into source code. The end product of the implementation phase is a set of program modules that have been individually tested. Implementation phase During this phase the different modules are integrated in a planned manner. The different modules making up a system ar
47、e almost never integrated in a single shot. The goal of system testing is to ensure that the developed system functions according to its requirements as specified in the SRS document. The system testing usually consisting of three different kinds of testing activities 6. List three major types of r
48、isks in a software project Ans: A project can be affected by a variety of risks. The three main categories of risks which can affect a software project are: • Project risks Budgetary, schedule, personnel, resource, customer-related problems etc. • Technical risks Potential design, implem
49、entation, interfacing, testing and maintenance problems. In addition, ambiguous specification, incomplete specification, changing specification, technical uncertainty and technical obsolescence. • Business risks These risks include building an excellent product that no one wants, not fulfilling budgetary or personnel commitments etc.






