IT2402 - Fundamentals of Software Engineering: University of Colombo School of Computing
IT2402 - Fundamentals of Software Engineering: University of Colombo School of Computing
IT2402 - Fundamentals of Software Engineering: University of Colombo School of Computing
Important Instructions:
The duration of the paper is 2 (Two) hours. The medium of instruction and questions is English. The paper has 45 questions and 09 pages. All questions are of the MCQ (Multiple Choice Questions) type. All questions should be answered. Each question will have 5 (five) choices with one or more correct answers. All questions will carry equal marks. There will be a penalty for incorrect responses to discourage guessing. The mark given for a question will vary from 1 (All the incorrect choices are marked & no correct choices are marked) to +1 (All the correct choices are marked & no incorrect choices are marked). Answers should be marked on the special answer sheet provided. Note that questions appear on both sides of the paper. If a page is not printed, please inform the supervisor immediately. Mark the correct choices on the question paper first and then transfer them to the given answer sheet which will be machine marked. Please completely read and follow the instructions given on the other side of the answer sheet before you shade your correct choices.
1)
Which of the following is a/are characteristic(s) of software? (a) (b) (c) (d) (e) Increased use of software will introduce new defects. Software is tangible. A change to a piece of code may implicitly affect the functions of the rest of the code. Software is configurable. Software does not wear and tear.
2)
Which of the following is/are common to software engineering and hardware engineering? (a) (b) (c) (d) (e) Enforce tight control on the development process in order to meet deadlines. Risk management Use of robots in production lines Conformance to quality standards throughout development Use of CASE tools to support development
3)
The CPU of a computer consists of an ALU and a CU. Intel and AMD are two types of CPUs, which are widely used in computers. Users of computers can be either novices or experts. Consider the following classes.
(i) CPU and AMD (ii) User and Computer (iii) CPU and ALU
The correct relationships between the above classes are (a) (b) (c) (d) (e) 4) (i) inheritance (i) association (i) association (i) association (i) inheritance (ii) association (ii) inheritance (ii) inheritance (ii) inheritance (ii) association (iii) inheritance. (iii) aggregation. (iii) association. (iii) aggregation. (iii) aggregation.
What is meant by the term software crisis? (a) (b) (c) (d) (e) Ability to deliver software on time with good quality A situation in which experienced developers leave the company Inability of new software to inter-operate with existing software Instability in the development team A situation in which large scale software projects took more time and budget than was planned
5)
Which of the following is a / are problem(s) of using natural language for specifying requirements? (a) over expressiveness (c) ambiguity (e) high paper costs (b) low level of language literacy (d) lack of structure
6)
What type of software is a website developed to sell movies over the internet? (a) Scientific software (d) Embedded software (b) Safety critical software (e) Business software (c) Web based software
7)
Which of the following is a/are phase(s) of the software lifecycle? (a) Design (d) Maintenance (b) Testing (e) Project management (c) Quality management
8)
Which of the following is/are correct about Chief Programmer Teams? (a) They are built around a highly skilled chief programmer. (b) There is a specialist pool from which expertise is drawn as required. (c) The idea behind Chief Programmer Teams is that experienced staff should only be responsible for development and should not be concerned with routine matters. (d) The nucleus of a Chief Programmer Team consists of administrators, OS specialists and client side engineers. (e) The Specialist Pool consists of a Chief Programmer and a backup programmer.
9)
Which of the following are external qualities of a software product? (a) (b) (c) (d) (e) maintainability, reusability, portability, efficiency, correctness correctness, reliability, robustness, efficiency, usability portability, interoperability, maintainability, reusability usability, efficiency, maintainability, reusability, portability robustness, efficiency, reliability, maintainability, reusability
10) Which of the following is a/are disadvantage(s) of the formal systems development model? (a) (b) (c) (d) (e) High risk of project failure Need for specialised skills and training to apply the technique Difficult to formally specify some aspects of the system such as the user interface It can be applied to develop safety critical software such as autopilot systems of modern aircrafts. Management may hesitate to fund development using new approaches.
11) Which of the following is an/are activity/activities of the maintenance process? (a) Impact Analysis (d) Code Review 12) (b) System Release Planning (e) Quality Management (c) Change Implementation
Which of the following is/are true with respect to prototyping? (a) It is an evolutionary process model. (b) It is suitable to use it in the clean room approach to software development. (c) Depending on the type of prototyping used, the prototype may be modified towards the final product. (d) It is applicable for projects with vague requirements. (e) It has an explicit risk analysis phase in it.
13) Integrated CASE tools include design editors, code generators, code editors and report generators. They work collaboratively by sharing their outputs with each other. What is the best architecture to develop an integrated CASE tool? (a) Thin-client model (d) Multi-tier architecture (b) Repository model (e) Island model (c) Fat-client model
14) Which of the following is a/are internal software quality attribute(s)? (a) program size (d) cyclomatic complexity (b) usability (e) number of procedure parameters (c) reliability
15) Which of the following is a/are member(s) of an inspection team? (a) Librarian (d) Inspector (b) Author (e) Moderator (c) Project manager
16) The Waterfall model (a) (b) (c) (d) (e) is a sequential model for software development. is suitable for projects with stable requirements. is appropriate to develop user interfaces. is characterized by a set of clearly defined milestones and deliverables. incorporates a working version of the program from the beginning so that the client can provide feedback.
17) The items in column X have to be matched with the descriptions in column Y. COLUMN X 1 2 3 4 Unit testing Subsystem testing System testing Acceptance testing A B C D COLUMN Y The finished system tested with users The whole finished system tested by developers Individual components are tested Collections of components are tested
Which of the following match(es) is / are appropriate? (a) 1 & C 2 & D (c) 1 & D 2 & C (e) 1 & D 2 & B 3&A 3&A 3&A 4&B 4&B 4&C (b) 1 & C (d) 1 & B 2&D 2&D 3&B 3&C 4&A 4&A
18) Which of the following is a/are non-functional requirement measure(s)? (a) MTTF (d) function points (b) response time of the interface (e) training time (c) team stability
19) Which of the following language pair(s) is/are the most suitable for developing a distributed system application and a knowledge based system respectively? (a) C++, Java. (d) C, Prolog. (b) Java, Fortran. (e) Java, Prolog. (c) ADA, Pascal.
20) Which of the following is a/are strategy/strategies for data re-engineering? (a) Data Cleanup (d) Data Mining (b) Data Extension (e) Data Warehousing (c) Data Migration
21) Which of the following is/are incorrect with respect to incremental development? (a) (b) (c) (d) It is not an evolutionary software development model. Highest priority requirements are included in early increments. It is embodied in extreme programming. It is frequently used to develop application packages such as word processors and spreadsheets. (e) Early increments act as a prototype to help elicit requirements for later increments. 22) What is the most suitable architecture to develop a web based system? (a) SIMD model (d) Repository model (b) Waterfall model (e) Client-server model (c) MIMD model
Choose the correct code fragment(s), which show(s) its logic. (a) while a { repeat c until b d } (d) while a { while b c d } 24) Consider the following Java code fragment. Class Paint { double Paint_blue ( ) { ... } double Paint_white ( ) { ... } double Paint_red ( ) { ... } } Identify to which cohesion level it corresponds? (a) Temporal (d) Procedural (b) Logical (e) Stamp (c) Coincidental (b) if a then { if b then c else d } (e) while a { do c while b d } (c) if a then { while b c d }
25) The profile model of user interface design defines different user categories considering their capabilities, experience and objectives. What are those categories in the increasing order of expertise? (a) Amateur, Intermediate, Advance. (c) Casual, Novice, Expert. (e) Novice, Intermediate, Expert. (b) Casual, Expert, Novice. (d) Novice, Casual, Expert.
26) Which of the following sets represent the phases of the spiral model? (a) Establish Outline Specification, Develop Prototype, Evaluate Prototype, Specify System (b) Business Modelling, Data Modelling, Process Modelling, Application Generation, Testing (c) Analyse Requirements, Design, Test, Maintain (d) Determine Goals, Alternatives & Constraints, Evaluate Alternatives & Risks, Develop & Test, Plan (e) Component Analysis, Requirement Modification, System Design With Reuse, Development 27) Which of the following is a/are tool(s) used in requirement analysis? (a) Flow Graphs (d) Use Case Diagrams (b) Data Flow Diagrams (c) Activity Networks (e) Module Dependency Diagrams
28) Which of the following is a/are non-functional requirement of an e-learning system? (a) (b) (c) (d) (e) User friendliness Time taken to download study materials through the system should not be too long. On-line assignment submission facility On-line chatting facility Robustness
29) Corrective maintenance, adaptive maintenance and perfective maintenance are the 3 types of maintenance a software product could undergo. Which of the following sets represent an increasing ordering of the types of maintenance with respect to their costs? (a) (b) (c) (d) (e) Corrective Maintenance, Adaptive Maintenance, Perfective Maintenance Adaptive Maintenance, Corrective Maintenance, Perfective Maintenance Adaptive Maintenance, Perfective Maintenance, Corrective Maintenance Perfective Maintenance, Adaptive Maintenance, Corrective Maintenance Corrective Maintenance, Perfective Maintenance, Adaptive Maintenance
30) An erroneous program module was handed over to a developer. He changed the code and checked whether it works according to the requirements specification. What did he do? (a) Beta Testing (d) Bottom-Up Testing (b) Top-Down Testing (e) Alpha Testing (c) Regression Testing
31) Which of the following sets represent the 5 stages defined by Capability Maturity Model in increasing order of maturity? (a) (b) (c) (d) (e) Initial, Defined, Repeatable, Managed, Optimized Initial, Repeatable, Defined, Managed, Optimized Initial, Defined, Managed, Repeatable, Optimized Initial, Managed, Repeatable, Defined, Optimized Initial, Repeatable, Managed, Defined, Optimized
6
32) What is the most important software quality attribute of a web based transaction processing system? (a) Usability (d) Safety 33) CASE tools (a) (b) (c) (d) (e) can completely automate the software development process. minimize development costs and maintenance costs. support only the software development process. can be applied to all the phases of the software life cycle. may be integrated across functions. (b) Security (e) Modularity (c) Efficiency
34) Configuration management is the process concerned with managing an evolving software product. Which of the following are items managed in this process? (a) (b) (c) (d) (e) program code, user manuals, version information, company policy version information, user manuals, marketing information, design test data, version information, company policy, user manuals version information, specifications, design, marketing information specifications, design, program code, user manuals
35) Requirement validation (a) is part of the feasibility study. (b) is accomplished through unit and integration testing. (c) is the process that checks the accuracy and the completeness of the requirements. (d) ensures that the software does the right thing. (e) ensures that the client accepts the software. 36) Which of the following are contents of a requirement specification? (a) constraints (d) project plan (b) functional requirements (e) cost estimation (c) quality requirements
37) Software design principles are characteristics a good software system should exhibit. Which of the following design principle permits one to concentrate on a problem at some level of generalization without regard to irrelevant low level details? (a) Abstraction (d) Information Hiding (b) Encapsulation (e) Modularity (c) Polymorphism
38) Which of the following is a / are phase(s) of risk management? (a) Risk Analysis (d) Backup (b) Recovery (e) Risk Monitoring (c) Risk Planning
39) Which of the following is/are true about Pseudo Code? (a) (b) (c) (d) (e) It is more flexible than natural language. It is more formal than a programming language. It is a kind of programming language. It is a more formal than natural language but less formal than a programming language. It is a design tool.
40)
Which of the following is an/are advantage(s) of object oriented analysis & design over structured system analysis & design? (a) ease of modelling real world events (c) maintainability (e) absence of uncontrolled branching (b) reusability (d) use of one in one out statements
41) The number of function points of a proposed system is calculated as 500. Suppose that the system is planned to be developed in Visual Basic and the LOC/FP ratio of Visual Basic is 50. Estimate the effort (E) in required to complete the project using the effort formula of basic COCOMO given below. E = a (KLOC) b Assume that the values of a and b are 2.5 and 1.0 respectively. (a) 25 person months (d) 25 000 person months 42) Consider the following flow graph. (b) 75 person months (e) 35 person months (c) 62.5 person months
c b d
43) Which of the following is a/ are correct statement(s) about versioning? (a) A release of a system is functionally distinct in some way from other system instances. (b) A version is an instance of a system, which is functionally identical but non-functionally distinct from other instances of a system. (c) A version is an instance of a system, which is functionally distinct in some way from other system instances. (d) A release is an instance of a system, which is distributed to users outside of the development team. (e) A release is an instance of a system, which is functionally identical but non-functionally distinct from other instances of a system.
44) Consider the following diagram. Modules A, B, C and D all access a common global data area shown as a darkened square at the centre.
MODULE A
MODULE B
MODULE C
MODULE D
What is the name given to the level of coupling exhibited by the modules? (a) Content coupling (d) Stamp coupling (b) Object coupling (e) Data coupling (c) Common coupling
45) Which of the following sentences is/are true about software design? (a) Architectural design identifies sub-systems and components of the system to be developed. (b) In the thin client model, all of the application processing and data management is carried out on the server and the client is simply responsible for running the presentation software. (c) A good design exhibits high coupling and low cohesion in its modules. (d) Protecting information from direct access by other modules and providing access to this information through well defined interfaces is called Encapsulation. (e) The projected model of interface design defines the user perception of software functionality. *****