Introduction to Software Development
Mobile Phone Menu Application
Client Brief and Assignment Specification.
Assessment Details 3
Assignment Brief 4
Software Requirements Specifications (SRS) 6
Marking Guide 7
<40% (failing Grade) 7
40 – 49% – D Grade 7
50 – 59% – C Grade 7
60 – 69% – B Grade 8
70 – 79% – A Grade 8
Assignment submission 8
Assignment 2 – Oral Assessment & Presentation 9
Assignment 2 submission 9
⦁ Assessment Details
The assessment in this module will identify if you have learned to achieve the following learning outcomes (LO):
LO 1 Discuss how computer programmes are developed and implemented using higher level programming languages
LO 2 Demonstrate the ability to design, write, and debug programs that use sequence, selection and repetition statements, methods/functions, primitive data types, arrays, and that do I/O
LO 3 Define the appropriate programming constructs in order to develop functional software to a specification
LO 4 Express the development and problem solving processes involved in the development of software
LO 5 Review your own personal skills for the development of self-management techniques and time management
In order to achieve this we will asses through two separate assignment submissions each of these are detailed in the table below.
type Submission Date Description LO’s weight
Portfolio 2nd January 2018 23:59hrs Develop an artefact in the form of a computer programme and code documentation built to a specification 2 & 3 80%
2. Oral assessment and presentation 8th January 2018 09:00 hrs Demonstration of software and reflective development journal that delivers feedback to the tutor on the approaches that you took 1, 4 & 5 20%
⦁ Assignment Brief
Over the last couple of years there has been a boom in high powered, web enabled portable computing devices that are also capable of making phone calls. Smartphones today have more computing power then the early supercomputers.
As innovate and amazing as this is there are a number of people who are unable to access the smartphone market for various reasons including cost, the requirement for a phone with greater accessibility/ease of use or are really paranoid that all tech companies are out to get them and they want to stay “of the grid”. Either way this will be a simple easy to use and accessible phone.
Accessible mobile phones have been scarce in the UK and until last year, were not available for free on contract. Mobile phones are available specifically for the elderly, with large big buttons and easy to read displays. RetroCell, a start up mobile phone company wants introduce the EasyPhone 4, which is a mobile phone at its simplest, with just five large control buttons, an accessible LCD based screen with no internet and a very simple game of Hangman, for example.
RetroCell have approached the University to help them develop the prototype phone menu for this new and exciting product release. Because this phone is still in production they do not have any hardware to pass over to us. However they have provided some basics for the specification of the phone which you can see presented in the table below.
NETWORK Technology GSM
LAUNCH Announced Sept 2017
Status Available. Released 2018, May
Operating System Reduced Functionality Android (Linux Kernel)
SOUND Call Alert Vibration, MP3 ringtones
Audio MP3/OGG player
3.5mm jack Yes (better than an Iphone)
COMMS Bluetooth No
USB Micro USB 2.0
FEATURES Messaging SMS
Games Yes – optional TicTacToe and Hangman
Python 3.4 Yes
BATTERY Type Removable Li-Ion 1200 mAh battery
Stand-by Up to 1044 h
Talk time Up to 109 h
Music play Up to 72 h
MISC Colors Blood Red, Dark Black
Price ~ £50
Table 1: Suggested Technical Specification of the EasyPhone 4TM
As you can see the specifications for this phone are pretty basic. 32MB of useable internal RAM, No Internet, No Camera and No Bluetooth. The Operating system is stripped back clone of the Android Phone OS which is basically a Linux kernel. Most of the other components for the OS are experimental and because of these features they have asked us to design and develop the user interface (UI) and menu system using Python 3.4.x. The OS itself has support built in for python and it is their intention to use python for the implementation of the UI. Therefore you must consider that the prototype you develop will eventually be implemented into the device. This means that any code that is developed must be:
a) production ready and professional standard.
b) fully documented
c) for testing purposes run on both the Windows and the Linux Platforms.
⦁ Assignment 1 Details
You are to develop the menu and basic functionality of the phone. What follows is the Software Requirements Specification which highlight the features and functionality that is required from the phone.
For this prototype you are to develop an event driven application that uses a series of menus as the primary interface. For each entry in the main menu there will be a submenu that provides access to a number of specific functions. Any additional submenus and user interfaces must be added as appropriate.
⦁ Phone book
Sub menu entries
⦁ Search for Entry
⦁ Add entry
⦁ Erase Entry
⦁ Edit Entry
⦁ Service Numbers – these are fixed numbers that cannot be changed
⦁ Memory usage
The contents for the entries must consist of a first name, Surname and phone number. For the Service numbers these should be:
999 – emergency services
111 – NHS help line
104 – EasyPhone answer phone
105 – credit top-up
106 – customer service
⦁ Task manager
Sub menu entries
⦁ View tasks
⦁ Add task
⦁ Mark as done
⦁ Edit Task
⦁ Erase task
⦁ Total unfinished tasks
The content of the entries for this should consist of a title, the description of the task and the date that it is to be completed by. Also there should be an entry that states if the task is done or not.
⦁ Phone Settings
Sub menu entries
⦁ Network Selection – user can select from a different set of cellular providers which must be displayed on the welcome message in the main menu
⦁ User defined Welcome Message (to be loaded on the first screen of the application and include the network selection)
⦁ Get Date
⦁ Get Time
⦁ Set Time
⦁ Set Date
⦁ Calculator menu
Sub menu entries
⦁ Standard Calculator (Addition, subtraction, division, multiplication and powers)
⦁ Temp Converter (F-C) – Enter Degrees Fahrenheit and return Celsius
⦁ Currency Converter (Sterling – euro)
⦁ Distance converter (Imperial – metric)
⦁ Games Menu
Sub menu entries
⦁ Hang Man
⦁ Guess My Number
The aim of this assignment is to develop a software prototype menu structure for the EasyPhone 4 mobile phone.
⦁ Marking Guide
This is not a prescriptive marking guide and is provided to give an indication of the level of completed development for each of the grade boundaries. For example Implementing all the work for a Grade A that has poor comments, coding style and poor implementation may well get a less mark than one that has implemented all the C Grade elements but done so to a professional standard.
We are looking for the ability apply aspects of problem solving so even if aspects of your code do not work we can award marks for them, especially if the documentation and problem solving aspects are sufficient. In addition to that there will be marks available for the presentation of information on screen to the user. Clearly the TUI ( Text User interface) will have a different set of requirements than a GUI (Graphical User Interface)
It is expected that you will use a number of sources including including books, journals and web sites. You are also permitted to use code fragment examples from these sources, which is fit for the purpose, provided that it is referenced and commented properly and you understand it (we will be checking that at the presentation and demonstration.. If you do this then please reference accordingly (please see below).
One thing that is not permitted is the sharing of code and solutions between peers. This will result in both parties assessments being graded at zero and procedures for academic misconduct will be undertaken.
You are permitted to develop additional features and these will be graded upon their integration into the application, justification for inclusion as well as the standard of coding and documentation.
⦁ <40% (failing Grade)
None-submissions will immediately result in a failing grade and you will be automatically required to repeat the module. Code that fails to develop a full set of features for either the Phone book element or the task manager element series of features. Little use of comments or code documentation.
⦁ 40 – 49% – D Grade
Develop a single layer menu driven programme that provides the user with the functionality of either the phone book menu entry or the Task management menu entry including quitting the programme. The Welcome message is hard coded into the programme. The interface is usable. Some of the data and information is stored in a flat file
The design of the software is basic with evidence of some analysis Comments and documentation are basic with no user documentation.
⦁ 50 – 59% – C Grade
Everything from 40 – 49% plus
Develop a menu driven programme with sub menus that create the structures for the first three of the menus including all of the features. In addition the menus will allow the users to move backwards. There will be some error checking of the users input. The welcome message is based upon information entered by the user. The storage of the data is more complex and may use multiple files with appropriate formatting. There will be some use of developer created modules. The software design is clear in it’s aims and contains elements of pseudo code. The comments and code documentation is appropriate and provide some development information as well as basic user documents. There will be some evidence of testing provided.
⦁ 60 – 69% – B Grade
Everything from 50 – 59% plus
Develop a menu driven programme with sub menus that create the structures for the first 4 of the menu items including the features that are required for the submenus. The interface design and structure will be clear and intuitive for the user with input verified and appropriate use of exception handling within the code. Storage of the data will be clear and documented and possible using appropriate file formats or accessing a very simple database.
The design documentation is clear and with good use of pseudo code. In addition code comments and code documentation is clear. The user documentation is thorough. There will be evidence of a structured testing plan.
⦁ 70 – 84% – A Grade
Everything from 60 – 69% plus
Develop a menu driven programme that implements all of the features required. The user interfaces are very well laid out with complete error checking, exception handling and verification of actions where appropriate. The code will be modular with developer created modules and appropriate use of coding hierarchy. The design documentation is clear and the comments and Code documentation are clear and accurate with excellent use of pseudo code. The user documentation is complete. The data will be stored in a simple database or appropriate document structures. There will be evidence of an in depth testing plan.
⦁ >85% – A Grade
Everything from 70 – 79% plus
Develop everything from Grade A plus the application will be object oriented with both a GUI and cmd line versions of the application
In addition to the above marking guidance we will be using aspects of the general marking criteria as laid out in the module guide.
If you have used a piece of code that you have not written or used ideas from online forums, books or other sources please ensure that you properly cite the reference from where you obtained the code comments. There must also be a text file containing these references as a well laid out and referenced document. Failure to provide this will result in the mark being reduced in line with the general marking criteria.
This will prevent you being accused of plagiarism. Also please remember that we will be assessing your ability to develop and write the software and problem solve so it is expected that you will use different sources to help with the development of working solutions
⦁ Assignment submission
Your assignment for the portfolio code must be submitted by the 2nd January 2018 shown on the front page of this assignment brief. Please submit all your code even if there are elements that are not working.
You must submit
1) A zip folder to the Moodle Submission link clearly identified with your username and student ID number in the following format:
As an example bdt1ugs_1512436_SWE4001.zip If you are unsure please see your module tutor
For the development log use the template on the Moodle page at the following link: http://moodle2.bolton.ac.uk/mod/resource/view.php?id=367411
Please ensure that your ZIP folder contains the information in the tables below.
In the Zip folder Check
Development log & Design documentation including pseudo code and any diagrams that support the design
If you have implemented any additional functionality; a single page Word document describing the extra features.
Your completed python project including the supporting documentation
⦁ Assignment 2 – Oral Assessment & Presentation
For this you will be required to present your code to two members of the academic team who will be asking questions about the design, development and implementation. It is expected that you will be asked questions about all the documentation and working code you have submitted. You will be assessed on your ability to demonstrate knowledge of code that you have used, how approached the problem solving aspects working and implementation of appropriate solutions. Finally we will also be identifying elements of time management through the use of a development log and discussions on how you managed to keep the development on track.
The log that you submit will be based upon the template provided and must contain entries that span the period of development. Content of the development log must also contain discussion on your approaches to time management. Remember it is also a place to discuss positive outcomes, challenges faced and actions to carry forward to other sessions and project.
One element of the journal will be to develop a paragraph where you critically appraise your own work and provide a grade for the work and feedback on why you believe that grade is justified. This section will be no more than 300 words.
Questions posed by the assessing academic staff during the presentation will be based upon your code and your programming Development log. We will be using the general marking criteria as laid out in the module guide for the assessment of the development journal and presentation
Remember the development log must be submitted with your code on the 2nd January.
Anon (2017) Processing Power Compared. Online [Available] http://pages.experts-exchange.com/processing-power-compared/ Accessed on 14 August 2017