Essay Help Services

COIT20258 | Question Papers Software Engineering | Engineering

Home Recent Questions COIT20258 | Question Papers Software Engineering | Engineering

Question 1          5 Marks

(a) Explain what is meant by the terms “coupling” and “cohesion”.    (2 marks)
(b) Explain, using an example of your choosing, how using interfaces can reduce coupling.    (3 marks)

Question 2            3 Marks

Explain how agile development differs from plan driven incremental development.

Question 3           8 Marks

(a) What are the key inputs, outputs and steps in Robustness Analysis?  (4 marks)
(b) Why is Robustness Analysis well-suited to both the design of three layered systems and to agile development?    (4 marks)

Question 4    5 Marks

(a) What is the Single Responsibility Principle?    (2 marks)
(b) Does the PersonQueries class of case study 1 violate the Single Responsibility Principle? Explain your answer.    (3 marks)

Question 5                5 Marks

What design information is captured in a use case description, a sequence diagram and a class diagram? How are the three related?

Question 6              5 Marks

In the MVC (Model View Controller) pattern, the Subject/Observer pattern (also known as the Observer pattern) is used to enable the model to update the view. Explain how this updating is achieved.

Question 7        3 Marks

What is a design pattern? How are design patterns different to design principles?

Question 8    3 Marks

You are working for a software company and for a particular project you discover that there is open source software available that meets most of the application requirements. Would you incorporate the software into the application? Explain your answer.

Question 9    5 Marks

If a version control system is to be used effectively, strategies must be provided to manage the situation where multiple developers are working on the same file(s). What is the specific problem that needs to be managed in this situation? Give two strategies that could be employed by a version control system to address this problem and discuss their strengths and weaknesses.

Question 10    8 Marks

(a) Give two benefits that arise from test first development.    (2 marks)
(b) In agile development, quality management is not document-based. Describe briefly three agile practices that are beneficial in terms of producing quality software.    (6 marks)

Question 11    8 Marks
(a) Explain the difference between encapsulation and cohesion.    (4 marks)
(b) Of the five SOLID design principles, which principles promote high cohesion? Explain your answer.    (4 marks)

Question 12    7 Marks

(a) The key output of Robustness Analysis is the analysis class diagram. Describe the steps involved in its construction.    (3 marks)
(b) Explain what is meant by a layered system.    (2 marks)
(c) Explain why Robustness Analysis is well suited to the design of 3-layered systems.    (2 marks)

Question 13    4 Marks

The key behaviours of a software application are often specified in the form of use cases. Which UML diagram(s) would you use to capture this information? Explain your answer.

Question 14    3 Marks

An employee who is a very good programmer produces software with a low number of defects but consistently ignores organisational quality standards. How should his/her managers react to this behaviour? Explain your answer.

Question 15    5 Marks

(a) Suppose that you have been tasked with the maintenance of an information system that queries a database via a Swing-based GUI. Furthermore, the queries are constructed and processed within the event handlers for the GUI. What refactorings would you consider to achieve a more maintainable system? (2 marks)
(b) Of the refactorings that you have proposed in part (a), which one would you recommend? Explain your answer.    (3 marks)

Question 16    4 Marks

(a) In Java, how do interfaces differ from classes?    (2 marks)
(b) Explain how interfaces can be used to reduce coupling.    (2 marks)
 
Question 17    5 Marks

(a) Give three characteristics of a software project that would result in it being well suited to agile development.    (3 marks)
(b) Why is it necessary to introduce some methods and documentation from plan-based approaches when scaling agile methods to larger projects that are developed by distributed development teams?    (2 marks)

Question 18    5 Marks

(a) Explain, using an example of your choosing, what is meant by the term “design pattern”.    (3 marks)
(b) Is reuse through the use of design patterns unethical/unprofessional? Explain your answer.    (2 marks)

Question 19    4 Marks

(a) What is regression testing? Explain how the use of automated tests and a testing framework such as JUnit simplifies regression testing.    (2 marks)
(b) Unit testing of graphical user interfaces with embedded logic is difficult. How does the MVP pattern help to overcome this difficulty?    (2 marks)

Question 20    5 Marks

(a) There are two major approaches to version control which are embodied in the Git and SVN systems. Explain the key differences between the two approaches. (3 marks)
(b) What is the difference between static and dynamic software metrics? Give an example of each type.    (2 marks)

Question 21    8 Marks
(a)  Explain what is meant by the terms “cohesion” and “coupling”.    (4 marks)
(b) Of the five SOLID design principles, which principles promote high cohesion? Explain your answer.    (4 marks)

Question 22    7 Marks

(a) The key output of Robustness Analysis is the analysis class diagram. Describe the steps involved in its construction.    (3 marks)
(b) How is the analysis class diagram used in the subsequent design phase? (2 marks)
(c) When would Robustness Analysis be of use to a maintenance team? Explain your answer.    (2 marks)

Question 23    4 Marks

Class diagrams are often (and incorrectly) viewed as being sufficient to specify the design of an application.    (2 marks)

(a)  Why are class diagrams insufficient in this regard?   
(b) What additional diagrams (in general) are required to specify a design? (2 marks)

Question 24    3 Marks

Conformance to the principles of good software design is often seen as unnecessary overhead when one is working to tight deadlines and budgets. Discuss the professional and ethical implications of such non-conformance.

Question 25    5 Marks

(a) Suppose that you have a legacy system that queries a database via a Swing-based GUI. Furthermore, suppose that the queries are constructed and processed within the event handlers for the GUI. What patterns would you consider to achieve a better design?    (2 marks)
(b) Of the patterns that you have proposed in part (a), which one would you recommend? Explain your answer.    (3 marks)

Question 26    4 Marks

Explain, using an example of your choosing, how interfaces can support encapsulation and reduce coupling between classes.

Question 27    5 Marks

(a) Give two characteristics of a software project that would result in it being well suited to agile development.    (2 marks)
(b) Explain the differences between plan driven development, agile development and plan driven incremental development.    (3 marks)

Question 28    5 Marks

(a) Explain how reuse can be achieved in the design phase of a software development project.    (3 marks)
(b) Inheritance is often inappropriately used as a reuse mechanism. Give an example of such misuse and explain why it is inappropriate.    (2 marks)

Question 9    4 Marks

(a)Explain the difference between acceptance tests and unit tests.    (2 marks)
(b) Unit testing of graphical user interfaces with embedded logic is difficult. How does the MVP pattern help to overcome this difficulty?    (2 marks)

Question 30    5 Marks

(a) There are two major approaches to version control which are embodied on the Git and Subversion (SVN) systems. Explain the key differences between the two approaches.    (3 marks)
(b)What is a software metric? Why are software metrics important?    (2 marks)

Question 31    8 Marks

(a) Explain what is meant by the term “cohesion”. Explain how the Single Responsibility Principle assists in the design of classes that exhibit high cohesion.    (3 marks)
(b) In Java, what is an interface and how does it differ from a class?    (2 marks)
(c) Explain what is meant by the term “coupling”. Explain how the use of interfaces can reduce coupling between classes and increase encapsulation within a class. (3 marks)

Question 32    8 Marks

(a) What are the key inputs, outputs and steps in Robustness Analysis?  (4 marks)
(b) Why is Robustness Analysis well-suited to both the design of three layered systems and to agile development?    (4 marks)

Question 33    4 Marks

Explain why a class model is insufficient to specify the design of a software application. What additional information is required?

Question 34    4 Marks

(a) Explain why refactoring is more likely to occur in an agile development as opposed to a plan driven development.    (2 marks)
(b) Does a software engineer have a professional responsibility to develop code that can be easily maintained even if this is not explicitly requested by their employer?    (2 marks)

Question 35    3 Marks

What factors would influence your decision as to whether or not to incorporate open source software into a commercial application? Explain your answer.
 
Question 36    6 Marks

(a) Give three characteristics of a software project that would result in it being well suited to agile development.    (3 marks)
(b) In agile development, quality management is not document-based. Describe briefly three agile practices that are beneficial in terms of producing quality software.    (3 marks)

Question 37    5 Marks

(a) Explain the difference between acceptance tests, system tests, integration tests and unit tests. Why are unit tests important?    (3 marks)
(b) Should unit tests be written before or after the code that they test? Explain your answer.    (2 marks)

Question 38    6 Marks

Compare and contrast view updating in both MVC (Model View Controller) and MVP (Model View Presenter).

Question 39    3 Marks

The java.util.Stack class inherits from java.util.Vector, thus reusing all of the methods provided by the Vector class. Does this represent a good use of inheritance? Explain your answer.

Question 40    3 Marks

What is a design pattern? How are design patterns different to design principles?

Search Here

Latest Reviews

Facebook

Payments And Security