9o Credit Diploma in IT
Unit 6
Software
Design
Development
Assignment
S/W Design and Development
Date Set :
Review Date :
Date Due :
16th September 2013
22nd April 2014
23rd May 2014
and
SOFTWARE DESIGN AND DEVELOPMENT
Learning outcomes to be partially or fully covered
1
Know the features of programming languages
Understand the principles of software design
Be able to use tools to demonstrate software designs.
Grading criteria
To achieve the Pass criteria
6.P.1 Describe the application and limits of procedural, object oriented and event driven
programming paradigms.
6.P.2 Describe the factors influencing the choice of programming language.
6.P.3 Explain sequence, selection and iteration as used in computer programming.
6.P.4 Outline the benefits of having a variety of data types available to the programmer.
6.P.5 Explain the role of software design principles and software structures in the IT Systems
Development Life Cycle.
6.P.6 Use appropriate tools to design a solution to a defined requirement.
To achieve the Merit criteria
6.M.1 Explain the importance of the quality of code.
6.M.2 Justify the choice of data types and software structures used in a design solution.
To achieve the Distinction criteria
6.D.1 Discuss the factors that can improve the readability of code.
6.D.2 Develop algorithms to represent a design solution.
Unit 6 - 2950460554
Written By: Shalini fernando
Verified By: Nicholas Kakou
Page 2 of 10
SOFTWARE DESIGN AND DEVELOPMENT
Scenario for Part 1
You are working as a senior programmer in a LeSoCo software developing company. Some of
the lower level employees would like to be programmers but dont know where to start. Your
manager asked you to create a set of presentations and documents which will introduce these
employees to the concepts they need before they start programming properly.
Tasks for Part 1
Task 1.1 P1
Prepare a presentation on Procedural, Object-Oriented and Event Driven programming
approaches (paradigms). In each approach you should explain:
Use of the approach
Example of different computer language/s including coding.
Disadvantages
what sort of applications the approach would not be normally used for
Task 1.2 P2
You need to explain to your audience why you will be using Visual Basic 2010 when
some have heard that C++ programs run much faster and that Java programs can run
on any computer. In your comparison on Visual Basic 2010, C++ and Java, you
should take into account the following factors:
1) Organisational policy
2) Suitability in terms of available features and tools
3) Availability of trained staff
4) Reliability
5) Development and maintenance costs
6) Expandability
Unit 6 - 2950460554
Written By: Shalini fernando
Verified By: Nicholas Kakou
Page 3 of 10
SOFTWARE DESIGN AND DEVELOPMENT
Task 1.3 P4
Write a document with following three sections:
1) Using the following table explain at least six VB.Net data types available to the
programmers.
Data
type
Description
Space
Occupied
Range
Example
2) Why the choice of data type for a variable is important and what problems can arise if
an unsuitable data type is used?
Task 1.4 P3
Sequence, Selection and Iteration are three basic structures which can be used to build a
program. Create a document with following seven sections. In each section, you need to
explain the purpose of the structure, a short working VB.NET program with explanation
on how the program will work, VB.NET interfaces and pseudocode for each program. (In
the program, use comments, proper indenting and the correct naming of variables)
1. Sequence
2. Iteration (Loops)
Pre-check (Do While Loop)
Post-check (Do Loop Until)
Counted loops
3. Selection (Condition)
IF
IF ELSE
Unit 6 - 2950460554
Written By: Shalini fernando
Verified By: Nicholas Kakou
Page 4 of 10
SOFTWARE DESIGN AND DEVELOPMENT
CASE
Task 1.5 P5
You are concerned that they understand that sitting down and writing code is not a good option,
so you want them to know about Software Design Principles and Software structures. Create a
presentation on following:
The development life cycle and its stages
Software Structures Functions, Parameter, Procedures, classes, objects and
Readability
Task 1.6 M1
Amateur programmers use a range of short cuts which work fine for small programs.
However, professional programmers need to write robust, extensible and understandable code.
Create a document with examples which explains why each of the following attributes is
important of the quality of code:
1) Robust
2) Usability
3) Portability
4) Maintainability
Task 1.7 D1
Write a detailed discussion on how to ensure that code is readable for other programmers. The
techniques used to improve readability of the code are - Adding Comments, Using
meaningful variable names, Indentation (Indenting Loop or Selections blocks). In each
techniques discussion should be based on following topics:
Benefits
Drawbacks
Examples of actual code
What problems may arise if the technique is not used
Unit 6 - 2950460554
Written By: Shalini fernando
Verified By: Nicholas Kakou
Page 5 of 10
SOFTWARE DESIGN AND DEVELOPMENT
Scenario for Part 2
Create a system that enables to calculate an Employees Annual Salary. Each employee has a
Basic Pay and he/she can do overtime. Also, there will be a tax deduction. The system should
function as follows and all errors should be handled:
The system should allow user to enter Employee Name, Basic Salary and Overtime
hours.
Overtime rates are different according to an employees basic salary. Following are
three ranges (bands):
Band 1 (20.00) - > Basic Pay less than 20,000.00
Band 2 (30.00) -> Basic Pay between 20,000.00 and 40,000.00
Band 3 (35.00) -> Basic Pay over 40,000.00
There will be an annual 20% of tax deduction from employees basic pay. However, an
employee is eligible for a tax free amount of 9,440 (annually), which means there will
be no tax if an employees basic pay is below 9,440.00 (overtime is not taxable).
Final Itemised pay slip should display following information (the final amounts should
be displayed in two decimal points):
Employee Name: xxxxxxx
Basic Pay:
Overtime:
Gross Pay:
Tax Deduction:
Net Pay:
Hrs (xx.xx)
Rate (xx.xx)
xxxxx.xx
Amount (xxxxx.xx)
xxxxxx.xx
xxxxxx.xx
xxxxxx.xx
Hints:
Overtime = overtime hours * overtime rate
Gross Pay = Basic pay + Overtime
Net Pay = Gross Pay Tax amount
Format (35000.962, "#0.00")
Tasks for Part 2
Unit 6 - 2950460554
Written By: Shalini fernando
Verified By: Nicholas Kakou
Page 6 of 10
SOFTWARE DESIGN AND DEVELOPMENT
Task 2.1 P6
Based on the part 2 scenario, create following design documentations:
1) A numbered list of features that your program is expected to contain
2) A design for each screen in your program (form Layouts) Decide which forms you
need and then design their layouts. Annotate these designs to show the name you
intend to give each form and control, e.g. txtName, intage, frmDetails, lblAmount, etc...
3) Variable List Use following table:
Variable name
Scope (Local or Global)
Data Type
Used For
4) Structure Diagrams Draw structure charts to identify the different procedures in the
system
5) Event Descriptions For each event, e.g. a button click or leaving a text field, describe
in detail what you want your program to do. Use following table:
Form
Name
Events
functions
/ Used for
Pseudocode code
Task 2.2 M2
Based on your program design in P6, create a document in which you justify:
Data types you have chosen for the variables
The way you have structured the system, e.g. by splitting into a number of different
procedures
Task 2.3 D2
Unit 6 - 2950460554
Written By: Shalini fernando
Verified By: Nicholas Kakou
Page 7 of 10
SOFTWARE DESIGN AND DEVELOPMENT
Develop an algorithm using pseudocode to represent your program in P6. Annotate (comment)
the algorithm to make it clear what they are doing and how they are doing it. Annotation
should also indicate how the design requirements are being met.
Unit 6 - 2950460554
Written By: Shalini fernando
Verified By: Nicholas Kakou
Page 8 of 10
SOFTWARE DESIGN AND DEVELOPMENT
Work to be submitted
Unit Record Sheet
Assignment Front Sheet
Following assignment evidence should be uploaded into eME using template provided
in eME:
A presentation which covers the different types of programming approaches. P1
A report covering how languages are chosen with specific reference to Visual Basic,
Java and C++. P2
Explanation of the purpose of each basic structure, a short working VB.NET
program with explanation on how the program will work, VB.NET interfaces and
pseudocode for each program P3
Brief report covering data types, importance of choosing the correct data type for a
variable and the problems occur when an unsuitable data type is used. P4
A presentation on the software development life cycle and software structures. P5
The design documentations for Part 2 scenario. P6
A report explaining why good programming practice is needed by professional
programmers. M1
A report on your reasons for choosing the data types of the variables for the
program and the way you structure the system in the scenario for part 2. M2
A detailed report on the factors which make code more readable. D1
The algorithm using pseudocode for the program described in the scenario for part 2
of this coursework. D2
Unit 6 - 2950460554
Written By: Shalini fernando
Verified By: Nicholas Kakou
Page 9 of 10
SOFTWARE DESIGN AND DEVELOPMENT
EdExcel Recommended Sources:
Textbooks
Knuth D The Art of Computer Programming: Volumes 13, 2nd Edition
(Addison Wesley, 1998) ISBN 0201485419
Wender K Cognition and Computer Programming
(Intellect Books, 1995) ISBN 1567500951
Websites
Visual Basic .NET Programming for Beginners
Available at: http://homeandlearn.co.uk/NET/vbNet.html
Visual Basic Developer Center
Avalable at: http://msdn.microsoft.com/en-us/vbasic/ms789056
Tutor Handouts
Please see the area for this unit on eME for these materials as well as on www.edulevel.com.
Unit 6 - 2950460554
Written By: Shalini fernando
Verified By: Nicholas Kakou
Page 10 of 10