You are on page 1of 10

SECTION A: MULTIPLE-CHOICE (20 QUESTIONS, 20 MARKS). 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

5. All the following statements are TRUE about testing, EXCEPT: (a) Large system should only concerns on development rather than testing. (b) Large system is recommended to invest on high-quality CASE tool support for testing. (c) Off-the-shelf testing tools may not be available due to the system that requires different types of testing support. (d) Testing can only detect the presences of errors, not their absence.

6. The number of independent paths in a program can be found by computing the __________. (a) cyclomatic complexity (b) binary search routine (c) equivalance partitions (d) input sequence

7. Software engineers must behave in ethical and morally responsible way. 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. (b) Software engineers should not knowingly accept work that is outside their competence. (c) Software engineer should ensure that the intellectual property of employers and clients is protected. (d) Software engineers should not use their technical skills to misuse other peoples computers.

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

8. What is the result of requirements documentation activity? (a) Requirements document (b) Test cases (c) System models (d) Complete

9. 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. (b) The interface should provide meaningful feedback when error occurs. (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. 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. 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. All the following statements are TRUE to describe evolutionary development, EXCEPT: (a) Activities are interleaved rather than separate. (b) Specification can be developed incrementally. (c) Suitable for project that its customer requirements are clearly understood. (d) The following phase should not start until the previous phase has finished.

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

13. _________ is concerned with modifying existing software systems to meet new requirements. (a) Software specification (b) Software design and implementation (c) Software validation (d) Software evolution

14. Which statement best describe a meaning of "waterfall" life cycle model. (a) When a phase in the lifecycle is completed, 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, moving outward from the center. (c) When a phase in the lifecycle overlapping with each others. (d) When a phase in the lifecycle is executed continuously without stop.

15. ___________ is an observational technique that can be used to understand social and organizational requirements. (a) Viewpoints (b) Requirements discovery (c) Ethnography (d) Interviewing

16. Critical systems are technical or socio-technical systems that people or businesses depend on. All the following systems are type of critical systems, 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

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. Functional independence of modules can be measured using these two criteria, __________ and __________ (a) information hiding, abstraction (b) cohesion, coupling (c) modularity, architecture (d) refinement, refactoring

19. Cohesion is a qualitative indication of the degree to which a module ___________. (a) can be written more compactly. (b) focuses on just one thing. (c) is able to complete its function in a timely manner. (d) is connected to other modules and the outside world.

20. 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

SECTION B: SHORT ANSWERS QUESTIONS [10 QUESTIONS, 52 MARKS] Instruction: Answer All Questions

Question 1 When making user interface design decisions, we should take into account the capabilities of the people who use software. Describe THREE (3) important factors that should be considered when designing user interface. [6 marks]

Question 2 User familiarity and user interface consistency are two of the user interface design principles. Explain with suitable examples these two user interface design principles. [4 marks]

Question 3 One of the challenges in investigating system requirements is to make sure they are complete and comprehensive. 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. Explain TWO (2) techniques that are used to validate user requirements. [4 marks]

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

Question 5 One of the system design principles is that The design should be traceable to the analysis model. Explain this design principle. [4 marks]

Question 6 You and your team members plan to perform software inspection on your completed system. Describe the inspection process. [6 marks]

Question 7 Describe THREE (3) types of software maintenance. [6 marks]

Question 8 Argue, in your words, what is wrong with the notion that computer software does not need to evolve over time. [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. Identify THREE (3) types of non-functional requirements associated with the cataloguing facilities. Give ONE (1) example for each of the listed non-functional requirements. [6 marks]

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

Question 10 Figure 1 and Figure 2 represent two software systems. It shows a measure of the degree of interactions among module in a software system. Between Figure 1 and Figure 2, which one is a good software design? Justify your answer. [6 marks]

module interaction

Figure 1

Figure 2

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

SECTION C: APPLICATION [3 QUESTIONS, 28 MARKS] Instruction: Answer All Questions

Question 1 Partition testing may be conducted by predicting the input values that are likely to detect errors. Table 1 gives the terms used by the National Weather Service to describe the degree of cloudiness. The program requests the percentage of cloud cover as input and then displays the appropriate descriptor. List all possible input values that need to be entered when testing the system. [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. 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. The system will then check the database to verify the student ID and password. If the student ID matches with the password saved in database, a list of courses will be displayed. Otherwise, error message will be displayed. Next, students choose the courses from the list. For each course selected, the system will check the prerequisites requirements. If the prerequisites are satisfied, the system registers the student to the course. Otherwise, the student gets a message that inform about the unfulfilled requirement. Page 10 of 11
Semester II 2009/2010 Fundamentals of Software Engineering

The system

displays the registered courses and the student may choose to modify or delete the course before making final submission to the system. If no modification required, the systems print the timetable for the student. [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. [4 marks]

(b) List the expected paths of flow graph shown in Figure 3. [6 marks]

-- End of Questions --

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

You might also like