Course overview

Submitted by sylvia.wong@up… on Mon, 06/27/2022 - 18:42
Sub Topics

The aim of the Diploma in Software Development (Level 6) is to enable you to develop your knowledge and skills in creating and maintaining computer programmes using a variety of design structures and quality assurance methodology in testing procedures.

You will complete the programme by;

  • Reading topics and reviewing code snippets
  • completing learning activities and posting them on the forum
  • completing assessment(s) at the end of the module

Team formation

A wide shot of a group of programmers in an office space

An important aspect of collaborative learning is learning by developing within projects that are team-based. In year one, you would have worked individually or in pairs on your projects and transitioned to teams of three or four in semester two. You will now be working in a larger group of four or more from year two onwards. Your tutor will facilitate the group formation process.

The following is a set of guidelines for creating a research proposal document. The research proposal document for this particular module will be divided into two:

  1. Investigation Proposal
  2. Team Project Proposal

Investigation Proposal

What to include in your research proposal?

Title Page
  • Course and assessment details: e.g., 202 Cross-Platform Development | Assessment 1- Investigational Proposal
  • Your name
  • Your student ID
  • Class code
Initial Project Concept(s)

This is a simple explanation of the outcome you expect by the end. Answer questions about the end-product like:

  • What is it for?
  • What will it do (functionality)?
  • Why is it worth working on?
Area(s) of Investigation

The area(s) of investigation will include (but are not limited to) the following:

  • What are the different web frameworks/libraries or tools available to implement cross-platform web applications?
  • What are the different ways in which cross-platform web-based games can be developed?
  • Who are the target audience?
  • What are some of the existing applications which can be used as inspiration?
  • What are some of the use cases for the application you are proposing to develop?
Personal Learning Objectives

The personal learning objective will include (but are not limited to) the following:

  • One or more new tools/libraries you intend to learn (e.g., React, Flask, Django etc.)
  • Teamwork (e.g., Agile, Kanban etc.)
  • Use of digital tools to organize your project (e.g., Trello, Click Up etc.)
  • Version Control (e.g., Git etc.)
Proposed Investigation Approach

You can carry out literature review to find out an investigation technique or you can apply one of the following:

  • Interviews
  • Studying the existing system documentation
  • Questionnaires/Surveys
  • Observation of the system in operation
  • Reviewing previous studies (use EBSCO)
  • Technology evaluation

If you are using technology evaluation, you can evaluate 2 or more different web frameworks/libraries or tools to build your product with. First describe each tool, explain how you came across it, provide links and explain in a general sense what the tool is used for and why you think it’s worth looking into. Find web frameworks/libraries online that could help you build your product. Measure the following parameters:

  • How active are the developers?
  • How active is the community?
  • How easy is it to install?
  • How does it sit with your current skillset?
  • How simple is the boilerplate code?
  • How easy is it to perform certain fundamental tasks (creating UI, adding functionality, database operations, etc.)?
  • How well does it test across platforms?

Explain what investigation tools/methods you used in order to find the above information. Lastly, perform SWOT Analysis for each tool, and also for competitor applications and provide rationale for your final decision.

Proposed Practical Output

This proposed practical output will include (but is not limited to) the following:

  • A simple list of features you plan to implement. If you’re expanding on an existing project, include a section for current features.
  • Paper and Pencil sketches of the proposed UI.
  • Any limitations of the project like the features which will be implemented using the framework and those which will be challenging to implement.

In addition to the Title Page in your individual proposal, you will need to add the following;

Product concept (including rationale)

This is a simple summary (250 to 500 words) of the product concept from your investigation Assessment 1 and a brief overview of the features provided by the product you are proposing. Answer questions about the product like:

  • Product rationale
  • Proposed features
  • Programming framework/technology selected

Field review

If field review is being used, it will include the following:

  • What is the existing system (if any) in place to meet the business objectives?
  • What are the problems being faced by the users of the existing system (for example, in terms of UX/UI)?
  • What are the features desirable by the existing users in an improved or new system?
  • What are the proposed features of the new system (for example, improved UX/UI, online booking, payment system, voice user interface, accessibility options, etc.)

Otherwise, if a completely new system is being designed which is not improving an existing system but is an innovative idea, then the students can explore case studies of similar systems (or inspiration) in the literature and use a comparison and contrast approach to gauge the proposed system with the similar ones in the target area.

A work group discussing planning with sticky notes on a wall

Production plan

This can include the following:

  • Project duration and chosen project methodology (Agile, Waterfall, etc.)
  • Project phases and work breakdown structure (WBS)
  • Gantt chart (including milestones/project deliverables, dependencies etc)
  • Communication plan
  • Proposed roles (for example, if Scrum has been adopted, then you can talk about the roles of product owner, Scrum master, and developers).
  • Project management tools (scheduling, version control, etc.)

References

Students are encouraged to survey at least five relevant conference/journal articles in the proposed area of research/investigation and should summarize them in the research output section of the report. All the literature review performed should be properly referenced in APA Version 7 format.

Include a complete list of references used in the report at the end of the report under REFERENCES section.

Note: Please use EBSCO database provided by college. You can also use Google Scholar to find articles. Reference management systems like ReadCube, Zotero, EndNote, Mendeley can be used to organize all your references in one place. Additionally, MS Word’s referencing features can be used to edit your references.

Research Output

This proposed research output will include (but is not limited to) the following:

  • At least 5 relevant conference papers or journal articles should be summarized in this section and proper citations in APA Version 7 to the published work should be correctly provided.
  • Three user personas for the proposed system.
  • Use case diagrams and UML sequence diagrams.
  • Mock-ups and digital Lo-Fi/Mid-Fi wireframes of the proposed UI (responsive webpages).
  • Usability Testing of the Lo-Fi wireframes with at least five users.

Software project management tools are beneficial for individuals and teams to manage and organise their workload efficiently. They can be adapted to different teams, projects, and environments; and facilitate:

  • Planning – Scheduling and delegating work
  • Collaboration – Communicating with team members
  • Documentation – Editing, versioning, and storing files on a centralised platform
  • Evaluation – Tracking and reviewing progress through reporting. 1

You will be using various tools to assist with your project proposal and execution, this can come in the form of simple spreadsheets, or various software and online platforms.

Let’s look at a Gantt chart as one example;

Gantt charts are commonly used for tracking project schedules, and they are especially useful in project management. To put it simply, they illustrate and allow you to know what needs to be done, and when it needs to be done. Gantt charts are also able to show you additional information regarding the different tasks or sections of a project, such as how far have tasks progresses, how a group of tasks might depend on or other groups of tasks, how important several tasks are, and resources are being used within a project.

One of the great things about Gantt charts is that they are extremely visual. On the left side of a chart, you will find a list of tasks necessary for a project, and on the top, you will find a time scale.2

You can also use a combination of the following software for these stages, such as;

Planning

During the scheduling and delegating work stages consider using one of these software;

Collaboration

Communicating with team members can be done using;

Documentation

The documentation stage includes editing, versioning, and storing files on a centralised platform. A widely used example of this documentation software is GitHub. GitHub is a fantastic tool for collaborating on development projects. Many significant open-source projects have made GitHub their principal location for collaboration and contribution. We will delve into the specifics of GitHub in topic 6.

Evaluation

Tracking and reviewing progress can be done by utilising any reporting tools within some of the chosen software.

Module Linking
Main Topic Image
A close view of a programmer working at a desk
Is Study Guide?
Off
Is Assessment Consultation?
Off