Download Estimation Model - Software Engineering - Exam Paper and more Exams Software Engineering in PDF only on Docsity! Cork Institute of Technology Bachelor of Science (Honours) in Software Development - Stage 3 (NFQ - Level 8) Spring 2006 Software Engineering I (Time: 3 Hours) Instructions Answer any FIVE questions. Examiners: Mr. J. O Brien Dr. M. O Cinneide Q1. (a) What is software engineering? [3 Marks] (b) Software doesn't "wear out". Discuss, briefly. [5 Marks] (c) The adequate engineering of a software entity requires that a software development process be defined. Describe, briefly, each of the following generic characteristics of a software development process: i. Definition phase. ii. Development phase. iii. Support/maintenance phase. [12 Marks] Q2. (a) Effective management is concerned with managing the people in an organisation. Project managers have to solve technical and non-technical problems by using the personnel in their team(s), in the most effective way possible. Write a brief note on each of the following critical factors in people management: i. Consistency. ii. Respect. iii. Inclusion. iv. Honesty. [4 Marks] (b) Software development, generally, is a team/group-based activity. Therefore, putting together a group that works effectively is a critical management task. A development group that contains complementary personalities may work better than a group selected solely on technical ability. Discuss. [8 Marks] (c) Good communication between members of a software development group is essential. Group members must exchange information on the status of their work, the design decisions that have been made, and changes to previous decisions that are necessary. Write a note on each of the following factors that influences the effectiveness of communication: i. Group size. ii. Group structure. iii. Group composition. iv. Physical work environment. [8 Marks] Q3. (a) Estimating the cost of a software development project is largely an unexplored field, 2 in which managers and developers must often rely on guesstimation. However, a number of algorithmic models, that allow the estimation of the total cost and development time of a software project, exists. Describe the approaches that are available to those who wish to determine equation(s) for an algorithmic cost estimation model for software projects. [7 Marks] (b) Controlling a software development project is not a rational process; the ideal system theory situation is not met. Discuss. [8 Marks] (c) Consider the following quote from Tom Gilb, 1988, on the issue of risk management for software development projects: "If you don't actively attack the risks, they will actively attack you." Do you agree/disagree? State your reasons. [5 Marks] Q4. (a) In the context of software development, what does the term architectural design refer to? [2 Marks] (b) The organisation of a software system reflects the basic strategy that is used to structure it. Write a detailed note on each of the following organisational styles: i. Client/server model. ii. Layered model. Support your answer with suitable illustrations. [12 Marks] (c) Describe the differences in features and use of the following domain specific architectures: i. Generic model. ii. Reference model. [6 Marks] Q5. (a) Testing software cannot demonstrate that the software product is free from defects or that it will behave as specified in every circumstance. Discuss, briefly. [5 Marks] (b) Write a detailed note on the issue of release testing for software systems. [10 Marks] (c) Describe the approach to test case design known as partition testing. [5 Marks]