Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment...
Transcript of Software Development Project Building a Distributed ...€¦ · 2. Introduction. In this assignment...
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.
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);
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
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
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
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
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
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.
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
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
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.
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 )
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
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
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
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.
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
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
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.
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
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
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
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
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
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
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
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
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)
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
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
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
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.
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
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
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
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