Sei sulla pagina 1di 80

11/25/2018

Programing
in.NET
Unit 42
HND in Computing and System
Development

Ishara Dilrukshi Denawaka


25/11/2018
Page 0 of 79
Assignment Front Sheet–HND Division-CINEC Metro Campus

Learner name Edexcel No. CINEC Reg.No.

Ishara Dilrukshi Denawaka JJ17510


Date Issued Draft Submission date Completion date Submitted on

16 th September 2018 18 th November 2018

Qualification Unit Number and Title

HND in Computing and Systems Development Unit42–Programming in.NET

Set by Ms. Maduwanthi Kiriwandarage

Assessor name

Branch

In this assignment you will have opportunities to provide evidence against the following criteria. Indicate the page
numbers where the evidence can be found
Learner declaration

I certify that the work submitted or this assignment is my own and research sources are fully acknowledged.

Learner signature :Date:

Outcomes/Grade Descriptors Achieved (Please Tick)

Outcomes/Grade Descriptors P09.1 P09.2 P09.3 P09.4 P09.5

1.1 1.2 1.3 1.4 2.1 2.2 2.3 3.1 3.2 3.3 4.1 4.2 5.1 5.2

Achieved (PleaseTick
Outcomes/Grade M1 M2 M3 D1 D2 D3
Descriptors
Assessor Comment

Page 1 of 79
Signature: ……………………….
Date: .……………

Evidence/
Page No. (to be filled by the
Criteria reference To achieve the criteria the evidence must Task no. student)
show that the student is able to:
P42.1.1Discuss the principles, Describe the CLI, assemblies, security, Page 17 to Page 18
characteristics and features of class library and etc...
programming using a .NET Task 1.1
framework
P42.1.2Critically compare Differentiate the .net .NET framework Page 19 to Page 23
different types of .NET architectures
Task 1.2
framework architectures
P42.1.3Critically evaluate the Evaluate the components that support the Page 19 to Page 23
components that support the .NET .NET framework Task 1.3
framework
P42.2.1 Design a .NET programming Create the interface design, documentation Page 28 to Page 31
solution to a given problem and diagrams Task 1.4

P42.2.2 Explain the components and Design the database for the new solution Page 33
data and file structures required to according to the database design Task 2.1
implement a given design methodology

P42. 2.3 Evaluate the potential Create all the tables identified in the design Page 42 to Page 43
delivery environments and interactionphase by using the selected DBMS. Task 2.4

P42.3.1Implement the .NET Deliver a basic level .Net solution with the Page 45 to Page 49
programming solution based on a vb.net code and screen dumps for each Task 3.1
prepared design process.
P42.3.2Implement the event handling Implement the event handling using control Page 50 to Page 51
using control structures to meet the structures Task 3.2
design algorithms
P42.3.3Identify and implement Provide evidence (code with screen dumps) Page 52 to Page 54
opportunities for error handling and for error handling and reporting Task 3.3
reporting
P42.3.4Make effective use of an Provide codes and screen templates as an Page 33 to Page 43
Integrated Development Environmentevidence of your work Task 2 Page 45 to Page 53
(IDE) including codes and screen
templates Task 3
P42. 4.1Critically review and test a test a .NET programming solution Page 56 to Page 60
.NET programming solution Task 4.1 Page 61 to Page 62
Task 4.2
P42. 4.2Analyses actual test results Produce a test plan and the test cases for Page 63
against expected results to identify your system Task 4.3 Page 64
discrepancies Task 4.4
P42.4.3Evaluate independent Provide recommendations for Page 75 to Page 76
feedback on a developed .NET improvements of your solution Task 5.3
program solution and make
recommendations for improvements

P42.4.4Create user documentation Produce well prepared user documentation Page 66 to Page 72
for the developed .NET program for the all users
solution Task 5.1

Page 2 of 79
P42.4.5Create technical Provide the technical documentation with Page 72 to Page 74
documentation for the support and the installation notes and all system
maintenance of a .NET program requirements Task 5.2
solution.

Page 24 to 27

Page 33 to 43
Page 45 to 53

Page 66 to 76

Page 78 to 79

Page 16 to 79

Page 16 to 79

Assignment Title Southern Transport Management System

Page 3 of 79
The Scenario:

Southern Transport (Pvt.) Ltd is a company situated near the Central Bus stand, where so many bus trips are operated in a day. In this
company, all the operations of the buses and bus route management are done manually. Due to this, it has become a very difficult task
to the operators who handle hundreds of trips and buses daily.

In the currents system, an operator has to keep the physical records of the bus route in his office and separate records of the Schedule.
And there is no way to store the details of the employees’ working in the bus. So many complaints against staff can arise from the
passengers’ side. More over there is no detailed record of the bus and routes in which they service. These types of reasons has lead the
Southern Transport (Pvt.) Ltd company to face difficulties on maintaining records on time and applying security for those manual
records.

Among the limitations of the current system data insertion, retrieval, amendment as well as the deletion are quite tough. Other than
that the main point is that the possibility of data redundancy as well as the required updates to perform with several manual files.
These types of limitations may lead the current system as well as the entire system in to an inconsistency stage.

The Southern Transport (Pvt.) Ltd whishes to improve the way in which they define, record and maintain all data use in the company.
To achieve this target they have ask you to develop a full system to cover some set of processes.

And there are some requirements they wish to obtain from the proposed system, as follows. The system that you are asked to produce
should include a database with the following tables:

Table 1: Bus table to hold details about each and every bus including:
Bus Registration Number
Bus Number
Model
Capacity
Insurance Statutes
Etc...

Table 2: Employee table to hold details about each employee including:


Employee Number
Name
Gender
Date of Birth
Designation
Telephone Number
Etc.

Table 3: Route table to hold details about the entire route including:
Route Number
Route Name
Distance
Etc.

Table 4: Schedule table to hold details about the scheduled details including:
Schedule Number
Route Number
Route Name
Bus Registration Number
Employee Number
Driver Name
Scheduled date
Etc.

Page 4 of 79
Note: Your system must have ability to handle following operations also

I. It must enable a person to be register as Admin (Operator) and he can manage the bus routes, the staff, and schedule details.
II. Whenever the Admin wants to modify Bus details he must be able to update new values through this software.
III.A user must be able to add the route and if he wants he must be able to change it or delete that route.
IV. Employee details of any bus can add to the database and this is helpful to the bus operators in the case of the salary and rates
for the employee.
V. An operator can add the personal details and if we want to edit or delete he can done modification using this System.
VI. This is very helpful for the passenger also; if they have any complaint against staff he can approach the operator and easily
identify the employee.

(You may add any additional requirement for your system, the database and user interfaces, but cannot omit any table or
attribute and user interface mentioned in the above)

Aim

To implement the software system outlined above.

• Provide an effective and an efficient performance.


• The user view of the system will be a number of interactive windows forms implemented in visual basic.
It is critical that data validation and error handling is comprehensive.

Assume you are an individual to develop this system, which leads you to perform as a project manager, system analyst, programmer,
etc…

Task 01

1. What are the principals, features and characteristics available in the .NET framework for programming
2. |Critically discuss the different types of .NET framework architecture and describe the components that support the .NET
framework
3. Gather all the requirements for above scenario and analyze all the requirements
a. Describe the requirement gathering technique you used
b. Prioritize the all requirements using MOSCOW prioritize technique
c. Categorize them as functional requirements and non-functional requirements.
4. Design the interfaces using story board and design system including diagrams such as Use case diagrams, Class diagram,
Flow charts, Activity diagrams, State diagrams, Navigation structure and etc… This task provides evidence for
(P42.1.1,P42.1.2,P42.1.3,P42.2.1,M1)

Task 02

1. Design the conceptual database design for the new system using ERD diagram
2. Briefly explain the different types of DBMSs available in the software industry
3. Select one of the DBMS from the above and give reasons for your selection
4. Using the selected DBMS, create all the tables according to the design and test the database with the test data. (minimum 10
records per table)

This task provides evidence for (P42.2.2,P42.2.3, P42.2.1, P42.3.4)

Page 5 of 79
Task 03

1. Implement a .NET programming solution based on the prepared design.


2. Implement event handling using control structures to meet the design algorithms.
3. Identify and implement opportunities for error handling and reporting.

This task provides evidence for (P42.3.1,P42.3.2,P42.3.3, P42.3.4)

Task 04
1. Describe the different types of testing phases in a software life cycle
2. Describe how you follow above phases to test your System
3. Analyze actual test results against expected results to identify discrepancies
4. Produce evidence to prove all levels have been completed during the testing process

This task provides evidence for (P42.4.1, P42.4.2)

Task 05

1. Produce well prepared user documentation for the all users of the new system.
2. Provide the technical documentation with the installation notes and all system requirements.
3. Discuss the future improvements of your system

This task provides evidence for (P42.4.3, P42.4.4, P42.4.5)

Task 06

1. Write down the critical analysis and evaluate your works according to the software development life cycle which had been
followed by you for develop your system

This task provides evidence for (D1)

Deliverables

1. The report should be produced in a professional format with all the necessary attributes.

2. The documentation must be well produced with all the answers from Task1 toTask5.

3. Produce a publishable working copy a compiled version of the completed assignment together with software installation notes,
recommendations and future improvements. The installation note should include the system requirements.

4. Your portfolio should have contents page with suitable subsections, page number, tables and figure referencing

Page 6 of 79
Sources of information: Books

Esposito D – Programming Microsoft ASP.NET MVC (Microsoft, 2010) ISBN-10: 0735627142


Libert J, Horovitz A – Programming .NET 3.5 (O’Reilly, 2008) ISBN-10: 059652756X

Lowy J – Programming .NET Components: Design and Build .NET Applications Using Component-
Oriented Programming (O’Reilly, 2005) ISBN-10: 0596102070

This brief has been verified as being fit for purpose

Assessor

Signature Date
Internal Verifier

Signature Date

Page 7 of 79
Assignment Feedback
Formative Feedback: Assessor to Student

Action Plan

Summative feedback

Feedback: Student to Assessor

Assessor Signature Date

Student Signature Date

Page 8 of 79
Acknowledgement
When I’m doing my assignment, I thank you very much to everyone that
has helped me in this project. First, I thank you kind Ms.Maduwanthi to My Course Lecturer at
CINEC Campus who helped me big for this.

I would also like to my deepest thankfulness to all those who have directly
and indirectly support to me for this Assignment and our classmates and itself gave me a real
support to me for finish this assignment very successfully.

Page 9 of 79
Contents

Acknowledgement............................................................................................................................................................ 9
Contents ......................................................................................................................................................................... 10
List of Figures ................................................................................................................................................................ 12
List of Tables ................................................................................................................................................................. 15
Task 01 ........................................................................................................................................................................... 16
Task 1.1 ...................................................................................................................................................................... 17
Task 1.2 ...................................................................................................................................................................... 19
Task 1.3 ...................................................................................................................................................................... 24
a) Describe the requirement gathering technique you used. ............................................................................. 24
b) Prioritize the all requirements using MOSCOW prioritize technique ......................................................... 25
c) Categorize them as functional requirements and non-functional requirements. ......................................... 27
Task 1.4 ...................................................................................................................................................................... 28
1.4.1. Story Board ................................................................................................................................................... 28
1.4.2. Navigation Structure - .................................................................................................................................. 31
1.4.3.Class Diagram ............................................................................................................................................... 31
Task 02 ........................................................................................................................................................................... 32
Task 2.1 ...................................................................................................................................................................... 33
Task 2.2 ...................................................................................................................................................................... 34
Task 2.3 ...................................................................................................................................................................... 41
Task 2.4 ...................................................................................................................................................................... 42
Task 03 ........................................................................................................................................................................... 44
Task 3.1 ...................................................................................................................................................................... 45
Task 3.2 ...................................................................................................................................................................... 50
Task 3.3 ...................................................................................................................................................................... 52
Task 04 ........................................................................................................................................................................... 55
Task 4.1 ...................................................................................................................................................................... 56
Task 4.2 ...................................................................................................................................................................... 61
Task 4.3 ...................................................................................................................................................................... 63
Task 4.4 ...................................................................................................................................................................... 64
Task 05 ........................................................................................................................................................................... 65
Task 5.1 ...................................................................................................................................................................... 66
Task 5.2 ...................................................................................................................................................................... 73
Task 5.3 ...................................................................................................................................................................... 75

Page 10 of 79
Task 06 ........................................................................................................................................................................... 77
Task 6.1 ...................................................................................................................................................................... 78
References ...................................................................................................................................................................... 79

Page 11 of 79
List of Figures
1. Figure 01: .NET framework
https://www.google.com/search?q=.NET+framework&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjo0b
fFk4fhAhWXfX0KHYeSCRcQ_AUIDygC#imgrc=y9M7xn2XhqgKKM:

2. Figure 02: Managed code execution process


https://www.google.com/search?q=:+Managed+code+execution+process&source=lnms&tbm=isch&sa=X&v
ed=0ahUKEwimgt3ck4fhAhVGXSsKHe_uDqUQ_AUIDygC&biw=1366&bih=625#imgrc=zHR5eqqD5Ej6x
M:

3. Figure 03: Unmanaged code execution process


https://www.google.com/search?q=Unmanaged+code+execution+process&source=lnms&tbm=isch&sa=X&
ved=0ahUKEwiW0KPwk4fhAhXYfisKHYI0BdMQ_AUIDygC&biw=1366&bih=625#imgrc=zHR5eqqD5Ej
6xM:

4. Figure 04: System runtime


https://www.google.com/search?q=System+runtime&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjnkJS
JlIfhAhUEp48KHX7WB1EQ_AUIDigB&biw=1366&bih=625#imgrc=zgAyMFZktCwfeM:

5. Figure 05: Login Screen

6. Figure 06: Main menu

7. Figure 07: Bus Information

8. Figure 08: Route Information

9. Figure 09: Employee Information

10. Figure 10: Schedule Information

11. Figure 11: Navigation Structure for Southern Transport System

12. Figure 12: Class Diagram

13. Figure 13: ER Diagram

14. Figure 14: Microsoft SQL


Serverhttps://www.google.com/search?q=:+Microsoft+SQL+Server&source=lnms&tbm=isch&sa=X&ved=
0ahUKEwjAkdHflofhAhUE7XMBHe54CTIQ_AUIDigB&biw=1366&bih=625#imgrc=SwmU2KYGKhlSz
M:

15. Figure 15: SQL Works


https://www.google.com/search?q=SQL+Works&source=lnms&tbm=isch&sa=X&ved=0ahUKEwju0oWhy
YnhAhUT6nMBHeFZDUwQ_AUIDigB&biw=1366&bih=625#imgrc=PWz2T1SSBjeYhM:

16. Figure 16: MySQL


https://www.google.com/search?q=MySQL&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjj3sLkyYnhAh
Ub4XMBHb65AAEQ_AUIDigB&biw=1366&bih=625#imgrc=KXyNsqbejlqNSM:

17. Figure 17: Microsoft Access


https://www.google.com/search?q=microsoft+access&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiHw_
P6yYnhAhXj6XMBHeOfB5MQ_AUIDigB&biw=1366&bih=625#imgrc=VYy8AzFfKfTwJM:

Page 12 of 79
18. Figure 18: Bus table

19. Figure 19: Employee table

20. Figure 20: Route table

21. Figure 21: Schedule table

22. Figure 22: Interface of Visual Studio

23. Figure 23: Toolbar

24. Figure 24: Editor Area

25. Figure 25: Toolbox

26. Figure 26: User Login

27. Figure 27: Main menu Interface

28. Figure 28: Employee Login Interface

29. Figure 29: Bus Login Interface

30. Figure 30: Route Login Interface

31. Figure 31: Schedule Login Interface

32. Figure 32: Algorithm for Save the Bus Information.

33. Figure 33: Algorithm for Save the Employee Information

34. Figure 34: Algorithm for Save the Route Information

35. Figure 35: Algorithm for Save the Route Information

36. Figure 36: Invalid User Name & Password

37. Figure 37: Same Registration Numbers Entered.

38. Figure 38: Empty Field

39. Figure 39: Distance format is incorrect

40. Figure 40: Software Testing Life Cycle


https://www.google.com/search?q=Software+Testing+Life+Cycle&source=lnms&tbm=isch&sa=X&ved=0a
hUKEwi1yaGc0InhAhWBbisKHQz6BMsQ_AUIDigB&biw=1366&bih=625#imgrc=k5wojSEtXb7GgM:

41. Figure 41: Login Screen

42. Figure 42: Enter Incorrect User Name & Password

43. Figure 43: Enter correct User Name & Password

44. Figure 44: Display Main Menu

45. Figure 45: Employee Information

Page 13 of 79
46. Figure 46: Bus Information

47. Figure 47: Route Information

48. Figure 48: Schedule Information

49. Figure 49: Add Bus Information

50. Figure 50: Save Bus Information

51. Figure 51: Add Bus Information

52. Figure 52: Edit Bus Information

53. Figure 53: Delete Bus Information

54. Figure 54: Delete Bus Information

55. Figure 55: Login Screen

Page 14 of 79
List of Tables
1. Table 01: Characteristics of DBMS

2. Table 02: Requirement Analysis

3. Table 03: Test Planning

4. Table 04: Test Case Development

5. Table 05: Test Environment Setup

6. Table 06: Test Execution

7. Table 07: Test Cycle Closure

8. Table 08: Testing Method

9. Table 09: Test Results

10. Table 10: Testing process 1

11. Table 11: Testing process 2

Page 15 of 79
Task
01

Page 16 of 79
Task 1.1
What are the principles, features and characteristics available in the .NET framework for
programming?

The Microsoft .NET Framework is a software framework that can be installed on


computers running Microsoft Windows operating systems. It includes a large transport system of coded
solutions to common programming problems and a virtual machine that manages the execution of
programs written specifically for the framework. The .NET Framework is a Microsoft offering and is
intended to be used by most new applications created for the Windows platform.

The framework's Base Class Transport System provides a large range of features
including user interface, data and data access, database connectivity, cryptography, web application
development, numeric algorithms, and network communications. The Transport System is used by
programmers, who combine it with their own code to produce applications.

Programs written for the .NET Framework execute in a software environment that
manages the program's runtime requirements. Also part of the .NET Framework, this runtime environment
is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application
virtual machine so that programmers need not consider the capabilities of the specific CPU that will
execute the program. The CLR also provides other important services such as security, memory
management, and exception handling. The class library and the CLR together constitute the .NET
Framework.

Presented below is the summary of Microsoft .NET framework principal design feature.

 Interoperability
Because interaction between new and older applications is commonly required, the
.NET Framework provides means to access functionality that is implemented in programs that execute
outside the .NET environment. Access to M components is provided in the System. Runtime. Interop
Services and System. Enterprise Services namespaces of the framework; access to other functionality is
provided using the P/Invoke feature.

 Common Runtime Engine


The Common Language Runtime (CLR) is the virtual machine component of the
.NET framework. All .NET programs execute under the supervision of the CLR, guaranteeing certain
properties and behaviors’ in the areas of memory management, security, and exception handling.

Page 17 of 79
 Language Independence
The .NET Framework introduces a Common Type System, or CTS. The CTS
specification defines all possible data types and programming constructs supported by the CLR and how
they may or may not interact with each other. Because of this feature, the .NET Framework supports the
exchange of instances of types between programs written in any of the .NET languages. This is discussed
in more detail in Microsoft .NET Languages.

 Simplified Deployment
The .NET framework includes design features and tools that help manage the
installation of computer software to ensure that it does not interfere with previously installed software, and
that it conforms to security requirements.

 Security
The design is meant to address some of the vulnerabilities, such as buffer overflows,
that have been exploited by malicious software. Additionally, .NET provides a common security model for
all applications.

 Portability
The design of the .NET Framework allows it to theoretically be platform agnostic,
and thus cross-platform compatible. That is, a program written to use the framework should run without
change on any type of system for which the framework is implemented. Microsoft's commercial
implementations of the framework cover Windows, Windows CE, and the Xbox 360.

In addition, Microsoft submits the specifications for the Common Language


Infrastructure (which includes the core class libraries, Common Type System, and the Common
Intermediate Language), the C# language, and the C++/CLI language to both ECMA and the ISO, making
them available as open standards. This makes it possible for third parties to create compatible
implementations of the framework and its languages on other platforms.

Page 18 of 79
Task 1.2
Critically discuss the different types of .NET framework architecture and describe the components
that support the .NET framework.

.NET framework is tiered, modular, and hierarchal. Each tier of the .NET Framework is
a layer of abstraction. .NET languages are the top tier and the most abstracted level. The common language
runtime is the bottom tier, the least abstracted, and closest to the native environment. This is important since the
common language runtime works closely with the operating environment to manage .NET applications. The
.NET Framework is partitioned into modules, each with its own distinct responsibility. Finally, since higher tiers
request services only from the lower tiers, .NET is hierarchal.

Figure 01: .NET framework

NET languages share a common runtime like the common language runtime and a
common class transport system, the Framework Class Transport System, a common component model, and
common types. NET Framework as it relates to a managed environment, language interoperability, and
abstraction of lower level services. NET abstracts lower level services, while retaining most of their flexibility.
The common language runtime monitors the execution of. NET Framework is a managed environment. NET, the
programming language is a lifestyle choice. It manages memory, handles exceptions, ensures that applications
are well behaved, and much more. Language interoperability is one goal of. NET applications.

Page 19 of 79

 Managed languages and Common Language Specification

.NET, execute under the management of a common runtime, called the common language
runtime. This program code is directly executed by CLR with help of managed code execution. .NET supports
managed and unmanaged programming languages. There are several differences between a compiled managed
application and an unmanaged application. Applications created from managed languages, such as C# and VB.
NET framework, is known as managed application. NET Framework is managed application. The program, which
is developed in. Any language that is written in.

Figure 02: Managed code execution process

Managed code uses CLR which in turns looks after the applications by managing memory,
handling security, allowing cross language debugging, and soon.

Page 20 of 79
The program, which is developed outside .NET Framework is known as unmanaged
application. Applications that do not run under the control of the CLR are said to be unmanaged, and certain
languages such as C++ can be used to write such applications, which, for example, access low level functions of
the operating system. Background compatibility with code of VB, ASP and COM are examples of unmanaged
application.

Figure 03: Unmanaged code execution process

COM callable wrapper unmanaged code Managed applications compile to Microsoft


Intermediate Language (MSIL) and metadata. Managed applications are sweeping away the registry, Interface
Definition Language (IDL) files, and type transport systems with a single concept called metadata. Unmanaged
program can be unmanaged source code and unmanaged compile code. In a managed application, also called an
assembly, metadata formally defines the types employed by the program. MSIL is a low level language that all
managed languages compile to instead of native binary. Since all managed languages ultimately become MSIL,
there is a high degree of language interoperability in. Wrapper classes are of two types, CCW (COM callable
wrapper) and RCW (Runtime Callable Wrapper. Unmanaged code is executed with help of wrapper classes.
Managed applications have limited exposure to the unmanaged environment. Metadata is data that describes
data.

Page 21 of 79
 Assemblies

When we compile an application, the MSIL code created is stored in an assembly. Assemblies
include both executable application files that we can run directly from Windows without the need for any other
programs because these have an .exe file extension, and transport systems which have a .DLL extension for use
by other applications.

In addition to containing MSIL, assemblies also include Meta information that is, information
about the information contained in the assembly, also known as metadata and optional resources like additional
data used by the MSIL, such as sound files and pictures.

The Meta information enables assemblies to be fully self-descriptive. We don’t need other
information to use an assembly, its meaning we avoid situations such as failing to add required data to the system
registry and so on, which was often a problem when developing with other platforms. This means that deploying
applications is often as simple as copying the files into a directory on a remote computer. Because no additional
information is required on the target systems, we can just run an executable file from this directory and assuming
the .NET CLR is installed.

 Just in Time (JIT)

Just in Time compiler, which compiles MSIL into native code that is specific to the OS and
machine architecture being targeted. Only at this point can the OS execute the application. The just in time part of
the name reflects the fact that MSIL code is only compiled as, and when, it is needed. In the past, it was often
necessary to compile the code into several applications, each of which targeted a specific operating system and
CPU architecture. Often, this was a form of optimization.

This is now unnecessary, because JIT compilers use MSIL code, which is independent of the
machine, operating system, and CPU. Several JIT compilers exist, each targeting a different architecture, and the
appropriate one will be used to create the native code required.

 Garbage Collection (GC)

.NET method of making sure that the memory used by an application is freed up completely
when the application is no longer in use. NET this was mostly the responsibility of programmers, and a few
simple errors in code could result in large blocks of memory mysteriously disappearing as a result of being
allocated to the wrong place in memory. It might happen thousands of times a second, once every few seconds,
or whenever, but we can rest assured that it will happen. NET garbage collection works by inspecting the
memory of the computer every so often and removing anything.

Page 22 of 79
Sample processing in terms of VB code which is written in the .NET framework

1. Application code is written using a .NET - compatible language VB.

VB code

2. Code is compiled into MSIL, which is stored in an assembly.

Assembly
VB code Compilation

3. When this code is executed (either in its own right if it is an executable or when it is used from other
code), it must first be compiled into native code using a JIT compiler.

VB code Compilation Native code

4. The native code is executed in the context of the managed CLR, along with any other running
applications or processes.

Figure 04: System runtime

Page 23 of 79
Task 1.3
Gather all the requirements for above scenario and analyze all the requirements.
a) Describe the requirement gathering technique you used.

Most of the time, it becomes necessary for requirement analyst to use multiple techniques to
gather complete and correct requirements from clients and stakeholders. Here are some of requirements
gathering techniques which are I used. There are many techniques available for gathering the requirements. Each
technique has value in certain scenario.


 Interviews

Interview is the most commonly used and valuable technique. In this technique I went to a
Southern Transport (Pvt) Ltd company and I met the operator to get an appointment to contact an interview with
him. During the interview I asks certain questions from operator, staff and member, regarding their requirements
if they want a transport management system. I ensure that interviews cover diverse cross section of different
stakeholders. It’s always beneficial to start with unstructured interviews to gain an understanding of the current
work environment; I ask employees about their jobs and the problems. Then I compare with another Transport
system scenario to create and develop a well perform system.

 Prototyping

Prototyping help to me understand the system and further requirements and I need to
repeat the process until the application meets the major requirements. Since I have not clear understanding
about user requirements in the scenario, in this case several different prototypes are constructed with
available requirement sets.

Southern Transport (Pvt.) Ltd is a company situated near the Central Bus stand, where so
many bus trips are operated in a day. In this company, all the operations of the buses and bus route management
are done manually. Due to this, it has become a very difficult task to the operators who handle hundreds of trips
and buses daily.

Behalf the waterfall model I gather following requirements and I categorize requirements
functional requirement, Non-functional requirement and Hardware and software requirement. The first step in
designing a successful System is to gather information. This is an extremely important step since it requires a
solid understanding of the company, its goals, target audience and requirements of the client.

The management expects the new system to represent all Register All Bus, Route, and
Employee. In addition, the user to be enabled to provide Schedule by filling a detailed form.

Functional requirements and Non-functional requirements

• The current system all the operations of the buses and bus route management are done manually.

• There have very difficult task to the operators who handle hundreds of trips and buses daily.

• The operator has to keep the physical records of the bus route in his office and separate records of
the Schedule.

Page 24 of 79
b) Prioritize the all requirements using MOSCOW prioritize technique

 MoSCoW Prioritization

In an Atern project where time has been fixed, understanding the relative importance of
things is vital to making progress and keeping to deadlines. Prioritization can be applied to requirements, tasks,
products, use cases, user stories, acceptance criteria and tests. MoSCoW is a technique for helping to understand
priorities.

The letters stand for:


1. Must Have
2. Should Have
3. Could Have
4. Won’t Have this time

The reason we use MoSCoW in Atern is that the problem with simply saying that
requirements are of High, Medium or Low importance is that the definitions of these priorities are missing.
Using MoSCoW means that priorities are specific. The specific use of Must, Should, Could or Won’t Have
implies the result of failing to deliver that requirement.

 The MoSCoW Rules

These are some possible definitions of what the different priorities mean. It is important to
agree the definitions with the users. Preferably this is agreed before the requirements are captured - i.e. before it

becomes emotive.

The MOSCOW technique is used for prioritizing the above requirements in a


collaborative fashion. According to this techniques the system,

Must Have:

These provide the Minimum Usable Subset (MUS) of requirements which the project
guarantees to deliver.

This may be defined using some of the following:

 Cannot deliver on target date without this


 No point in delivering on target date without this; if it were not delivered, there would be no point
deploying the solution on the intended date
 Not legal without it
 Unsafe without it
  Cannot deliver the Business Case without it

Page 25 of 79
Should Have:

 Important but not vital


 May be painful to leave out, but the solution is still viable
 May need some kind of workaround, e.g. management of expectations, some inefficiency, an existing
solution, paperwork, etc.

A Should Have may be differentiated from a Could Have by reviewing the degree of pain
caused by it not being met, in terms of business value or numbers of people affected.

Could Have:

 Wanted or desirable but less important


 Less impact if left out (compared with a Should Have)

Page 26 of 79
c) Categorize them as functional requirements and non-functional requirements.

 Functional Requirement & Non-Functional Requirements

 Functional Requirements

1. Register (Employee, Bus & Route)


The modules are operated on by the operational level user. The modules receive input from
the Bus, Route, and Employee, which includes their details. System will record these details & generate a Reg
Numbers and list of Employees, Route & Bus available in Southern Management Pvt Ltd. These modules enable
the user to Add, update and delete the information.

2. Schedule
This module is managing, by the User build-up the Schedule for all Bus, Employee and
Route of the Southern Management Pvt Ltd. The process receives input from the Register database and the
process prepares schedule information. The output of the process is the schedule report for the booked.

 Non-Functional Requirements

1. Reliability - The reliability of the proposed system will be high due to the above stated reasons.
The reason for the increased reliability of the system is that now there would be proper storage of
information

2. Usability - Southern Transport Management System provide mouse and keyboard navigation & easy to
navigate by using clear words, menus & radio buttons. This system attends with a user manual.

3. Accuracy - The level of accuracy in the proposed system will be higher. All operation would be done
correctly and it ensures that whatever information is coming from the center accuracy.

4. Performance - The capability of the computer depends on the performance of the software. The software
can take any number of input provided the database size is large enough. This would depend on the
available memory space.

5. Speed - The proposed system is very fast with 100% accuracy and saves time.

6. Supportability - Application should be supportable in current equipment such as Computers, monitors,


printers etc

7. Manpower - The new proposed system needs less manpower. Less people can do the large work.

8. Efficiency - The new proposed systems complete the work of many people in less time.

9. Reduces redundancy - The most important benefit of this system is that it reduces the redundancy of
data within the data.

10. Work load - Reduces the work load of the data store by helping in easy updates of the products and
providing them with the necessary details together with management.

Page 27 of 79
Task 1.4
Design the interfaces using story board and design system including diagrams such as use case
diagram, flow charts, activity diagram, state diagram, navigation structure and etc…
1.4.1. Story Board – Southern Transport PVT Ltd.

Login Screen

Label: User Name Text box

Label: Password Text box


Picture Box

Button: OK Button: Cancel

Figure 05: Login Screen


Main Menu

Southern Transport Management System

Button: Bus Information

Button: Route Information

Button: Employee Information

Button: Schedule Information

Figure 06: Main menu

Page 28 of 79
Bus Information

Label: Bus Reg No. Text box

Label: Bus Reg No. Text box

Label: Bus Reg No. Text box Grid View

Label: Bus Reg No. Text box


Button: OK

Label: Bus Reg No. Text box

Button: Add Button: Save Button: Previous Button: Next

Button: Delete Button: Edit

Figure 07: Bus Information

Route Information

Label: Route No Text box

Label: Route Text box


Grid View

Label: Distance Text box

Button: Add Button: Save Button: Previous Button: Next

Button: Delete Button: Edit

Figure 08: Route Information

Page 29 of 79
Employee Information

Label: Employee No Text box


Button: OK
L

Label: Employee Name Text box

Label: Gender Text box Grid View

Label: Date of Birth Text box

Label: Designation Text box

Label: Telephone Text box

Button: Add Button: Save Button: Previous Button: Next

Button: Delete Button: Edit

Figure 09: Employee Information


Schedule Information
L
Label: Schedule No Button: OK
Text box

Label: Route No Text box

Label: Bus Reg. No Text box


Grid View

Label: Employee No Text box

Label: Route Name Text box

Label: Driver Name Text box

Label: Schedule Date Text box

Button: Add Button: Save Button: Previous Button: Next

Button: Delete Button: Edit

Figure 10: Schedule Information Page 30 of 79


1.4.2. Navigation Structure - Southern Transport (PVT) Ltd

Login

Main menu

Bus Route Employee Schedule


Information Information Information Information

Figure 11: Navigation Structure for Southern Transport System

1.4.3. Class Diagram

Bus Registration Number (PK) Employee Number (PK)


Bus Number Name
Model Gender
Capacity Date of Birth
Insurance Statues Designation
Telephone Number

Route Number (PK) Schedule Number (PK)


Route Number
Route Name
Route Name
Distance
Bus Registration Number
Employee Number
Driver Name
Schedule date

Figure 12: Class Diagram

Page 31 of 79
Task
02

Page 32 of 79
Task 2.1
Design The Conceptual Database Design for The New System using ERD Diagram

 Entity Relationship Diagram (ER Diagram)

ER Diagram is a visual representation of data that describes how data is related to each
other. In ER Model, we disintegrate data into entities, attributes and setup relationships between entities, all this
can be represented visually using the ER diagram.

ER Diagram – Southern Transport Pvt Ltd.

Registration No Tel_No DOB Emp_No


Bus_No
Model
Emp_Name

Capacity Bus Employee


Designation

Insurance_Status Gender

Shedule_No

Route_No

Schedule Route_Name
Distance Route
Bus_No

Schedule_Date
Route_No Route_Name Emp_No
Driver_Name
Figure 13: ER Diagram

Page 33 of 79
Task 2.2
Briefly explain the different types of DBMSs available in the software industry.

A Database is a collection of records. Database management systems are designed as the


means of managing all the records. Database Management is a software system that uses a standard method and
running queries with some of them designed for the oversight and proper control of databases.

Types of Database Management Systems

There are four structural types of database management systems:

1) Hierarchical databases.
2) Network databases.
3) Relational databases.
4) Object-oriented databases

1) Hierarchical Databases (DBMS)

In the Hierarchical Database Model we have to learn about the databases. It is very fast and
simple. In a hierarchical database, records contain information about these groups of parent/child relationships,
just like as a tree structure. The structure implies that a record can have also repeating information. In this
structure Data follows a series of records, it is a set of field values attached to it. It collects all records together as
a record type. These record types are the equivalent of tables in the relational model, and with the individual
records being the equivalent of rows. To create links between these record types, the hierarchical model uses
these type Relationships.

 Advantage

Hierarchical database can be accessed and updated rapidly because in this model structure is like as
a tree and the relationships between records are defined in advance. This feature is a two-edged.

 Disadvantage

This type of database structure is that each child in the tree may have only one parent, and
relationships or linkages between children are not permitted, even if they make sense from a logical standpoint.
Hierarchical databases are so in their design. it can adding a new field or record requires that the entire database
be redefined.

2) Network Database

A network databases are mainly used on a large digital computers. It more connections can
be made between different types of data, network databases are considered more efficiency It contains
limitations must be considered when we have to use this kind of database. It is Similar to the hierarchical
databases, network databases .Network databases are similar to hierarchical databases by also having a
hierarchical structure. A network database looks more like a cobweb or interconnected network of records.

In network databases, children are called members and parents are called occupier. The
difference between each child or member can have more than one parent.

Page 34 of 79
The Approval of the network data model similar with the esteem of the hierarchical data
model. Some data were more naturally modeled with more than one parent per child. The network model
authorized the modeling of many-to-many relationships in data.

The network model is very similar to the hierarchical model really. Actually the hierarchical
model is a subset of the network model. However, instead of using a single-parent tree hierarchy, the network
model uses set theory to provide a tree-like hierarchy with the exception that child tables were allowed to have
more than one parent. It supports many-to-many relationships.

3) Relational Databases

In relational databases, the relationship between data files is relational. Hierarchical and
network databases require the user to pass a hierarchy in order to access needed data. These databases connect to
the data in different files by using common data numbers or a key field. Data in relational databases is stored in
different access control tables, each having a key field that mainly identifies each row. In the relational databases
are more reliable than either the hierarchical or network database structures. In relational databases, tables or
files filled up with data are called relations (tuples) designates a row or record, and columns are referred to as
attributes or fields.

Relational databases work on each table has a key field that uniquely indicates each row, and
that these key fields can be used to connect one table of data to another.

The relational database has two major reasons

1. Relational databases can be used with little or no training.

2. Database entries can be modified without specify the entire body.

Properties of Relational Tables

In the relational database we have to follow some properties which are given below.
  It's Values are Atomic 
  In Each Row is alone.
  Column Values are of the same thing. 
  Columns is undistinguished.
 Sequence of Rows is Insignificant. 

 Each Column has a common Name.

Page 35 of 79
4) Object-Oriented Model

In this Model we have to discuss the functionality of the object oriented Programming.
It takes more than storage of programming language objects. Object DBMS's increase the semantics of the C++
and Java .It provides full-featured database programming capability, while containing native language
compatibility. It adds the database functionality to object programming languages. This approach is the
analogical of the application and database development into a constant data model and language environment.
Applications require less code, use more natural data modeling, and code bases are easier to maintain. Object
developers can write complete database applications with a decent amount of additional effort.

The object-oriented database derivation is the integrity of object-oriented programming


language systems and consistent systems. The power of the object-oriented databases comes from the cyclical
treatment of both consistent data, as found in databases, and transient data, as found in executing programs.

Object-oriented databases use small, recyclable separated of software called objects. The
objects themselves are stored in the object-oriented database. Each object contains of two elements:

Piece of data (e.g., sound, video, text, or graphics).


Instructions, or software programs called methods, for what to do with the data.
Disadvantage of Object-oriented databases
Object-oriented databases have these disadvantages.
Object-oriented database are more expensive to develop.

In the Most organizations are unwilling to abandon and convert from those databases. They
have already invested money in developing and implementing.

The benefits to object-oriented databases are compelling. The ability to mix and match
reusable objects provides incredible multimedia capability.

 Characteristics

Traditionally, data was organized in file formats. DBMS was a new concept then, and all the
research was done to make it overcome the deficiencies in traditional style of data management. A modern
DBMS has the following characteristics:

Relation based DBMS allows entities and relations among them to form tables. A user can
tables understand the architecture of a database just by looking at the table names.
Isolation of data A database system is entirely different than its data. A database is an active entity,
and whereas data is said to be passive, on which the database works and organizes.
application DBMS also stores metadata, which is data about data, to ease its own process.
Less redundancy DBMS follows the rules of normalization, which splits a relation when any of its
attributes is having redundancy in values. Normalization is a mathematically rich
and scientific process that reduces data redundancy.
Consistency Consistency is a state where every relation in a database remains consistent. There
exist methods and techniques, which can detect attempt of leaving database in
inconsistent state. A DBMS can provide greater consistency as compared to
earlier forms of data storing applications like file-processing systems.
Query DBMS is equipped with query language, which makes it more efficient to retrieve
Language and manipulate data. A user can apply as many and as different filtering options as
Page 36 of 79
required to retrieve a set of data. Traditionally it was not possible where file-
processing system was used.
Table 01: Characteristics of DBMS

 SQL

SQL is a computer technology product to organize, manage and retrieve data stored by a
database. The name SQL comes as an abbreviation for “Structured Query Language”. Originally termed as
Sequel, the technology was later renamed to SQL on disclosure that the term Sequel was the copyrighted
trademark of a leading aircraft company. However, it’s still pronounced as Sequel significantly due to its
historical importance.

Figure 14: Microsoft SQL Server

 SQL Works

The client system in the figure has a database that stores essential information. If business
environment, the database might store production, sales, payroll or inventory data. On a personal computer
system, the database might store personal data, lists of people and their contact information, or data derived from
a bigger computer system.

Figure 15: SQL Works

Page 37 of 79
The database is controlled by a computer program dubbed a database management system
(DBMS), which is a relational database management system (RDBMS) in case of the SQL.

When data is to be retrieved from a computer database, the SQL language is used to transfer the
request, which is then processed by the DBMS to invoke the requested data, and return it. This process of
requesting data from a database and receiving results is termed as a database query - hence the name “Structured
Query Language”.

SQL Benefits and Features

SQL is both a comprehensive utility and an easy-to-understand language for computer database
management.

Here’s a list of the market forces and major features that have made SQL immensely successful:

• Vendor independence
• Portability across computeer systems,
• SQL standards
• IBM endorsement (DB2)
• Microsoft Commitment
• Relational foundation
• High-level, English-like structure
• Interactive, ad hoc queries
• Programmatic database access
• Multiple views of data
• Complete database language
• Dynamic database definition
• Client/server architecture
• Extensibility and object technology
• Internet database access
• Java integration (JDBC)

Page 38 of 79
 MySQL
MySQL is a fast, easy-to-use RDBMS being used for many small and big businesses. MySQL is
developed, marketed and supported by MySQL AB, which is a Swedish company.

Figure 16: MySQL


MySQL is becoming so popular because of many good reasons:

 MySQL is released under an open-source license. So you have nothing to pay to use it.

 MySQL is a very powerful program in its own right. It handles a large subset of the functionality of the
most expensive and powerful database packages.

 MySQL uses a standard form of the well-known SQL data language.

 MySQL works on many operating systems and with many languages including PHP, PERL, C, C++,
JAVA, etc.

 MySQL works very quickly and works well even with large data sets.

 MySQL is very friendly to PHP, the most appreciated language for web development.

 MySQL supports large databases, up to 50 million rows or more in a table. The default file size limit for
a table is 4GB, but you can increase this (if your operating system can handle it) to a theoretical limit of 8
million terabytes (TB).

 MySQL is customizable. The open-source GPL license allows programmers to modify the MySQL
software to fit their own specific environments.

Page 39 of 79
 MS Access
Microsoft Access is a part of the Microsoft Office Suite. It does not come with all versions of
Microsoft Office

Figure 17: Microsoft Access


Microsoft Access has the look and feel of other Microsoft Office products, including its
layout and navigational aspects. That is where the similarity ends. Microsoft Access is a database and, more
specifically, a relational database.

Features of Microsoft Access

 It allows us to create the framework (forms, tables and so on) for storing information in a database.

 Microsoft Access allows opening the table and scrolling through the records contained within it.

 Microsoft Access forms provide a quick and easy way to modify and insert records into your databases

 . Microsoft Access has capabilities to answer more complex requests or queries.

 Access queries provide the capability to combine data from multiple tables and place specific conditions
on the data retrieved.

 Access provides a user-friendly forms interface that allows users to enter information in a graphical form
and have that information transparently passed to the database

Page 40 of 79
Task 2.3
Select one of the DBMS from the above and given reasons for your selection.

 Selected Database Management System – Microsoft Access

Why Choose Microsoft Access

 Microsoft Access, the most widely used desktop database system in the world, is available with the
Microsoft Office Professional suite of business products, so no additional database software is required if
your company purchases computers with this suite of products already installed. Also, Microsoft Access
integrates well with the other members of the Microsoft Office suite of products, such as Excel, Outlook,
and Word).

 Access is significantly cheaper to implement and maintain compared to larger database systems such as
Oracle or SQL Server. In addition, Access can provide a cost benefit since consulting rates are typically
lower for Access consultants compared to Oracle or SQL Server consultants.

 When designed correctly, Access databases can be ported (usually with some difficulty) to SQL Server
or Oracle. This is important if you want to start small or develop a pilot database system and then migrate
to the larger database management systems.

 A Microsoft Access system can be placed on a website for access for remote users. The ability to have
the application and data in one file makes it extremely convenient to distribute the entire application to
various users who can run the application in disconnected environments.

Page 41 of 79
Task 2.4
Using the selected DBMS, create all the tables according to the design and test the database with the
test data.

1. Bus Table

Figure 18: Bus table

2. Employee Table

Figure 19: Employee table

Page 42 of 79
3. Route Table

Figure 20: Route table

4. Schedule Table

Figure 21: Schedule table

Page 43 of 79
Task
03

Page 44 of 79
Task 3.1
Implement a .NET programming solution based on the prepared design.

 Interface of Visual Studio

Figure 22: Interface of Visual Studio

 Create new projects

The easiest way to create a new project is to start from a project template for a particular type
of application or website. A project template consists of a basic set of pre-generated code files, config files,
assets, and settings.

These templates are what you see in the New Project dialog box when you choose File >
New > Project. For more information, see Create solutions and projects.

 Toolbar

It provides few useful shortcuts to work with visual studio, like opening new project, save
project, run project, debug project etc.

Figure 23: Toolbar

Page 45 of 79
 Editor Area

This is the main working area for the user. It provides two interfaces Design and Code. In
Design interface user can see application’s running time interface. He can add or adjust other components using
mouse.

In Code interface application shows application code to the user.

Figure 24: Editor Area

 Toolbox

Toolbox area provides screen controls for the application. It


is very useful with Design Interface of Editor Area. User can drag controls
from here and add them directly to the application interface.

Figure 25: Toolbox

Page 46 of 79
 My interface designs in visual studio are as follows,

1) User Login

Figure 26: User Login

2) Main menu Interface

Figure 27: Main menu Interface

Page 47 of 79
3) Employees login Interface

Figure 28: Employee Login Interface

4) Bus Information Interface

Figure 29: Bus Login Interface

Page 48 of 79
5) Route Information Interface

Figure 30: Route Login Interface

6) Schedule Information Interface

Figure 31: Schedule Login Interface

Page 49 of 79
Task 3.2
Implement event handling using control structures to meet the design algorithms.

 Algorithm

An algorithm is procedure consisting of a finite set of decided rules (instructions) which


specify a finite sequence of operations that provides the solution to a problem, or to a specific class of problems
for any allowable set of input quantities (if there are inputs). In other word, an algorithm is a step-by-step
procedure to solve a given problem.

1) Algorithm for Login

These Algorithms are need to Login the Main Menu through the “OK” Button. Then
Algorithm for Save the Bus Information.

Figure 32: Algorithm for Save the Bus Information.

Then Algorithm for Save the Employee Information

Figure 33: Algorithm for Save the Employee Information

Page 50 of 79
Then Algorithm for Save the Route Information

Figure 34: Algorithm for Save the Route Information

Finally Algorithm for Save the Route Information

Figure 35: Algorithm for Save the Route Information

Page 51 of 79
Task 3.3
Identify and implement opportunities for error handling and reporting.

 Error handling

Error handling refers to the anticipation, detection, and resolution of programming,


application, and communications errors. Specialized programs, called error handlers, are available for some
applications. The best programs of this type forestall errors if possible, recover from them when they occur
without terminating the application, or gracefully terminate an affected application and save the error
information to a log file.

1. Invalid User Name & Password:


At login screen if user specifies an invalid username and password, the application denies
the login request. Previously application was displaying login message on the console. This console message
was irrelevant to the desktop application user. Now I have updated the application to display a message box for
invalid username and password.

Figure 36: Invalid User Name & Password

Page 52 of 79
2. Same Registration Numbers Entered.

Figure 37: Same Registration Numbers Entered.

3. Empty Field

Figure 38: Empty Field

Page 53 of 79
4. Distance format is incorrect

Figure 39: Distance format is incorrect

Page 54 of 79
Task
04

Page 55 of 79
Task 4.1
Describe the different types of testing phases in a software life cycle.

Software Testing Life Cycle (STLC) is the testing process which is executed in systematic
and planned manner. In STLC process, different activities are carried out to improve the quality of the product.
Let’s quickly see what all stages are involved in typical Software Testing Life Cycle (STLC).

Following steps are involved in Software Testing Life Cycle (STLC). Each step is have its
own Entry Criteria and deliverable.

Figure 40: Software Testing Life Cycle

Ideally, the next step is based on previous step or we can say next step cannot be started
unless and until previous step is completed. It is possible in the ideal situation, but practically it is not always
true.

 Requirement Analysis:

Requirement Analysis is the very first step in Software Testing Life Cycle (STLC). In
this step Quality Assurance (QA) team understands the requirement in terms of what we will testing & figure out
the testable requirements. If any conflict, missing or not understood any requirement, then QA team follow up
with the various stakeholders like Business Analyst, System Architecture, Client, Technical Manager/Lead etc.
to better understand the detail knowledge of requirement.

From very first step QA involved in the where STLC which helps to prevent the
introducing defects into Software under test. The requirements can be either Functional or Non-Functional like
Performance, Security testing. Also requirement and Automation feasibility of the project can be done in this
stage (if applicable).

Page 56 of 79
Entry Criteria Activities Deliverable

Following documents Prepare the list of questions or queriesList of questions with all
should be available: and get resolved from Business answers to be resolved from
– Requirements Analyst, System Architecture, Client, business
Technical Manager/Lead etc. i.e. Testable requirements
Specification.
Automation feasibility
Make out the list for what all Types of report (if applicable)
– Application architectural Tests performed like Functional,
Along with above Security, and Performance etc.
documents Acceptance
Define the testing focus and Priorities.
criteria should be well
defined. List down the Test environment
details where testing activities will be
carried out.

Checkout the Automation feasibility


if required & prepare the Automation
Feasibility report.
Table 02: Requirement Analysis

 Test Planning

Test Planning is most important phase of Software testing life cycle where all testing
strategy is defined. This phase also called as Test Strategy phase. In this phase typically Test Manager (or Test
Lead based on company to company) involved to determine the effort and cost estimates for entire project. This
phase will be kicked off once the requirement gathering phase is completed & based on the requirement analysis,
start preparing the Test Plan. The Result of Test Planning phase will be Test Plan or Test strategy Testing Effort
estimation documents. Once test planning phase is completed the QA team can start with test cases development
activity.

Entry Criteria Activities Deliverable


Requirements Documents Define Objective & scope of the project. Test Plan or Test
(Updated version of strategy document.
unclear or missing List down the testing types involved in the
requirement). STLC. Testing Effort
estimation document.
Automation feasibility Test effort estimation and resource planning.
report.
Selection of testing tool if required.

Define the testing process overview.

Define the test environment required for entire


project.

Prepare the test schedules.

Define the control procedures.

Determining roles and responsibilities.

Page 57 of 79
List down the testing deliverable.

Define the entry criteria, suspension criteria,


resumption criteria and exit criteria.

Define the risk involved if any.


Table 03: Test Planning

 Test Case Development:

The test case development activity is started once the test planning activity is finished. This is
the phase of STLC where testing team write down the detailed test cases. Along with test cases testing team also
prepare the test data if any required for testing. Once the test cases are ready then these test cases are reviewed
by peer members or QA lead.

Also the Requirement Traceability Matrix (RTM) is prepared. The Requirement Traceability
Matrix is an industry-accepted format for tracking requirements where each test case is mapped with the
requirement. Using this RTM we can track backward & forward traceability.

Entry Criteria Activities Deliverable


Requirements Documents Preparation of test cases. Test cases.
(Updated version of unclear or
missing requirement). Preparation of test automation Test data.
scripts (if required).
Automation feasibility report. Test Automation Scripts (if
Re-requisite test data preparation required)
for executing test cases.

Table 04: Test Case Development

 Test Environment Setup:

Setting up the test environment is vital part of the STLC. Basically test environment decides
on which conditions software is tested. This is independent activity and can be started parallel with Test Case
Development. In process of setting up testing environment test team is not involved in it. Based on company to
company may be developer or customer creates the testing environment. Meanwhile testing team should prepare
the smoke test cases to check the readiness of the test environment setup.

Entry Criteria Activities Deliverable


Test Plan is available. Analyze the requirements and Test Environment will be ready
prepare the list of Software & with test data.
Smoke Test cases are hardware required to set up test
available. Environment. Result of Smoke Test cases.

Test data is available. Setup the test environment. Once


the Test Environment is setup
execute the Smoke test cases to
check the readiness of the test
Environment.

Table 05: Test Environment Setup

Page 58 of 79
 Test Execution:

Once the preparation of Test Case Development and Test Environment setup is completed then
test execution phase can be kicked off. In this phase testing team start executing test cases based on prepared test
planning & prepared test cases in the prior step.

Once the test case is passed then same can be marked as Passed. If any test case is failed then
corresponding defect can be reported to developer team via bug tracking system & bug can be linked for
corresponding test case for further analysis. Ideally every failed test case should be associated with at least single
bug. Using this linking we can get the failed test case with bug associated with it. Once the bug fixed by
development team then same test case can be executed based on your test planning.

Entry Criteria Activities Deliverable


Test Plan or Test Based on test planning execute the test Test case execution report.
strategy document. cases.
Defect report.
Test cases. Mark status of test cases like Passed,
Failed, Blocked, Not Run etc.
Test data.
Assign Bug Id for all Failed and Blocked
test cases.

Do Retesting once the defects are fixed.

Track the defects to closure.

Table 06: Test Execution

 Test Cycle Closure:

Call out the testing team member meeting & evaluate cycle completion criteria based on Test
coverage, Quality, Cost, Time, Critical Business Objectives, and Software. Discuss what all went good, which
area needs to be improve & taking the lessons from current STLC as input to upcoming test cycles, which will
help to improve bottleneck in the STLC process. Test case & bug report will analyze to find out the defect
distribution by type and severity. Once complete the test cycle then test closure report & Test metrics will be
prepared. Test result analysis to find out the defect distribution by type and severity.

Entry Criteria Activities Deliverable


Test case execution is Evaluate cycle completion criteria Test Closure report
Completed based on Test coverage, Quality,
Cost, Time, Critical Business Test metrics
Test case Execution report Objectives, and Software Prepare
test metrics based on the above
Defect report parameters.

Prepare Test closure report

Share best practices for any


similar projects in future

Table 07: Test Cycle Closure

Page 59 of 79
 Testing Methods

Black Box Testing: The technique of testing without having any knowledge of the interior workings of
the application is Black Box testing. The tester is oblivious to the system architecture and does not have
access to the source code. Typically, when performing a black box test, a tester will interact with the
system’s user interface by providing inputs and examining outputs without knowing how and where the
inputs are worked upon.

White Box Testing: White box testing is the detailed investigation of internal logic and structure of the
code. White box testing is also called glass testing or open box testing. In order to perform white box
testing on an application, the tester needs to possess knowledge of the internal working of the code. The
tester needs to have a look inside the source code and find out which unit/chunk of the code is behaving
inappropriately.

Grey Box Testing: Grey Box testing is a technique to test the application with limited knowledge of the
internal workings of an application. In software testing, the term “the more you know the better” carries
a lot of weight when testing an application.
Mastering the domain of a system always gives the tester an edge over someone with limited domain
knowledge. Unlike black box testing, where the tester only tests the application’s user interface, in grey
box testing, the tester has access to design documents and the database. Having this knowledge, the
tester is able to better prepare test data and test scenarios when making the test plan.

Visual Difference between the Three Testing Methods

Black Box Testing Grey Box Testing White Box Testing


1 The Internal Workings of an Somewhat knowledge of the Tester has full knowledge of the
application are not required internal workings is known Internal workings of the
to be known application
2 Also known as closed box Another term for grey box Also known as clear box testing,
testing, data driven testing testing is translucent testing as structural testing or code based
and functional testing the tester has limited testing
knowledge of the insides of
the application
3 Performed by end users and Performed by end users and Normally done by testers and
also by testers and also by testers and developers developers
developers
4 Testing is based on external Testing is done on the basis of Internal workings are fully
expectations Internal high level database diagrams known and the tester can design
behavior of the application is and data flow diagrams test data accordingly
unknown
5 This is the least time Partly time consuming and The most exhaustive and time
consuming and exhaustive exhaustive consuming type of
testing
6 Not suited to algorithm Not suited to algorithm testing Suited for algorithm testing
testing

Table 08: Testing Method

Page 60 of 79
Task 4.2
Describe how you follow above phases to test your System.

1. Requirement Analysis:-
I have read and analyzed what are the requirement need for The Southern Transport
Management.
Deliverable: - The Southern Transport Management system’s requirements reports

2. Test Planning
I have created some test plans to check the Southern Transport Management system’s quality and
performance.
Deliverable:-Test plan
Test cases
Test reports

3. Test Designing
I have designed my tests on the basis of detailed Southern Transport Management system’s
requirements of the system.
Deliverable:-Test data

4. Test Environment Setup


I have setup the test environment with the goal of replicating the end user’s environment.
Deliverable:-Test environment

5. Test Execution
I execute my test cases and test scripts in the test environment to see whether they pass or not
Deliverable:-Test result

Login Form
Login form is displaying as splash screen at application startup. All users must have passed
through login form to use the application.

Main Menu Form

Main Menu Links


 Employee Information
 Bus Information
 Route Information
 Schedule Information

Page 61 of 79
 Employee Information Form
This from is used to add Employee information user in the application. Here user can register
new Employee Information, edit existing Employee information and delete existing Information. After
reviewing the Employee Information form, I found that all event handlers are working fine for the form.

 Bus Information Form


This from is used to add a Bus information user in the application. Here user can register new
Bus Information, edit existing Bus information and delete existing Information. After reviewing the Bus
Information form, I found that all event handlers are working fine for the form.

 Route Information Form


This form is used to add new Route Information in the application. Here user can register new
Route, edit existing Route information and delete existing Route information. After reviewing the Route
information form I found that all event handlers are working for the form.

 Schedule Form
Schedule dates form is use to add Schedule dates for the System. It provides functionality to
add, edit and delete Scheduled dates. It is also displaying a list of all Schedule dates. After review I found that all
event handlers are working for the form.

Page 62 of 79
Task 4.3
Analyze actual test results against expected results to identify discrepancies.

No Testing Criteria Expected Result Actual Result


1 Login Button Check on Display error message for Displaying message on
Login Screen invalid login invalid data or invalid user
name and password

2 Bus information button Display Bus Information Its displaying bus


on presenter Bus Form form to the user information from to the user
3 Route information button Display Route Information Its displaying Route
on presenter Route Form form to the user information from to the user

4 Employee information Display Employee Its displaying Employee


button on presenter Information form to the user information from to the user

Employee Form
5 Schedule information Display Schedule Its displaying Schedule
button on presenter Information form to the user information from to the user
Schedule Form

7 Add, edit button on all Add button Display all user It is displaying add user
user’s forms screens screen

Edit button Display all user Providing editable access for


screens & provides editable selected user.
access for selected user

8 Delete Button Delete selected user Its deleting selected user


9 Schedule information Provides functionality for Providing functionality for
Form the selection data Selected data

Table 09: Test Results

Page 63 of 79
Task 4.4
Produce evidence to prove all levels have been completed during the testing process.
Test Scenario ID Login Test Case ID Login – 1A
Test Case Description Login – Positive test Test Priority High
case

Pre Requisite A valid User Name Post Requisite NA


S. No Action Inputs Expected Actual Test Test Comments
Output Output Result

1 Lunch Form Login Login Pass Launch Successful


Application Login Form Form

2 Enter User Login Login Pass Login Successful


Correct name Success Success
Username Ishara123
and Password
Password ******

Table 10: Testing process 1

Test Scenario ID Employee, Route, Bus Test Case ID Employee form


form – 2A

Test Case Employee, Route, Bus – Test Priority High


Description Positive test case

Pre Requisite A valid Employee, Route, Post Requisite NA


Bus, form

S. No Action Inputs Expected Actual Test Test Comments


Output Output Result

1 Lunch Enter Employee, Employee, Pass Launch


Employee, Employee, Route, Bus, Route, Successful
Route, Route, form - Display Bus,
Bus, Bus, form

2 Enter Enter Correct form Correct Pass Employee,


Correct Correct - Display form - Route, Bus,
Button Button Display Display
Successful

Table 11: Testing process 2

Page 64 of 79
Task
05

Page 65 of 79
Task 5.1
Provide well prepared user documentation for all users of the new system.

 Login Screen

Figure 41: Login Screen

 Enter Incorrect User Name & Password

Figure 42: Enter Incorrect User Name & Password

Page 66 of 79
 Enter correct User Name and Password

Figure 43: Enter correct User Name & Password

 Display Main Menu.

Figure 44: Display Main Menu

Page 67 of 79
 Employee Information

Figure 45: Employee Information

 Bus Information

Figure 46: Bus Information

Page 68 of 79
 Route Information

Figure 47: Route Information

 Schedule Information

Figure 48: Schedule Information

Page 69 of 79
For an example of user manually in Bus Information System

1. Add Bus Information


Click Add Button

Enter the relevant information


Figure 49: Add Bus Information

2. Save Bus Information

Figure 50: Save Bus Information

Page 70 of 79
Message box Says “Error occur, Please Recheck Fields and Try Again” Click ok
Figure 51: Add Bus Information

3. Edit Bus Information

Message box Says “Successfully Updated”


Figure 52: Edit Bus Information

Page 71 of 79
4. Delete Bus Information

Figure 53: Delete Bus Information

Click Delete Button

Message box Says, “Current Record Deleted” Click Ok.


Figure 54: Delete Bus Information

Page 72 of 79
Task 5.2
Provide the technical documentation with the installation notes and all system requirements.

 Southern Transport Management Technical Documentation

Purpose

The purpose of this software design document is to provide a low level description of the
Southern Transport Management system, providing insight into the structure and design of each component.

The purpose of Southern Transport Management system is design with VB.NET


(Application) and SQL Server (Database) to facilitate the process of resolving transport operations and
maintenance.

Accordingly, the final product must be quick, efficient, and extremely easy to use. It must
offer useful features without overwhelming the user with options. The user interface must be intuitive and have
little or no learning curve.

System Requirement

To be used efficiently, all computer software needs certain hardware components or the other
software resources to be present on a computer. These pre-requisites are known as system requirements and are
often used as a guideline as opposed to an absolute rule. Most software defines two sets of system requirements:
minimum and recommended. With increasing demand for higher processing power and resources in newer
versions of software, system requirements tend to increase over time. Industry analysts suggest that this trend
plays a bigger part in driving upgrades to existing computer systems than technological advancements.

 Processor: 2.0 GHz or faster processor
 Ram: 4 GB of RAM
 Hard disk: Minimum 80 GB of available hard disk space
 Operating System: windows 7 or later versions


Installation Requirements

In implementing the system, it uses the VB.NET as the main programming language and
tools. Besides that, the SQL language will be used to maintain the information in the database. On the other hand,
SQL server need to be installed.


Installation process

 Open the application folder


 Restore the library database in to the SQL server
 Run the setup.exe file of the application
 Select where the application will install

Page 73 of 79
Hardware Requirements

The most common set of requirements defined by any operating system or software
application is the physical computer resources, also known as hardware. A hardware requirements list is often
accompanied by a hardware compatibility list (HCL), especially in case of operating systems. An HCL lists
tested, compatibility and sometimes incompatible hardware devices for a particular operating system or
application.

Software Requirements

Software Requirements deal with defining software resource requirements and pre-requisites
that need to be installed on a computer to provide optimal functioning of an application. These requirements or
pre-requisites are generally not included in the software installation package and need to be installed separately
before the software is installed.

User Interface

User interface is designed in a user-friendly manner and the user, in another end he must give
the order, for that he will interface with keyboard and mouse.

Page 74 of 79
Task 5.3
Discuss the future improvements of your system

An independent feedback on the Southern Transport Management system has made into the basis
of evaluation. Some of suggestions are provided by my colleagues for some improvement in the system. Some of
the recommendation as a future improvement of the developed system is given bellow,

In the future versions of the system, I would like to introduce Interactive voice technology to
minimize the use of keyboard and make the system user-friendly, hence; customers themselves can operate the
system.

This will lead to an exclusive implemented of CRM. The only reason for this technology not being
implemented in the current system is the high cost of taking permission for the interactive voice software. As a
result, institute might not be willing to purchase

Next, the transport system should implement Finger print technology which will log in the
member by scanning the Finger print. The Finger print can act as a unique identifier of a member. The Finger
print is more advanced and is able to store all the information. By implement this, the book transection processes
will be enhanced and save time.

String interpolation is an easier way of writing strings with expressions. String interpolation is
often easier than String. Format because it saves the system having to juggle the positional placeholders like {0}
and {1}.

Note that, since it's shorthand for the specified call to String. Format, (1) string interpolation uses
the current culture, and (2) it isn’t a constant. However, the compiler is at liberty to optimize string interpolation
if it knows how String. Format will behave and if it can figure a faster way to do that.

VB has long had read-only properties and auto-implemented properties. Just as with normal auto-
implemented properties, the system can assign initial values to Read only auto props. Also it can assign to them
in the constructor: this writes direct to the backing field.

AVB user has long been used to typing some code, then doing a quick “down-then-up cursor” to
see if any error squiggles appear. Or it had write code to fix an error squiggle, but then have to do the “down-
then-up” for the squiggle to disappear.

Now the user doesn’t have to go through all of that. Just leave the cursor where it is, and error
squiggles will appear or disappear themselves.

Considering about the References node, this used to be hidden and user had to click Show All
Files to see it - but that also showed lots of irrelevant files.

This previous behavior might have made sense 10 years ago when user had start with a Windows
Forms project and it would generally have the right set of references. But it’s a reality of modern development
nowadays that the References node is used frequently - especially to manage NuGet references. It’s a small but
handy convenience to be able to find it easily in Solution Explorer.

The Visual Basic compiler used to be written in C++. For Visual Basic, the team has rewritten it
completely in VB, which has made it considerably faster.

Page 75 of 79
Here are two comparisons:
 A large solution build (1.3 million lines of code) went from 68 seconds to 41 seconds.
 A cold solution load (a Windows Store app) went from 6.7 seconds to 4.6 seconds

That’s a considerable time saving. It’s great when your mind can stay on track rather than
meandering in the delay between “finish coding” and “press F5 to hit a breakpoint.” The 50 percent performance
increase might come as a surprise to people who think that C++ is faster than VB. The truth is that algorithms,
data structures and concurrency are where user get real speed benefits. The performance boost from rewriting in
VB comes from many places: rethinking the data structures; being able to express algorithms more cleanly and
refactor more safely; using a sync and the thread pool; using the Visual Studio profiling tools to discover CPU
and memory-allocation hotspots; and using analyzers to detect simple .NET performance gotchas like
unnecessary boxing. Through these mentioned features the system can go to forward a step from the present
system.

Page 76 of 79
Task
06

Page 77 of 79
Task 6.1
Write down the critical analysis and evaluate your work according to the software development life
cycle which had been followed by you to develop your system.

In this project I have learned a lot of thing, I have gain a lot of knowledge and also regain
back what I have forgotten knowledge. When the problem occurs, I have to research on the solution. On the
researching stage, I have learned lot. So during the Southern Transport Management system developing I have
faced the problem with data validation and user authentication. But this problem has solved with the help of my
lecturer and reference books.

Figure 55: Login Screen

Page 78 of 79
References
1. Free Video Lectures. 2018. Create Login Form with Microsoft Access Database video lecture Other
Providers. [ONLINE] Available at: https://freevideolectures.com/course/3552/c-ms-access-
database/3. [Accessed 13 September 2018]

2. VB.NET Tutorial , VB.NET Help , VB.NET Source Code. 2018. VB.NET Tutorial , VB.NET Help ,
VB.NET Source Code. [ONLINE] Available at: http://vb.netinformations.com/. [Accessed 16 September
2018].

3. microsoft.net - Google Search. 2018. microsoft.net - Google Search. [ONLINE] Available at:
https://www.google.lk/search?biw=1366&bih=657&tbm=isch&sa=1&ei=_WUHXK
KQN8TnvAS-7 I6ACA&q=microsoft.net&oq=microsoft.net&gs_l =img.3...89484.99247..100338...0.
0..1.0.0.......5....1..gws-wiz-img.....0.DijsRKH-hYM#imgrc=Ag4iXFbBNeRCdM:. [Accessed 1 October
2018].

4. tutorialspoint.com. 2018. VB.Net Tutorial. [ONLINE] Available at:


http://www.tutorialspoint.com/vb.net/. [Accessed 2 October 2018].

5. Wernham, B., 2012. Agile Project Management for Government. (s.n.).

6. VB .NET: How to Start Programming. 2018. VB .NET : How To Start Programming. [ONLINE]
Available at: http://howtostartprogramming.com/vb-net/. [Accessed 4 October 2018]

7. Rahmel, D., 2001. Visual Basic.Net Programmer’s Reference.


McGrawHill/OsborneMedia
8. Segue Technologies. 2018.

9. The Four Levels of Software Testing | Segue Technologies. [ONLINE] Available at:
https://www.seguetech.com/the-four-levelsof-software-testing/. [Accessed 10 September 2018]

10. www.guru99.com. 2018. No page title. [ONLINE] Available at: https://www.guru99.com/levels-of-


testing.html. [Accessed 10 September 2018]

Page 79 of 79

Potrebbero piacerti anche