SOFT40121 Software Engineering - Nottingham trent

Post New Homework

LEARNING OUTCOMES

Demonstrate understanding of common programming- language constructs and library components.
Demonstrate understanding of software design principles. Demonstrate understanding of software implementation principles.
Show innovative problem solving and critical evaluation skills.
Produce computer software, involving analysis and design, with accompanying documentation.

1 Assessment Requirements

You are required to design and implement a software program using C#. The produced software must be a working console application (seeSection I.3). You are also required to produce an accompanying report that documents the design, implementation and evaluation of your program (seeSection I.5). This is an individual assignment, so the program and accompanying report must be produced by yourself (seeSection V).

Your project idea must be approved by the module leader before you begin work (seeSec- tion I.2). After the completion and submission of your project, you will be required to give a 15-minute demonstration of your program to the module leader.

Project Proposal

Before beginning work on your project, you are required to have your project idea approved by the module leader. This is to ensure that your project is not too simple or too complex, and that it will allow you to meet the assessment criteria.

You should first informally discuss your project idea with the module leader during the laboratory sessions. When a suitable project has been agreed, you should write a one-paragraph summary of your proposed project, and place it in the NOW dropbox folder. The module leader will then formally approve the proposal, and may also make suggestions for improvements.

Note that this written proposal is necessary to ensure that there is a record of the project proposal, and a record that it has been approved. If you do not have opportunity to informally discuss the project idea with the module leader first, then you may skip straight to submitting your written proposal.

Program Requirements

You are required to produce a C# console application. You are free to choose the nature of the application, and its specific functionality. The application should require a reasonable amount of design thought, and allow you to exhibit skill in breaking down an apparently complex problem into individual components. The software you produce should make use of C# language features and standard-library components appropriate to the overall needs and design of the program.

The application is not expected to be detailed enough for real-world use - the purpose of this assessment is just to demonstrate the extent of your programming abilities. You should aim for the application to be complex enough for most of the following constructs to be appropriate for use in its implementation:

- conditional branches;
- loops;
- file input/output;
- procedures and/or functions and/or methods;
- user-defined classes and/or structure types;
- sequential data structures (e.g. arrays or the List class).
Appropriate use of exceptions, data serialisation, and the Dictionary class is also encouraged, as is the use of language features and standard-library components beyond those taught.

Report

You are required to produce a report that documents the design and implementation of your software application. Your report should contain the following sections:

1. Introduction: Give a brief overview of the nature of your software application.

2. Speciftcation: Explain the requirements of the proposed system, including who the in- tended user is, and what functionality it should provide. For example, you could give a list of functional and non-functional requirements, and/or a flow-chart presenting the flow of possible user-interactions with the application.

3. Design: Describe the structure of your program, and of the software components that you will use to implement that design. For example, you could state the main language features and library components that you have used to implement key features. If you have used files, you could state the number, types, and organisation of those files. If the program has substantial internal control-flow that is hidden from a user, then this could be presented as a flow-chart. If you have used class inheritance, then you could provide an inheritance hierarchy diagram.

4. Testing: Explain how you have tested your program, and what further tests would need to be carried out to give you complete confidence that the software performs according to the specification. You do not need to list the specific tests that you have undertaken.

5. Evaluation: Discuss any problems encountered during the implementation of your project. Evaluate the final program, and suggest possible future improvements. Reflect on what you would do differently were you to undertake a similar project again in future.

Your report should include a title page, and, if you have any references, a reference list. Optionally, you may also include a table of contents and an appendix. The report should not include a listing of your source code.

Attachment:- Program Development.rar

Post New Homework
Captcha

Looking tutor’s service for getting help in UK studies or college assignments? Order Now