36
BTEC 2HND 2010 1 Software Development Project - Building a Distributed Database Application Assignment Guidelines This assignment requires the development of a software application together with a neatly organized, word processed report, all of which should be submitted on Friday 4 th June 2010. Read the following instructions carefully before you start the assignment. If you do not understand any of them, ask your lecturer for help. Carry out research and collect the information required to produce the following report. You should ensure that you collect all the information you need to address all the requirements given in the following sections/ proposal. When you have completed the report, fill in the assignment sheets appropriately. Remember also to include a reference page whereby any research notes or any information used is listed out. Compile Sections A till Section E of the documentation as one document and Section F and G as a separate document, making sure that each section starts on a new page. Therefore the sections that deal with software testing should be submitted in a separate file.

Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

1

Software Development Project - Building a Distributed Database Application

Assignment Guidelines

• This assignment requires the development of a software application together with a

neatly organized, word processed report, all of which should be submitted on Friday

4th June 2010.

• Read the following instructions carefully before you start the assignment. If you do

not understand any of them, ask your lecturer for help.

• Carry out research and collect the information required to produce the following

report. You should ensure that you collect all the information you need to address all

the requirements given in the following sections/ proposal.

• When you have completed the report, fill in the assignment sheets appropriately.

Remember also to include a reference page whereby any research notes or any

information used is listed out.

• Compile Sections A till Section E of the documentation as one document and Section F and G as a separate document, making sure that each section starts on a new page. Therefore the sections that deal with software testing should be submitted in a separate file.

Page 2: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

2

Introduction

In this assignment you will be asked to carry out the full software development life cycle.

You will:

• Analyse and design a distributed application using appropriate software analysis and

design tools;

• Develop the Distributed Application using the newest .NET technology. This

application that will be developed will not be restricted to any application type but it

should have distributed application techniques. In the following sections you will find

a list of tasks that you should perform to make sure that you build a correct

distributed application.

• Test your whole application and your COM+ component.

• Implement it and review it.

In the end,

Deadline is: Friday 4th June 2010 and no extensions will be given

as the weeks that

follows will be dedicated to interviews, correction and referrals. During the week starting 8th

June you will be asked to formally present your work to your tutors. Interview schedules

will be set and sent to you by your tutor in due course.

This assignment is linked with:

• Unit 10 (Software Development Project);

• Unit 35 (Distributed Design & Development);

• Unit 37 (VB Enterprise Development);

• Unit 40 (Software Testing);

Page 3: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

3

Section A (Initial Stage)

Task 1: Problem Definition

Identify and describe a problem that you would like to solve. Analyse and highlight the

drawbacks of this problem, and define the business’ and customer’s goals

Grading Criteria: DDD-P2.1 Describe the current problem Met Not Met Analyse & Highlight the drawbacks of the current problem

Met Not Met

Define business’ & customer’s goals

Met Not Met

Task 2: Analysis Stage

Analyse the business requirements and provide a list of all the functional requirements

divided into High-Medium-Low importance functionalities. For each functional requirement

listed: specify the technology to be used and provide a reason for using this technology.

Grading Criteria: DDD-P2.2, SDP-P1.2 Provide a list of all the functional requirements and divide them into high, medium and low.

Met Not Met

Grading Criteria: SDP-M1.1 Use the MOSCOW model to identify and prioritize the functionalities into different priorities. For each functionality identify whether it is a MUST, SHOULD, COULD or WOULD

Met Not Met

Task 3: Project Plan

Write a detailed project plan and show the start and finish dates for each of the following

stages & subsequent activities done during each of these phases:

• Problem Definition o Gathering of information about the problem o Background research about the problem o Breaking down of the problem into atomic parts

• Analysis

Page 4: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

4

o Analysis of each atomic part of the problem • Design

o Design of each atomic part of the problem • Coding

o Coding of each atomic part of the problem • Testing

o Testing of each atomic part of the problem • Implementation

o Implementation of each atomic part of the problem

Using Microsoft Project, draw a Gantt chart to map the above Project Plan.

Grading Criteria: SDP-P1.1 List all the main SDLC stages and identify the start and finish dates for each one.

Met Not Met

Grading Criteria: SDP-D1.2 Produce detailed project plan (presented as a Gantt chart) in which all the stages are clearly identified and organized appropriately. Make sure to display the dates, and any sub-phases you will have to complete.

Met Not Met

Page 5: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

5

Section B (Design)

Task 1: Implementation Plan

Create a clear and complete implementation plan by including:

• a list of appropriate software planning tools and justify your choices. These tools

should cover logical & physical database planning, class design, activity diagrams,

and all other aspects of this implementation plan;

• the chosen programming language to be used and justify your choice;

• the activity diagram for every functional requirement which is considered as a high

importance requirement;

• a UML Class Diagram capturing all the classes that will be utilized by the project;

• a logical entity relationship diagram (ER-Diagram) of the information to be saved

within the database and used by distributed system - your ER-Diagram must be free

from any anomalies and in BCNF or higher;

• a database schema that maps a logical design to a physical design by converting the

ER-Diagram to produce a physical design - you should include both:

o the Database Schema Diagram (created from within SQL Server Enterprise

Manager, or Microsoft Visio);

o Include the database file in the CD or DVD which you submit with your

project.

Grading Criteria: SDP-P1.3 Include a list of appropriate software planning tools and justify your choices; The tools should cover each deliverable in the above-described implementation plan

Met Not Met

Grading Criteria: SDP-P2.1 Choose a suitable programming language to develop your project, and justify your choice;

Met Not Met

Grading Criteria: SDP-P2.2

Page 6: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

6

Create the activity diagrams of the high importance functional requirements;

Met Not Met

Draw a class diagram of all the classes to be utilized in your solution;

Met Not Met

Grading Criteria: DDD-P3.2 Create a logical ER Diagram of the information to be saved within your database, and used by the distribution system. Make sure that the diagram is free from any anomalies and in BCNF or higher

Met Not Met

Grading Criteria: DDD-P3.3 Map the Logical Design to Physical design by creating the Database Schema Diagram by using either SQL Server Enterprise Manager, or Microsoft Visio

Met Not Met

Design the database from the ERD created in Sql Server Database Met Not Met

Grading Criteria: SDP-P3.3 Include all Task 5 items to create a clear & structured implementation plan

Met Not Met

Grading Criteria: DDD-D1.2 The ER Diagram designed In DDD-P3.2 should be in detail, thus make sure it contains:

• Proper Notation should be used • Primary and Foreign keys should be clearly indicated • Relationships should be properly named, clearly indicating

the degree of the relationship.

Met Not Met

Task 2: Diagrammatic Representation

In this task you should use VISIO to create a component diagram representing your

distributed application. In this diagram you should include

1. Components used in your program (e.g. UserManagement, ProductManagement,

Security, etc…)

2. How do components communicate with the presentation layer

3. The main interacting objects for your component

4. The data layer and how it interacts with other layers

Page 7: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

7

Note: Make sure you include the different layers in your diagram.

For the Distinction: You should manage and organize your project by producing a graphical prototype (i.e.

wireframe) of the different systems in your project (i.e. either 1 for every application-type

e.g. windows, web, mobile OR if you have only web, 1 for Admin and Member/ Server and

Client, etc)

Grading Criteria: DDD-P2.4 Design a correct VISIO diagram containing all the above components

Met Not Met

Grading Criteria: VBE-D1.2 Produce a graphical prototype of the different systems in your project (i.e. either 1 for every application-type e.g. windows, web, mobile OR if you have only web, 1 for Admin and Member/ Server and Client,etc)

Met Not Met

Page 8: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

8

Section C (Implementation and Technical Documentation)

While implementing the functionalities proposed in the proposal (given in the beginning of

the semester) make sure you follow the instructions given in the Tasks below.

Task 1: Visual Studio

You should develop a window/web based interface to interact with your business

component. The business component developed must be a COM+ component. All business

logic must be implemented in the COM+ component. You can provide validation logic in the

presentation layer, and therefore in your interface you have created. Your COM+ component

should perform the functionalities that you have listed in your software project proposal.

YOU WILL NOT ACHIEVE THIS CRITERION IF YOU DO NOT MAKE USE OF COM+ COMPONENT THAT INTERACTS WITH THE INTERFACE YOU CREATE. ALL BUSINESS LOGIC MUST BE PERFORMED IN THE COM+ component.

Grading Criteria: DDD-P3.7 Make use of Visual Studio to develop a Web or Windows Interface and interact with your COM+ dll.

Met Not Met

Task 2: Design and Implement Client Requirements

This criterion is linked with the software project proposal form that you have filled in your

SOFTWARE DEVELOPMENT PROJECT UNIT (Unit 10). Client requirements have been

divided into three categories by your respective lecturer listed underneath.

1. Low importance

2. Medium importance

3. High importance

Functionalities of high importance mean that the application with not work without them.

You should make sure that all your high importance functionalities are implemented in your

COM+ component and that you have an interface that calls these methods.

Page 9: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

9

In order for your functionalities to be accepted you should follow the underneath rules

• Only those functionalities that work correctly and fully perform what is required in

your software proposal will be considered

• All functionalities should be correctly called from your presentation layer

• Those functionalities that will not be called from your presentation layer will not be

considered.

• Your presentation layer’s interface should be well designed. Anyone not providing a

decent interface for his/her application will be rejected.

• The following functionalities will not be considered as part of those you submitted in

the proposal but MUST be implemented as well (if applicable):

o Login Form with proper authentication and allocation of permissions/rights

o Simple Recovery/Reset Password tool

o Menus and Menu Items should be loaded from the database according to the

identified role of the logged user

o Allocation of menus/ menu items to roles

Grading Criteria: SDP-P3.1 • You should implement 100% of your high importance

functionalities, 75% of your medium functionalities and 50% of your low importance functionalities.

• Make sure you follow correctly the above 5 rules

Met Not Met

Grading Criteria: SDP-M1.2 • You should implement 100% of your high importance

functionalities, 75% of your medium functionalities and 75% of your low importance functionalities.

• Make sure you follow correctly the above 5 rules

Met Not Met

Grading Criteria: SDP-D1.3 • You should implement 100% of your high importance

functionalities, 100% of your medium functionalities and 75% of your low importance functionalities.

• Make sure you follow correctly the above 5 rules

Met Not Met

Page 10: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

10

Task 3: ADO.NET

In your application you must make use of ADO.NET for the accessing of data in the data

layer. You should make use of ADO.NET code throughout the data layer class library

Grading Criteria: VBE-P4.3 Use ADO.NET code to access data in the data layer (P4.3) Met Not Met

Task 4: Transactions

Develop an application that makes use of COM+ components and distributed transactions.

You should highlight code snippets that make use of distributed transactions. YOU MUST

MAKE SURE THAT YOU INCLUDE TRANSACTION WHEN YOU UPDATE MORE THAN

ONE TABLE (IN THE SAME TRANSACTION). ONLY TRANSACTIONS THAT WILL

UPDATE MORE THAN ONE TABLE WILL BE CONSIDERED.

Create a diagram to explain a function that makes use of transactions clearly illustrating the

method calls, sample of record(s) data which is updated/inserted/deleted from/to the

database, and the database tables that are affected.

Grading Criteria: VBE-P3.2 Make use of Transaction support when updating more than one table in the same transaction.

Met Not Met

Grading Criteria: DDD-M1.2 Document using a diagram to explain a function that makes use of transactions clearly illustrating and listing the methods in question and the calls triggered, sample of record(s) data which is updated/inserted/deleted from/to the database, and the database tables that are affected.

Met Not Met

Page 11: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

11

Task 5: Technical Documentation

In this task you should describe the data, business and presentation layer for a distributed

application that you have developed. For each layer you should

1. Outline items in layer (for ex: you should describe the tables you have used in SQL

Server in the data layer).

2. Explain the responsibility for each item in all layers. (for ex: you can explain what

each method in the business layer does)

Grading Criteria: DDD-P3.1 You should describe each layer (data, business and presentation layers). In your description you should ensure that you list and address point 1 and 2 as follows:

1. List all the tables and include a general description for each table

2. Explain what each method used for high importance functionality does and any business logic that it caters for. (1 or two sentences)

Met Not Met

Grading Criteria: DDD-M1.1 Using the comment system in Visual Studio or any other system, to comment each method implemented in your main component. Then use a tool which extracts these comments and publish them in one document. Include the contents of that document in this part of documentation.

Met Not Met

Task 6: Exception Handling

Any exceptions that are encountered in the Data Layer must be bubbled up and handled in

the Business Logic Layer. When handling exceptions, you should capture specific exceptions

like instances of the class SQLException rather than generic exceptions like instances of the

class Exception.

You should also create custom exceptions that might be more specific to your business

rules. For example, a bank application might throw a BankAccountAlreadyExists

exception rather than a generic Exception object which might not provide sufficient

information to its caller.

Page 12: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

12

Grading Criteria: VBE-P2.3 You should throw exceptions from your COM+ component when an error in the data layer is encountered.

Met Not Met

Grading Criteria: VBE-M1.1 You should provide AT LEAST ONE CUSTOM EXCEPTION class and throw this exception back to its caller

Met Not Met

Task 7: Security Issues

When developing your application, make sure you consider taking the following security measures:

• Hashing of passwords, • roles (allocation and de-allocation), • forms authentication (if applicable), • folder based security per role (if applicable), • menus load dynamically according to roles

You should also make use of encryption and decryption. If you are using any query strings these should always be encrypted and decrypted.

Grading Criteria: VBE-P3.3 The above security measures were applied and implemented in the application where applicable.

Met Not Met

Task 8: Stored Procedures

Your COM+ component must make continuous use of stored procedures to access the data

layer. This will give you the maximum performance possible when accessing the data layer.

You will fail this criterion if you do not make use STORED PROCEDURES. All business logic

must be implemented using stored procedures. The COM+ component can then call the

stored procedure that will return back the required result. Underneath you can find a simple

example of a method that calls a stored procedure and that implements a particular

business for an application developed

Ex: Method called GetUnitsTaughtByLecturer(int lecturerId )

Page 13: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

13

Stored Procedure called sp_GetUnitsTaughtByLecturer that returns the required

results for the method above.

Grading Criteria: VBE-P4.1, VBE-P4.2

1. Use stored procedures to access data in the data layer and to perform any other business logic in your application. (

2. At least TWO STORED PROCEDURES that contain variables, and some sort of control flow (ex: if statements etc.)

3. At least ONE STORED PROCEDURE containing an OUTPUT/RETURN parameter

Met Not Met

Task 9: Sql Server Documentation

SQL Server provides a critical design for designing views. To achieve this criterion you

should be familiar with this tool and you should provide documentation on how to use this

tool. You can also make use of this tool to design some of your stored procedures. The

documentation should include

1. Introduction to design view tool in SQL Server

2. Step by step description of how this tool is used. You should at least provide one

step by step description of a view you have created.

3. You should also explain how you can use the VIEWS created to view the data in

Visual Studio

Grading Criteria: DDD-P3.4 Provide documentation on how one can create views and design queries. Use these queries in your program. Your documentation should include all the three points above.

Met Not Met

Task 10: Presentation Layer Choice

In this task you should provide clear justification why you have used Windows or a Web

interface. These justifications should include

1. Advantages for the presentation layer chosen

Page 14: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

14

2. Comparisons between your presentation layer and another presentation layer type

(ex: comparison between a Windows & Web interface)

3. Reasons for your decision

Grading Criteria: DDD-P3.6 1. List AT LEAST TWO ADVANTAGES FOR THE LAYER PROVIDED 2. Two differences between your presentation layer choice and

another type of presentation layer 3. AT LEAST 3 REASONS supporting your presentation layer

choice

Met Not Met

Task 11: COM+

The COM+ component that you will create in this task MUST PROVIDE ALL BUSINESS

LOGIC contained in your distributed application. You can also utilize stored procedures for

your business logic. However your COM+ component must be the interface between the

presentation layer and the data layer and therefore it is only the COM+ component that

must call the stored procedures created.

a) A distributed application is designed correctly if all business logic is written in an external

component. Components have been the focal point in distributed technologies for the past

ten years. They provide several benefits and one of the main benefits include reusability and

the advantage of being able to interact with any type of presentation layer. In this task you

should design and create a COM+ object that performs all the business logic for your

application. The main functionalities that the COM+ object will perform include

1. Accessing data in the data layer

2. Provide data to the presentation layer.

Grading Criteria: DDD-P4.1, VBE-P2.1, VBE-P2.2, VBE P2.6 Design and create AT LEAST ONE COM+ component that handles all business logic and then utilize this COM+ component in your application. Your COM+ component should address all client requirements that you have set in the proposal form. All your COM+ methods should be accessible through web services

Met Not Met

Page 15: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

15

You should divide your classes into different namespaces. Failure to do so will fail you in this outcome. Your COM+ component should include AT LEAST 4 different classes

Task 12: Data Integrity

In this task you should make sure that you have established correct relationships between

all your tables and that all data inserted in your table conform to the structure and rules you

have created. Your database should include

1. Test data in different tables

You should also make use of COM+ transactions to maintain SQL Server data integrity. You

should make use of these transactions when any business process is required to update

more than one table.

Grading Criteria: VBE-P4.4

1. Provide test data in all tables 2. Make use of transactions when a process is required to update more

than one table

Met Not Met

Task 13: Sql Server Security

In this task you should create user logins that will enable the users to connect to your

database. You should also make sure that correct permissions are set for all database

objects including stored procedures, tables and views.

You should prepare documentation that will describe what each login can access. Only users

having appropriate permissions should access database objects. Failure to include SQL

Server security will fail you in this criterion.

Grading Criteria: VBE-P4.5 1. Create user logins in SQL Server (your database should include

at least two user logins) 2. Establish appropriate permissions for database objects 3. Documentation describing what database objects can each user

access

Met Not Met

Page 16: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

16

Grading Criteria: VBE-M1.2 1. Make sure you use the logins/roles designed in VBE-P4.5 that

have different permissions on specific tables, in your application. Connection String in certain pages should be changed accordingly.

Met Not Met

Task 14: Visual Studio Component Tools

Choose two visual studio component tools that perform the same thing in a different way and compare them. This comparison should include the way how you go about achieving the same thing with both tools also making sure to list the advantages and disadvantages of each.

Examples of pair of tools (which you can compare) and perform the same thing are the following:

• The Strong Name Key tool – there is a tool which is integrated within Visual Studio that allows you to create a strong-name key file, and a command-line tool named sn.exe which does the same thing (in a different way)

• Caspol and .Net Framework Configuration Tool • Ildasm.exe and Object Browser within Visual Studio • Tlbimp.exe and the Add-Reference tool in Visual Studio (to create a runtime-callable

wrapper in Visual Studio for COM components)

Grading Criteria: DDD-P4.2

Compare 2 tools which achieve the same thing. The comparison must include the way how you achieve the tool’s objective and any advantages and disadvantages of both tools.

Met Not Met

Task 15: Deployment Package

To achieve this criterion you should make use of MTS to create a deployment package for

your COM+ component. This will help administrators to install your component on client

PCs.

Page 17: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

17

Grading Criteria: DDD-P4.3 Create a deployment package for your COM+ component

Met Not Met

Task 16: User Documentation Demonstrate how to use the application developed. This should be achieved by recording a video (using Camtasia or any other software of your choice) while you operate the system, clearly demonstrating all the high functionalities (which involve the presentation layer) in detail and another 5 (interesting) functionalities of your choice. Keep in mind that this video is targeted to be presented to a user that would like to buy your system and start using it. So you have to explain the functions of your system step-by-step, imagining that you are training someone to start using your system.

Grading Criteria: VBE-D1.3 Develop a clear and well-presentable video (using Camtasia or any other video-recording/editing software) illustrating the high functionalities and another important 5 of your choice.

Met Not Met

Task 17: Presentation Layer Design Your presentation layer should be designed in a way that shows quality, neatness and structured content. Stylesheets/ Skin files/ Xslt/ Accessibility Controls/ Jquery/Ajax Toolkit controls may all be used to enhance your interface.

Below you will find grading criteria that you will have to follow in order to meet this criterion.

Grading Criteria: DDD-D1.3 In case of a Web/Mobile Application

All pages have the same layout (except report pages) – makes use of a master page.

Navigation consistent and intuitive throughout.

Bread crumbs visible from all pages.

Homepage link accessible from everywhere.

Include a sitemap in the website.

Plain background behind text and contrasting background and text colors.

No horizontal scrolling should be present on an 800 by 600 screen

Met Not Met Met Not Met Met Not Met Met Not Met Met Not Met Met Not Met Met Not Met

Page 18: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

18

resolution.

Stylesheets or Skin Files should be used to format controls (like Gridviews, Calendars, Images, Tables, Lists, Web parts, Labels)

No styles should be included in pages. They should all be placed in a stylesheet/transformation file/skin file

Met Not Met Met Not Met

Pages should be titled

Sections in pages should be titled

Input controls (like textboxes, combo boxes, list boxes, etc) should be added with labels to indicate what is asked from the user.

Met Not Met Met Not Met Met Not Met

In case of a windows application

Navigation consistent and intuitive throughout.

Main Form accessible from everywhere.

Shortcut Keys enabled and displayed on menus

Plain background behind text and contrasting background and text colors.

No horizontal scrolling should be present on an 800 by 600 screen resolution.

Met Not Met Met Not Met Met Not Met Met Not Met Met Not Met

Window Forms should be titled

Sections in forms should be titled (using a group box or panels or labels)

Input controls (like textboxes, combo boxes, list boxes, etc) should be added with labels to indicate what is asked from the user and tooltips

Met Not Met Met Not Met Met Not Met

Page 19: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

19

Section D (Review and Evaluation)

Task 1: Project Review

a) Write a short summary by comparing the quality of the product produced to the

client's original requirements. You must provide comments about the methods

applied and include a conclusion about your project.

b) Suggest 2 future implementations of the same project, and briefly describe how the

project will gain from these enhancements.

c) Choose 3 challenging functionalities which when you were implementing you had to

carry out research or you encountered problems with and had to find alternative

solutions, and discuss the problems encountered, any research which you had to do

(what it is and what sources did you refer to) and how did you solve the problem.

d) Discuss any characteristics, advantages and disadvantages that are relevant to your

n-tier architecture. You may make use of diagrams (if appropriate) to discuss any of

these issues.

e) Choose 3 different screens from your application(s) , take a screenshot of each and

using a structured format for your discussion, explain and discuss, why you chose

that specific layout or what you could have improved and why. Your critical

evaluation should include points like

• Why did you choose certain locations for specific important controls?

• Why did you choose a particular theme, background colour, etc for the

presentation of information?

• The resolution you chose for your interface and a justification.

• Any characteristics of text, like font style, size, etc…whether this changes

according to some specific setting and why?

• Any particular controls you chose to implement yourself or you used by

downloading a third party component (e.g. jquery) and justification for this.

• Etc.

Page 20: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

20

Grading Criteria: SDP-P4.3

• Include a description to: o Compare the quality of product produced to the

client’s original requirements;

Met Not Met

o Describe the methods applied; o Conclude your project;

Grading Criteria: SDP-M1.3

• Include a description to: o Compare the quality of product produced to the

client’s original requirements;

Met Not Met

o Describe the methods applied; o Conclude your project; o Suggest at least two future implementation, and

describe how the project will gain from such implementation;

Grading Criteria: SDP-D1.1 Choose 3 challenging functionalities and discuss any problems encountered, any research done and solutions you implemented with regards to these functionalities.

Met Not Met

Grading Criteria: DDD-D1.1 Using critical reflection to name and discuss at least 2 characteristics, 2 advantages and 2 disadvantages that are relevant to your organization of your n-tier architecture

Met Not Met

Grading Criteria: VBE-D1.1 Using critical reflection to discuss 3 screens (taking a screenshot of each to complement your discussion) explaining important characteristics and what could have improved in each screen, following the points outlined in Section D Task 1 (e)

Met Not Met

Task 2: Presentation

Present your solution in a structured and well organised format. Create a PowerPoint

presentation showing the main steps of the software development project: Problem

Definition; Analysis; Design; Development; Testing and Implementation. Imagine you are

Page 21: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

21

going to present this PowerPoint presentation to people who are not IT experts; therefore it

should highlight the main points of each step without going into technicalities. The following

is a brief description which shows you how you should compile the Power Point

Presentation:

1. Problem Definition: this section should describe the main problem on which you

based your project.

2. Analysis: What kind of research did you carry out? To which books/ people/ studies

did you refer in order to come out with a solution? Which criteria or what where the

critical points which you based your decision upon? You can also mention any

alternative solutions which you might have developed. Justify your choice.

3. Design: should describe how the project and the database are structured. You

MUST mention the different layers you used in your project (Presentation Layer,

Business logic, etc). You can also mention the various technologies you used in your

project. For the Merit you need to explain and present your main component by

designing a UML class diagram. This should be accompanied by some points on why

did you choose that class layout.

4. Development and Implementation: You should describe important features which

were implemented in your project, especially those features which make your project

innovative and original.

5. Testing: The testing methods you used and any corrections/ enhancements which

you have implemented during the testing phase.

Compile the above documentation as one document – however make sure that each section

starts on a new page.

Grading Criteria: SDP-P4.1 Create a PowerPoint presentation as described above to give an overview of the work carried out at each stage

Met Not Met

Page 22: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

22

Grading Criteria: DDD-M1.3

In the Power Point presentation you should elaborate and clearly explain 3 important functionalities. Your presentation of these 3 important functionalities you have in your program should include any research done (i.e. how, which websites/documents did you consult with?, etc), how it was implemented in steps, and a short video clip (embedded in the ppt) illustrating how this functionality work.

Met Not Met

Grading Criteria: VBE-M1.3 In the Design section of your ppt include slides explaining how your application is structured component-wise. In another slide it should emphasize (with a UML class diagram and some points) how your main component is structured.

Met Not Met

Grading Criteria: SDP-P4.2 Compile all the documentation, produced from all previous tasks, as one organised document, with a Table of Contents, Headers and Footers (including page number), Front Page and a References section.

Met Not Met

Page 23: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

23

Section E (Discussion)

Task 1: Project Review

Discuss the strategies and technologies that you have utilized to make your software project an enterprise system.

What are the independent layers of your software architecture and how are they structured?

What are the technologies that support communication, synchronizations and data transfer between distant and distinct systems and layers?

How is your software optimized for speed in data retrievals?

Grading Criteria: VBE-P1.1 Discuss about 1 strategy as a solution for your enterprise system

Met Not Met

Discuss about at least four technologies or requirements of your enterprise system

Met Not Met

Page 24: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

24

Section F: Software Testing part 1

Task 1: Testing Plan

Task 1 consists of a Test Plan document for your project consisting of various sections:

Task 1.1 – Test Plan

Section 1: Scope of the Testing Project

Provide an Introduction section describing

a. What the project will do (short description) b. Scope of the Testing Project

Section 1b must have a description of how the testing stages (Unit, Integration, System and Acceptance) should be implemented in your project.

In relation to the testing stages (Unit, Integration, System and Acceptance), explain why you intend to use the above testing stages in your project and how you intend to use them in your project

Grading Criteria: ST-P1.2

In relation to the testing stages (Unit, Integration, System and Acceptance), explain why you intend to use the above testing stages in your project and how you intend to use them in your project

Met Not Met

Page 25: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

25

Section 2: Testing requirements

Describe correct requirements (what is needed) for each testing stage for you to be able to start that particular testing stage such as use case specifications, design specifications etc.

Grading Criteria: ST-P1.3

For each testing stage list and describe 2 correct requirements examples

Met Not Met

Page 26: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

26

Section 3: Testing Techniques

Some testing techniques that could be applied to your project are:

• Functional Testing • User Interface Testing • Performance Testing • Stress Testing • Security Testing

Choose three of the above testing techniques and explain how you are going to apply them to your project

Grading Criteria: SDP-P2.3

List three of the above testing techniques as techniques to be applied to your Testing Project Explain how each chosen testing technique is going to be applied in your Testing Project

Met Not Met Met Not Met

Page 27: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

27

Section 4: Test Plan & Test Schedule

Test Schedule

Using software such as Microsoft Project or Visio, create a GANTT chart to schedule your testing tasks.

The GANTT chart should have the following format:

Task Start Date End Date

Plan Test

Design Test

Implement Test

Execute Test

Evaluate Test

Testing Roles in Test Plan:

Identify some of the following roles as Roles to be used in your project and describe their responsibility in relation to Software Testing:

• Test Manager • Test Designer • Tester • Test System Administrator

Grading Criteria: ST-P2.2

Create a GANTT chart showing your Testing Schedule Identify 2 of the above testing roles and describe their responsibility in the Software Testing Project

Met Not Met Met Not Met

Page 28: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

28

Testing Environment:

It is advised that the system is tested under different environments. Enter the details of the testing environments in a table like the one below. You must have at least a configuration for a Server and two Configurations for Test PCs:

Testing Environments

Resource Details

Server Configuration

Network IP Address / Domain Name

Server Name

Database Name

Test PC 1 Configuration

CPU

Memory

Network Type (DSL, LAN, etc)

Operating System

Browser

Test PC 2 Configuration

CPU

Memory

Network Type (DSL, LAN, etc)

Operating System

Browser

Where applicable in the above resources, enter the version number

(ex. Mozilla Firefox 3.0.6)

Page 29: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

29

Software Tools

List Software Tools available for the Testing Environments and for the types of Software Testing listed below, including the name and its vendor:

a. Test Management Tool b. Defect Tracking Tool c. Tool for Functional Testing d. Tool for Performance Testing e. Test Coverage Monitor

Grading Criteria: ST-M2.2

Fill in a table similar to Testing Environments above with the details of a Test Server and 2 Test PCs Configurations List a Software Tool available for each type of Software Testing above

Met Not Met Met Not Met

Page 30: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

30

Differences of Testing Environments

It is obvious that the system tested under different PC configurations behaves differently.

Describe these differences and under which configuration your system works best.

Grading Criteria: ST-D2.2

Describe the differences noted for the different testing environments and under which configuration your system works best

Met Not Met

Software Testing Standards and Quality Procedures

In relation to the project, describe

a. What results are to be achieved from testing your project b. Measure the success of testing using different software testing metrics c. What will determine that your project is finished d. Quality Assurance Procedures adopted such as code reviews, inspections, etc.

Grading Criteria: ST-D2.1

Give a detailed description of:

a. What results are to be achieved from testing your project

b. Use at least 3 different types of Software Testing Metrics

c. The completion criteria of your project

d. Three types of quality assurance procedures adopted

Met Not Met Met Not Met Met Not Met Met Not Met

Page 31: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

31

Section G: Software Testing part 2

Task 1: Testing

Section G Task 1 consists of designing and performing the tests identified in Section F Task 1

Task 1.1 – Test Execution

Section 1: Manual Black Box Testing – Functional Tests

Test Case Design

For this section you need to download Test Log software from:

http://www.testlog.com/download.htm

To achieve the minimum number of test cases:

a. Select a web page from your project and identify the maximum number of test cases that should be done for exhaustive testing of that particular page.

b. Work out the minimum number of test cases that cover all tests using Combinatorial Testing

Page 32: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

32

Using Test Log:

i. Create a new Project giving main information about the Testing Project (ex. Project Title, Test Manager and start and finish dates etc)

ii. Create 1 test case suite, for the minimum number of test cases in b)

iii. Document the test cases providing the following information:

a. Test Case Summary • Test Case ID • Test Case Name • Test Type

b. Test Case Description • Prerequisites and initial conditions • Test Instructions (what to test) • Expected Results

c. Test Case Execution Results • Actual Results • Status (Pass/Fail)

iv. Also create 1 test case suite for your COM+ object where you should test at least 5 methods from your COM+ object.

Page 33: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

33

Grading Criteria: ST-P3.1 & SDP-P3.2

Work out the number of exhaustive test cases for a particular web page

Work out the minimum number of Test Cases to be achieved for your Web Page using Combinatorial Testing Create 1 Web Page Test Case Suite in Test Log

Met Not Met Met Not Met Met Not Met

Grading Criteria: ST-P3.2 & VBE-P2.4

Execute the Test Cases of 1 Test Case Suite in Test Log Create and execute the Test Cases in a Test Case Suite for the COM+ object having at least 10 methods to be tested Record the status of the Test Cases of 1 Test Case Suite in Test Log and state whether each Test Case is a “Pass” or “Fail”

Met Not Met Met Not Met Met Not Met

Grading Criteria: ST-M3.1

Work out the number of exhaustive test cases for 2 particular web page

Work out the minimum number of Test Cases to be achieved for 2 Web Pages using Combinatorial Testing Create 2 Test Case Suites for Web Pages in Test Log & 1 Test Case Suite (with at least 15 methods to be tested) for COM+ Object

Met Not Met Met Not Met Met Not Met

Page 34: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

34

Section 2: Performance Tests

For this section you need to download Web Application Performance Tool (WAPT) from http://www.loadtestingtool.com/. Record the results of performance tests

a. Identify at least 3 Key Scenarios in your application (ex. Search for a product, Add

items to a shopping cart, place order, etc.)

b. Record browser actions as the scenario using Record/Playback tool of WAPT. Execute performance tests with the normal workload specified and increase load incrementally

c. For each scenario, observe and measure values of response time and resource usage (% CPU usage, % memory usage) for normal and increased workload. Document the results of performance tests.

Grading Criteria: ST-M3.1

Identify 3 Scenarios in your application Using WAPT, for each of the above scenario, record browser actions, increasing the workload incrementally For each scenario document the response times and other resources (statistics etc.) of performance tests

Met Not Met Met Not Met Met Not Met

Page 35: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

35

Task 1.2 – Test Evaluation

Section 3: Test Cases Modification

It is impossible to have an-error free program, so starting from Critical or Major Bugs, resolve problems found during testing in Test Cases and give a brief explanation of what has been modified.

Grading Criteria: ST-P3.3

Document at least 2 corrections done to the test cases due to errors found

Met Not Met

Grading Criteria: ST-P4.1

Give a brief explanation of each of the above mentioned modification to the test cases

Met Not Met

Section 4: Success of testing project

To measure the success of testing, there are a number of metrics that can be carried out from the following:

a. Requirements Coverage b. Number of critical and major bugs found during testing c. Planned test time / actual test time d. Number of test cases which found errors / number of test cases which did not find

errors e. Defects found during testing / defects found after testing

Grading Criteria: ST-P4.2

Choose 3 from the above metrics and apply them to your project to measure the success of your software testing project

Met Not Met

Page 36: Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment you will be asked to carry out the full software development life cycle. You will:

BTEC 2HND 2010

36

Section 5: Test Maintainability

Test Cases can be used in the future by other testers for maintenance action.

Comment on how the test cases can be maintained in the future taking into consideration the following factors:

i. Test Case Clarity ii. Test Case Complexity

Grading Criteria: ST-P4.3

In point form briefly comment on the clarity and complexity of the Test Cases you designed and implemented

Met Not Met