Software Engineering Methodologies
Assignment 1 Individual Roots of Polynomials - Quadratic
This assignment requires you to analyse a problem and to design a solution (without any programming), which the user interacts with, via a GUI. The tasks required of your program will require you to demonstrate your understanding of the concepts covered in Weeks 1-3 of the course setting the foundations and a brief introduction to the course.
Timelines and Expectations
Percentage Value of Task: 20%
Due: Thursday, April 27, 2017 - 16:00 (Week 6)
Minimum time expectation: 10 hours
Learning Outcomes Assessed
S1. Critically analyse and use complex decision making to research and determine the appropriate Software Engineering tools and methodologies to utilize in a given situation.
S2. Apply professional communication skills to support and manage the engineering of a large software system.
S3. Review, critically analyse and develop artefacts to define processes for quality assurance, risk management and communication in large software development projects.
S4. Implement quality assurance activities in order to verify user requirements and validate design decisions.
A1. Analysis of a large system development problem to decide upon the best methodological approach.
The application of quadratic equations is boundless; examples that spring to mind are parabolic paths of projectile motion, velocity in a gravitational field, optimization of profit/loss, and the golden ratio being just a few.
In this task you are required to design a user interface for the solution of quadratic equations. The quadratic solutions should be clearly shown as well as proof that they do solve the quadratic equation. Feedback should be given to the user if invalid data is entered.
The following analyses should be completed at the commencement of this project:
• User Analysis – who will be using the system?
• Display Content Analysis – what needs to be displayed?
• Work Environment Analysis – what is the platform/environment/architecture? • Interface Design Steps – what are the interface objects and actions?
refer to Pressman’s chapters on Interface Design as well as Hix and Hartson.
After these analyses have been completed, you should decide on the software tools which you will use. Justify these in your report.
For example, for the graphics you might choose from: Microsoft Word (using the SmartArt,
Shapes, Pictures features), Microsoft Paint, Microsoft Powerpoint, GIMP (www.gimp.org), Adobe Acrobat, Enterprise Architect (EA), Inkscape (www.inkscape.org), Photoshop, Paint.net or possibly from Web Tools such as Dreamweaver. Justify your choices in your report.
You will need to model the application; you may choose any model discussed in lectures such as DFD, FSM, SASD, ERD, CSPEC and justify your choice of model or combination of models. Demonstrate the usefulness of your modelling.
You will need to provide a State Chart Diagram (State Transition Diagram) of your application as well.
As there is no programming required in this assignment, you are encouraged - but not obliged - to use Wolfram|Alpha (https://www.wolframalpha.com/) to solve your quadratic equations. Wolfram|Alpha is a free-form input computational knowledge engine using natural language. For example you could type “2 + 3” or “what is 2 + 3?” or “what is the sum of 2 + 3”.
Your GUI should appear to be solving the equations and you may use any relevant output generated from Wolfram|Alpha in your GUI.
1. Your application must provide the user with all roots of a representative set of quadratic equations of the form
? y x ax bx c( )? 2 ? ? ?
You will need to create your own set of equations; state why you chose them and why they are needed to show that the application is working correctly.
For example, it must produce solutions to equations of the type:
y x( ) ? ?x2 1, y x( )? ? ?x2 4x 3, y x( ) ?3.5x2 ?5.5x?11.5
and any variations thereof.
1. The equation to be solved must be displayed to the user in a suitable form
2. The solutions must be presented in graphical and numerical form.
3. The solutions should be presented in graphical and numerical form and must be shown to be correct.
4. The interface must be designed according to best practice and aesthetics.
5. The user must be made aware of any invalid data entered.
Student ID: Student name:
1. User Analysis - who will be using the system? 6
2. Display Content Analysis - what needs to be displayed? 10
3. Work Environment Analysis - what is the platform/environment/architecture? 5
4. Interface Design Steps – what are the interface objects and actions? 10
5. Modelling of the problem – explain your choice of model(s) 10
6. Description and justification of software tools chosen 6
7. Application must provide the user with all roots of a representative set of quadratic equations 6
8. The equation to be solved should be displayed to the user in a suitable form 3
9. The solutions should be presented in graphical and numerical form and shown to be correct 4
10. The interface should be designed according to best practice and aesthetics 15
11. The user must be made aware of any invalid data entered 5
12. State Chart Diagram (State Transition Diagram) 10
13. Report - in accordance with FedUni guidelines for reports 10
You are required to provide documentation, contained in an appropriate file, which includes:
• a front page - indicating your name, a statement of what has been completed and acknowledgement of the names of all people (including other students and people outside of the university) who have assisted you and details on what parts of the assignment that they have assisted you with
• your report should address all tasks listed above
• list of references used (APA style)
Using the link provided in Moodle, please upload your assignment in one zip file as directed by your lecturer. (Please ensure that all files needed are included.) Name your zip file in the following manner:
GivenName_FAMILY-NAME _ ID .zip e.g. Aravind_ADIGA_30301234.zip
Assessment marks will be made available in fdlMarks, feedback to individual students will be provided via Moodle or as direct feedback during your tutorial class
Plagiarism is the presentation of the expressed thought or work of another person as though it is one's own without properly acknowledging that person. You must not allow other students to copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at:
http://federation.edu.au/students/learning-and-study/online-help-with/plagiarism Federation University General Guide to Referencing:
The University has published a style guide to help students correctly reference and cite information they use in assignments. A copy of the University’s citation guides can be found on the university’s web site. It is imperative that students cite all sources of information. The General Guide to Referencing can be purchased from the University bookshop or accessed online at:
https://federation.edu.au/library/guides/referencing Suggested References:
Pressman, R. S. (2010). Software Engineering: A Practitioner's Approach (7th Ed.)New York, USA: McGraw-Hill.
Hix, D., & Hartson, H. R. (1993). Developing user interfaces: Ensuring usability through product and process. New York, U.S.A: John Wiley & Sons.