Sunteți pe pagina 1din 10

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

S-ar putea să vă placă și