Portfolio 2 Task

Portfolio Two: Software Engineering, design and development, problem solving and programming task

All of your portfolio work in CET101 is individual work.

In this portfolio, we are assessing the skills you have developed so far in the following areas: 

  • Understanding of standards, formats and tools used in the design of information, multimedia and web-based systems
  • Recognition of the need for adaptable approaches to problem solving
  • Appreciation of the social, ethical, professional and legal issues associated with the development and use of computer based systems
  • Ability to specify and contextualize a problem and communicate effectively an appropriate solution to a range of audiences
  • Use of software engineering techniques to design, code, test and evaluate a range of software solutions 
  1. Problem Context

As you are aware from professional practice week one,the City ofFunderlandis holding local elections this year, so existing political parties and newly formed parties have begun mobilising to try to capture the hearts and minds of the city’s young voters in a 3 month election campaign.

Each party wishes to capture data on how their party activists are working to publicise their manifestos and to convert interested young people into party members and activists in their own right. The city council must also ensure that party activities are carried out within the law and therefore, for the next phase of the electoral campaign each party must acquire a C# forms applicationto that will help track the type and number of activities and events being carried out.

The system should allow the party administrators to record the number and type of activities (such as door-to-door canvassing, rallies etc) carried out each month leading up to the election, and to view an end of campaign prediction of success based on the number of people reached or high variety of activity types.  Each party has more than one administrator so the system should also work for multiple users.

You have been tasked with making thisC# forms application for your party 

  1. Requirements gathering

The context given above is as much information as you have been given. Therefore you need to gather further information to help you decide how best to solve the problem. It is suggested that you make notes about what you think could be useful to consider in the design and development of your application: e.g. what sort of information could be recorded in the system, what sorts of considerations or calculations might be needed to determine whether or notyour party is focussing too much on one type of activity. 

  1. Requirements analysis and specification

You have relatively free reign with how your application should look and how the users might interact with it but a minimum threshold of what your C# forms application should contain has been specified:

  • A single form system. The four suggested areas it must at least include:
    1. Create Party Account - creates a new account/file to store the party activities.
    2. Record Activities- must as a minimum store theadministrator name,month, type of activity (member meeting/training/door-to-door canvassing/city-centre rally/volunteering e.g. at foodbank), number of people at event. More advanced optional features may ask the user more questions relating to the activity. Ensure there is functionality to save the activity to the text file.
    3. End of election campaign ‘Score’ - based on the information stored on an individualadministrator’s file,the system should
      1. determine their ‘campaign activities score’ and
      2. advise on whether they have a high chance of winning a local government seat based on the variety of activities or number of voters reached. Note: this part of the system should check that the system has activity in every month of the campaignbefore it runs the analysis part.
    4. Exit- Before the application closes, the current user data should be saved.
  • It must make use of variables, calculations, decisions (if statements), repetition (loops)
  • Input validation should be attempted to improve the robustness of the system (e.g. provide the user with feedback when incorrect data is input).  
  1. Suggested approach
    1. Reflect on your performance in PPWeek 1 using your own recorded thoughts, your tutor feedback and your response to the tutor feedback. You must do this first of all before you turn your attention to this week’s tasks as it must be submitted on Monday. (Note: if you have not received your feedback you must speak with Siobhan/Gary and we will investigate and arrange a different deadline for this element.)
    2. Think about what your system needs to do and how you might want to achieve this – what input and output, what calculations, what messages to display, etc as suggested in section 2) Requirements gathering
    3. Do a PACT analysis for the C# forms app you are about to make.
    4. Draw a flow chart to illustrate the program flow/algorithm you are going to develop. Remember this means breaking down the problem into chunks (functional decomposition), then considering not only each sub-problem but also the relationships between them - what order do they need to happen in? Can they happen at the same time, or even in reverse? If one sub-problem fails, does it prevent the main problem from being realised? All of this means that your flow chart will show terminals, inputs, outputs, sequences, selections/decisions (if statements), calculations perhaps using iteration/repetition (loops) and any other operations you choose to use. (Remember that your chart should flow as much as possible from top to bottom; there should only be one end symbol; there should only be 2 outputs (y and n) from any decisions.)
    5. Develop the C# forms application (aim for the minimum firstof all and then gradually build up if you have time).
    6. Record your daily activities and thoughts on the Prof Practice Learning Log template (and be sure to address every question at the proper level of detail to gain good marks). This should happen 4 times – Monday to Thursday. 
  1. What to Hand-in

On the First Year Assessments page of your eportfolio you must make a new page/section called Professional Practice Week 2.

Monday 27th November by 8pm – Upload to your eportfolio PPW2 area:

  1. your feedforward response to PPW1 feedback (use the template).
  2. Monday’s Prof Practice Learning Log (use the template).

Tuesday 28th November by 8pm – Upload to your eportfolio PPW2 area:

  1. PACT,
  2. Flow Chart
  3. Tuesday’s Prof Practice Learning Log (use the template).

Wednesday 29th November by 8pm - Upload to your eportfolio PPW2 areaWednesday’s Prof Practice Learning Log (use the template).

Thursday 30th November 8pm - Upload to your eportfolio PPW2 area Thursday’s (Final)Prof Practice Learning Log(use the template).

Friday 2nd December by 8pm – 2 uploads:

  1. Upload to your eportfolio PPW2 area the Visual Studio 2015 zip file of your C# forms application (be careful to zip the top level project folder, rather than the level underneath where you open files).
  2. Upload to the assignment link for PPW2 the Visual Studio 2015 zip file of your C# forms application, plus a single combined document of Monday-Thursday’s eportfolio uploads. 
  1. Indicative breakdown of marks

(This is to give you an idea generally about where the marks are apportioned.)

Project management, Analysis & Design [45 marks]:

  • Analysis of performance on PP1 based on own and tutor feedback, and plan for improvement in PP2 [15]
  • Project Management [10]
  • PACT [12]
  • Flow Chart [8]

Development of C# formsapplication [55 marks]:

  • Use of Visual C# elements (calculations, variables, loops, file handling)[25 marks]
  • Form Design: Variety of components used [12 marks]
  • Appropriate user validation [5 marks]
  • Coding style (effectiveness and efficiency), layout and commenting [13 marks]