You are on page 1of 10


Instruction: Please select the BEST answer from the given choices.

1. What is the main concern of software engineering area? (a) Hardware configuration (b) Software production (c) Network configuration (d) Software reusability

2. Which type of system usually requires more extensive validation and testing? (a) Web-based system (b) Real-time system (c) Stand-alone system (d) Information system

3. Which type of testing is expensive and impractical without automated support? (a) Release testing (b) Regression testing (c) Interface testing (d) Component testing

4. Test cases consist of ___________. (a) testing plans (b) requirements specifications (c) use case diagrams (d) inputs and predicted outputs

Page 2 of 11
Semester II 2009/2010 Fundamentals of Software Engineering

Which of the following statements is WRONG when describing the acceptable behavior of software engineers? (a) Software engineers are permitted to disclose the confidential data of their employers and clients if a formal confidentiality agreement is not signed. EXCEPT: (a) Large system should only concerns on development rather than testing. (d) Testing can only detect the presences of errors. not their absence. Software engineers must behave in ethical and morally responsible way. (b) Software engineers should not knowingly accept work that is outside their competence. (d) Software engineers should not use their technical skills to misuse other people’s computers. Page 3 of 11 Semester II 2009/2010 Fundamentals of Software Engineering . 6. (c) Software engineer should ensure that the intellectual property of employers and clients is protected. (c) Off-the-shelf testing tools may not be available due to the system that requires different types of testing support. All the following statements are TRUE about testing. (b) Large system is recommended to invest on high-quality CASE tool support for testing. The number of independent paths in a program can be found by computing the __________.5. (a) cyclomatic complexity (b) binary search routine (c) equivalance partitions (d) input sequence 7.

What is the result of requirements documentation activity? (a) Requirements document (b) Test cases (c) System models (d) Complete 9.8. (b) Specification can be developed incrementally. Page 4 of 11 Semester II 2009/2010 Fundamentals of Software Engineering . All the following statements are TRUE to describe evolutionary development. Which one is the most practical way to design and develop graphical user interfaces for software systems? (a) Evolutionary prototype with end-user involvement (b) Evolutionary prototype with stake holder involvement (c) Textual description (d) Modeling technique 11. (d) The following phase should not start until the previous phase has finished. (c) Full element of surprises must be included in the system to impress the user. (d) The interface should use terms and concepts that are familiar to the user. 10. (c) Suitable for project that its customer requirements are clearly understood. Which one of the following is NOT a user interface design principle? (a) The interface should include mechanism to allow users to recover from errors. What term refers to the degree to which a system is easy to learn and use? (a) Validity (b) Visibility (c) Reusability (d) Usability 12. (b) The interface should provide meaningful feedback when error occurs. EXCEPT: (a) Activities are interleaved rather than separate.

All the following systems are type of critical systems. (a) When a phase in the lifecycle is completed. ___________ is an observational technique that can be used to understand social and organizational requirements. (d) When a phase in the lifecycle is executed continuously without stop. (c) When a phase in the lifecycle overlapping with each others. Which statement best describe a meaning of "waterfall" life cycle model. EXCEPT: (a) Safety-critical systems (b) Life-critical systems (c) Business-critical systems (d) Mission-critical systems Page 5 of 11 Semester II 2009/2010 Fundamentals of Software Engineering . (a) Viewpoints (b) Requirements discovery (c) Ethnography (d) Interviewing 16. _________ is concerned with modifying existing software systems to meet new requirements.13. (a) Software specification (b) Software design and implementation (c) Software validation (d) Software evolution 14. Critical systems are technical or socio-technical systems that people or businesses depend on. moving outward from the center. 15. the results fall down to the next phase and there is no going back. (b) When a phase in the lifecycle iterates like a ring on the spiral.

20. (c) is able to complete its function in a timely manner. Which of these is characteristic of a good software design? (a) Exhibits strong coupling between its modules (b) Implements all requirements in the analysis model (c) Includes test cases for all components (d) Provides a complete picture of the software Page 6 of 11 Semester II 2009/2010 Fundamentals of Software Engineering . architecture (d) refinement. abstraction (b) cohesion. __________ and __________ (a) information hiding. (d) is connected to other modules and the outside world. coupling (c) modularity. (a) can be written more compactly. refactoring 19.17. Control and monitoring systems in aircraft are example of: (a) Safety-critical systems (b) Life-critical systems (c) Business-critical systems (d) Mission-critical systems 18. (b) focuses on just one thing. Functional independence of modules can be measured using these two criteria. Cohesion is a qualitative indication of the degree to which a module ___________.

Explain TWO (2) techniques that are used to validate user requirements. [4 marks] Question 3 One of the challenges in investigating system requirements is to make sure they are complete and comprehensive. we should take into account the capabilities of the people who use software. Explain with suitable examples these two user interface design principles. What things would you do to ensure that you get complete information during an interview session? [6 marks] Question 4 Requirement validation ensures captured requirements reflect the functionality desired by the customer and other stakeholders. [4 marks] Page 7 of 11 Semester II 2009/2010 Fundamentals of Software Engineering .SECTION B: SHORT ANSWERS QUESTIONS [10 QUESTIONS. [6 marks] Question 2 User familiarity and user interface consistency are two of the user interface design principles. Describe THREE (3) important factors that should be considered when designing user interface. 52 MARKS] Instruction: Answer All Questions Question 1 When making user interface design decisions.

[6 marks] Question 7 Describe THREE (3) types of software maintenance. [6 marks] Page 8 of 11 Semester II 2009/2010 Fundamentals of Software Engineering . Give ONE (1) example for each of the listed non-functional requirements. [6 marks] Question 8 Argue. Describe the inspection process. Identify THREE (3) types of non-functional requirements associated with the cataloguing facilities. in your words. [4 marks] Question 9 The library system has to include support for cataloguing new documents where the system catalog may be distributed across several machines. [4 marks] Question 6 You and your team members plan to perform software inspection on your completed system.Question 5 One of the system design principles is that ‘The design should be traceable to the analysis model’. what is wrong with the notion that computer software does not need to evolve over time. Explain this design principle.

Question 10 Figure 1 and Figure 2 represent two software systems. Between Figure 1 and Figure 2. which one is a good software design? Justify your answer. It shows a measure of the degree of interactions among module in a software system. [6 marks] module interaction Figure 1 Figure 2 Page 9 of 11 Semester II 2009/2010 Fundamentals of Software Engineering .

List all possible input values that need to be entered when testing the system. the system will check the prerequisites requirements. Table 1 gives the terms used by the National Weather Service to describe the degree of cloudiness. For each course selected. Draw a sequence diagram showing the actions performed in the following case study: The system starts when the student enters the student ID number and password. [10 marks] Table 1: Degree of Cloudiness Percentage of Cloud Cover 0-30 31-70 71-99 Greater than or equal to 100 Descriptor Clear Partly Cloudy Cloudy Overcast Question 2 Sequence diagram shows a series of events that occurs within a system. The system will then check the database to verify the student ID and password. a list of courses will be displayed. If the prerequisites are satisfied. Otherwise. the system registers the student to the course. 28 MARKS] Instruction: Answer All Questions Question 1 Partition testing may be conducted by predicting the input values that are likely to detect errors. If the student ID matches with the password saved in database. Next. error message will be displayed. Page 10 of 11 Semester II 2009/2010 Fundamentals of Software Engineering The system . The program requests the percentage of cloud cover as input and then displays the appropriate descriptor.SECTION C: APPLICATION [3 QUESTIONS. Otherwise. students choose the courses from the list. the student gets a message that inform about the unfulfilled requirement.

[6 marks] -. If no modification required. [4 marks] (b) List the expected paths of flow graph shown in Figure 3. [8 marks] Question 3 Answer the following questions based on the given flow graph: Figure 3 (a) Calculate the cyclomatic complexity of flow graph shown in Figure 3.displays the registered courses and the student may choose to modify or delete the course before making final submission to the system.End of Questions -- Page 11 of 11 Semester II 2009/2010 Fundamentals of Software Engineering . the systems print the timetable for the student.