



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
These are the Old Exam of Software Development which includes Primenumber, Palindrome, Payrate, String Responsibility, Double Payrate, Double Time, String Name, Private Double Calculatepay, Public Void Displaydetails etc.Key important points are: Domain Model, Software Engineering, Fundamental Activitie, Agility, Iteration , Domain Model, Self Association, Role Name, Bidirectional Association, Mandatory Association
Typology: Exams
1 / 5
This page cannot be seen from the preview
Don't miss anything!




Instructions Answer any 5 questions. All questions carry equal marks.
Examiner: Ms. Mary Davin Dr. Jim Buckley Dr. Austin Kinsella
Q1. (a) What is Software Engineering and why is it so important? [2] (b) There are four fundamental activities common to all software processes. Give a brief overview of what is involved in each of these activities. [4] (c) What are the attributes of good software? [2] (d) The software product development industry has evolved to become one of the most important industries of our times. What gives a successful IT company a competitive advantage in a software economy? [2] (e) Explain what is meant by the following terms when applied to a software process: (i) Agility (ii) Iteration [4] (f) Identify the factors that can be used to determine the applicability of agile methods. [3] (g) Differentiate between a project that is schedule driven and one that is scope driven. Which is the norm? [3]
Q2. (a) “A model is an abstraction of reality”. Indicate if you agree or disagree with this statement. Give reasons for your answer. [4] (b) What is the purpose of creating a Domain model? [2] (c) Identify three strategies to find conceptual classes. [3] (d) OO Modelling supports a low representational gap between our mental and software models. Explain why this is the case. [2] (e) Identify situations when description classes are useful. [2]
(f) Use a diagram to illustrate the meaning of each of the following properties of an association between classes. [7] (i) Self Association (ii) Role Name (iii) Bidirectional association (iv) Mandatory Association (v) Association Class (vi) Multiple associations between two classes. (vii) Qualified association
Q3. Give an overview of the major causes of software project failures. [4] (a) Explain the key goals we want our software process to achieve. [4] (b) The iterative approach has proven itself superior to the waterfall approach for a number of reasons. Give an overview of the reasons why this is the case. [6] (c) Successfully adopting iterative development practices requires not only deploying a set of new techniques but also changing the way team members collaborate and view their responsibilities. Discuss. [6]
Q4. (a) It is common to hear teams complain that “we don’t have enough time” We often feel overwhelmed and helpless against an aggressive schedule, and when we work “against” something like time or schedules, there is much struggle and a large chance of failure. When we stop fighting against time and work within schedules and abilities, we increase our success rate. Give an overview of the techniques you would follow to help restore that control. [4] (b) Give an overview of the generic activities common to all requirements engineering processes. [6] (c) Identify the criteria of a good requirement. [4] (d) IT projects are notorious for being over budget. Identify where the black holes of project management are and how to avoid them. [6]
Q6. (a) Software design patterns are very useful in the development of high quality software.
Discuss. [4]
(b) Using the following model explain the motivation behind the Liskov Substitution principle and how it has been applied. [4]
(c) A popular way of thinking about the design of software objects is in terms of responsibilities, roles and collaborations. Give an overview of the Responsibility Driven Design(RDD) approach. In your answer refer to the following GRASP patterns Creator and Information Expert. [6]
(d) Give a description of any two of the following design patterns. Each description should include an example of how the pattern is applied. [6] (i) Adaptor (ii) Façade (iii) Observer
Q7. (a) What distinguishes software management from other types of management? [2]
(b) Defect tacking is a fundamental and critical part of application life-cycle management. Whether you use a pencil and paper, a spreadsheet or a full-fledged defect tracking system the basics of effective defect tracking are the same. Give an overview of the practices that should be implemented to provide a solid foundation for a successful defect tracking system. [6]
(c) Differentiate between the following [6] i. Verification and validation ii. Software inspections and software testing iii. White box testing and black box testing (d) Explain what is meant by the term “software testability”. [2]
(e) Give an overview of how the following class diagram would be mapped to a set of tables in a relational database. [4]
M o d u l e
S t u d e n t
** (^) *
T a k e s
R e s u lt