软件工程代写:CMP3111M software engineering

Lincoln School of Computer Science

Assessment Item Briefing Document

Title: CMP3111M – Assessment Item 2 (Exam) – Resit

Indicative Weighting: 40%

Learning Outcomes:
On successful completion of this assessment item a student will have demonstrated competence in the following areas:

  • [LO2] analyse the empirical nature of software engineering and the application of empirical methods in software engineering development;
  • [LO3] utilise and evaluate advanced software engineering techniques and processes in the development of a software artefact;
  • [LO4] critique current software engineering processes in safety critical systems.

Outline:

This assignment is the resit for the formal end-of-module exam. As such this assignment follows the same standards, requirements, and processes as any assignment, you could complete ALL questions provided below, and give detailed and comprehensive answers. Diagrams are useful to explain answers.

Questions:

Question 1

Design Patterns are used extensively in Software engineering to help develop systems where common reoccurring complexities may arise. Consider the diagram below, answering the questions that follow:

Figure 1 – A Design Pattern

  1. a)  Identify the Design Pattern presented in Figure 1. Provide the name, a brief description of the pattern and describe two distinct applications in terms of software programs where this pattern would be used.

    [15 Marks]

  2. b)  Another commonly used Design Pattern is the ‘Factory Pattern’. Evaluate the differences and similarities (if any) between the pattern you identified in a) above and the Factory Pattern. In your evaluation discuss how, as a Software Engineer, you decide which design patterns to apply to a software engineering task or problem.

    [10 Marks]

  3. c)  Describe the Strategy Pattern, giving a brief description, the category of pattern and an example application use.

    [5 Marks]

Question 2

There are many different processes and techniques used in Software Development, from Agile Processes to Open Source Solutions, to maintenance and reuse. Answer the following questions:

  1. a)  Explain what is meant by software re-factoring. Discuss the steps involved in re- factoring a large software system and discuss why re-factoring little and often may be a more effective strategy for a software development team to adopt.

    [15 Marks]

  2. b)  For each of the following reuse techniques, provide a clear definition and appropriate examples of usage:
  1. Application system reuse
  2. Component-based development
  3. Design patterns

Question 3

[15 Marks]

  1. a)  DiscussthemeritofeachofthefollowingOpenSourceSoftwareEngineering (OSSE) project practices, giving clear explanations and appropriate examples:
    1. Adopting standards and facilitating reuse
    2. Early product release and peer review
    3. Develop communities of volunteers both as users and developers

      [15 Marks]

  2. b)  Explain what is meant by COTS. Discuss the validity of the claim that “COTS means compromises”.

    [10 Marks]

  3. c)  A small business is weighing up the options between adopting an Open Source solution to their business needs and acquiring an off-the-shelf software solution from a commercial supplier. In both cases, outline 4 possible advantages that should be considered from a managerial and technical point of view. Use a table to structure your answer.

    [15 Marks] [Total: 100 Marks]

Useful Information

This assessment is an individually assessed item. Your work must be presented according to the Lincoln School of Computer Science guidelines for the presentation of assessed written work.

Please make sure you have a clear understanding of the grading principles for this component as detailed in the accompanying Criterion Reference Grid.

If you are unsure about any aspect of this assessment component, please seek the advice of a member of the delivery team.

Submission Instructions

The deadline for submission of this work is included in the School Submission dates on Blackboard.

The submission should be in electronic format as directed by the guidelines for the presentation of assessed written work. Your document must be submitted in PDF format.

DO NOT include this briefing document with your submission.