Roshan Christy Bolonne 20147455: Student Details (Student Should Fill The Content)
Roshan Christy Bolonne 20147455: Student Details (Student Should Fill The Content)
Student ID 20147455
Assignment Details
Declaration
1
I certify that the attached material is my original work. No other person’s work or ideas
have been used without acknowledgement. Except where I have clearly stated that I have
used some of this material elsewhere, I have not presented it for examination / assessment
in any other course or unit at this or any other institution
Submission
Return to:
Result
Comment on
the Agreed
Mark
Assignment Type & Title: Course work (Online Appointment Scheduling web site)
For student use: Critical feedback on the individual progression towards
achieving the assignment outcomes
2
Task No/Quest Strengths (1st Assessor) Strengths (2nd Assessor)
ion No
Marks
Task Marks by Marks by Marks by IV (if IV comments (If Any)
/Question No 1st 2nd any)
Assessor Assessor
Total Marks
Scenario
The EduCan is a leading educational consultation Centre in Colombo. They provide free
consultation services to students who are planning to go abroad for their higher studies. The
Centre has a set of educational consultants specialized on country and the field of study on
which the students need advice. All the consultants of the Centre are working on part time
basis. The students can make the appointments to the consultants by making a phone call to
the reception, email or by visiting the Centre. The Centre needs to record and keep the
following details.
Currently all the records are stored manually in paper based systems. However since the
number of students being consulted has been increased, the management has decided to have
a Web based system to give a better service to the students. Most importantly the system must
have the facility to schedule appointment online as well as to produce “on demand “reports to
management for efficient and effective decision making.
4
• Clear implementation of the business flow via the system
• Design & implement suitable sets of reports, which you think will add more value to
the entire business
• Use test driven development and include test classes to test your application
Students are free to make necessary assumption on system design & granting access
permissions other than mentioned within the scenario, but all suggestions must be well
explained with the valid reasons.
Students can add any functionality which will enhance the system and make the proposed
solution more comprehensive.
Use Harvard referencing to properly acknowledge all the external sources you use.
Your tasks
Tasks
d) Develop an interactive set of interfaces to get the necessary user inputs. Make sure to
implement proper validation mechanisms in order to restrict invalid entries to the
system.
Come up with suitable set of reports, which you will think add more value to your system
i. Your program must have a clear, three-tiered organization. That is the
program should have distinct and separate data access, business logic, and
user interface layers.
ii. Your program should make use of a proper database to store information
(30
Marks) e) Document the test plan and explain how you used test driven development in
this scenario. This includes test rationale, test plan, test data and proper application of the
test plan (LO II) (10 Marks.)
f) Create user and technical documentation for the developed solution.(10 Marks)
5
g) Critically evaluate your ethical considerations in developing the solution as well as
justify the tools and function you have used to achieve software carpentry and
codemanship. (20 marks.)
Marking Scheme
Criteria Marks
Out of 6
Functional requirement specification
3
Nonfunctional requirement specification
6
Part (b) each contain 9 marks
Marks
Criteria Out of 9
Proper use of Object Oriented Design Methodology
Class Diagram
• Identification of associated methods, with correct
signatures and attributes in each class
• Correct identification of relationships
Average Design
• Clear identification of private, public access
modifiers & it is visible in the class diagram
• Accurate use of <<include> <<extend>> stereo types
in use case diagram
• Appropriate use of lifelines, messages and objects in
proposed sequence diagrams 4-6
• Correct use of UML notations with minor mistakes
Evaluation
• Student has given basic description about the design
and given a reasonable justification
• Effective judgements have been made about the
content and levels of information to be included
Excellent Design
• Highly detailed diagram
• Use of OO concepts clearly visible
• Backed by relevant assumptions
• Multiplicity, navigability aggregation & compositions
visible in class diagrams
• Excellent use of UML notation
7
7-9
Evaluation
• Good justification of the design
• Judge validity of results
• Use critical reflection to evaluate the work and justify
with valid explanations
Fluency (Of design)
• Evidence of critical analysis on different perspectives
covering how, use case, class & sequence diagrams
support in designing.
Criteria Marks
Out of 15
Identify the different types of design 1-5
patterns and there advantages
Apply the suitable design patterns for 5-10
system development
Critically evaluate the impact of 11-15
design patterns
8
Part (d) contains 30 marks
Criteria Marks
Out of 30
Excellent 21-30
• More sophisticated UI,
• Complex functionality (Email alerts/SMS/Innovative
aspects)
• 3- tier architecture should exit
9
Part (e) contains 10 marks
• You are to carry out relevant tests and provide documentation detailing the tests
used to verify your system.
• Demonstrate that the code passes all the tests (use screen-grabbing software and
insert images into your submission).
Criteria Marks
Out of 10
Professional standard of 7-10
documentation with screen shots &
good explanation
High standard of documentation 5-7
with screen shots & average
explanations
Acceptable standard of 3-5
documentation with poor
explanations
Errors in the documentation 0-3
10
Part (g) contains 20 marks
Criteria Marks
Out of 20
ACKNOWLEDGMENT
11
This assignment, we are respect to our lecture he gave me us good guidance to do this
assignment successfully. Thanking for your support Mr .Tariq Kanaka, ICBT we are privilege
to take this opportunity. In this assignment we had learn some critical path of java advance
programming. Thank you Mr. Tariq Kanaka who are given good support to this assignment.
Introduction
12
This assessment help us to get good knowledge about Advance Programming. I will explain
Functional and non-functional, ERD, UML and Class diagrams, implied permission work
diagram above database design.
Table of contents
13
Acknowledgment 12
Introduction 13
Scenario and Task 14
TASK 01
Functions and Non Functions 15
TASK 02
ER Diagram 16
Relationship Mapping 17
Use Case Diagram 19
Sequence Diagram 20
Class Diagram 21
TASK 03
Design Pattern 22
TASK 04
Source Codes 23
TASK 05
Test Plan 32
Test Case 32
TASK 06
Documentation 33
TASK 07
Codemaship tools and Functions 34
Task 01:
a.)
14
Purpose – Create the web service student management system that help making
appointment for consultants regarding their courses.
Functional Requirement:
Login
Update
Delete
Appointment
Non-Functional Requirement:
b.)
ER Diagram:
15
Relationship Mapping:
16
17
18
Use Case Diagram:
19
Sequence Diagram:
20
Class Diagram:
21
c.)
In software engineering design patterns we use reusable solution to commonly problems. In
design pattern we can speed up development process, provide the test and improving code
readability and architects familiar. Design patterns all about class instantiation. In java we
have main three design patterns Singleton, factory and abstract factory.
Singleton design
Singleton design is use to provide a unique source of data to other java objects. A static class
with statics method would result same functionality in singleton. This is currently best way to
implement in java. Main Advantage is processing result faster.
Factory design
Factory design is create objects without making create the logic to the client and refer to
newly created using a common interface. Advantages of factory design is more customizable,
Standard objects to create the system and Easy to implement.
Abstract design
Abstract design is factory class returns different subclasses based on the input provided.
Interface is responsible for creating a factory of related objects without explicitly specifying
their classes. This pattern similar to factory pattern. This pattern advantages are specific
environment can hosted, accessing a protected system under the test and selenium based
automation. I use Singleton pattern to crate this system. I think in java we have create the
system we should use these patterns.
22
d.)
Login.jsp:
This is Login page. This page connect to the database. If users enter the username. Password
and user type it will goes to profile.jsp. If student will enter the username, password and user
Type Then it will goes to student.jsp page. If user type enter incorrect it will shows Invalid
credentials.
23
Student Class:
This is Student class page. I use private method to create student class. I use Name. Age.
Address and ContactNo.
24
JavaClasses:
This is java class page. This page mainly take the data from this page to mysql database. This
Page get the student details and save the database.
25
Student.jsp:
This is Student page. This page I use to create forms and buttons. Student the Name, Age,
Address and Contact No student click the register button then student can register.
26
AddStudent.jsp
This is addstudent page. This page can add the students. In this page crate I use parameters
and proxy. Student enter the Name, Age, Address and contact No correctly then student
registering. It will show successfully registering message. But student enter the incorrect
student can’t register then show error message.
27
Index.jsp:
This is Login page. This page login the users. Before the login this page users have to register
the system then only users can login this system. I use to create this page using forms and
button. Users enter the Username, Password and User type then click the Login button users
can enter the system. User type means Admin or students.
28
Profile.jsp
29
Cookies and Sessions:
30
Register.jsp
This is register page. This page registering the users. This page user enter the username,
Password and user type then click the register button it will register users. To create this
register page I use forms and button.
31
e.)
Test plan:
Test Case:
f.)
32
This system in a significant performance boost and higher quality code, because get to reuse
data processing algorithms without duplicating type specific code. In concepts are similar to
C++ templates, but are drastically different in implementation and capabilities. Discusses the
problem are retyping the same code again and again. It very Difficult to code and lots of
errors are showing this system. Such as constrains, utilized in other areas of the Mysqlwork
database and .NET Framework such as reflection, arrays, and collection show to improve on
the basic offering.
I think we have to use this system in three tier architecture. Three tier architecture is typically
comprising a presentation tier, a business tier, and a data tier. This system main advantages
are, High performance, lightweight persistent objects, because the Presentation tier can cache
requests, network utilization is minimized, and the load is reduced on the Application and
Data tiers. I recommend we have to use three tier architecture to develop this system.
In this system run to need system requirements are Windows 10, Intel core i3 processor, 2GB
RAM.
33
Educan is student consultant firm. In this system crate we have to consider ethical issues as
well. This some points violate to 1988 UK privacy issues act. In this system we use create
.Net, Mysql database tools. We have follow some main principles, these are the principles.
Readability, Complexity, Duplication, Dependencies, Test Assurance.
Readability is easy to understanding the code. The issues is some software’s are complex
codes and lengthy codes it’s hard to understanding the codes. Complexity is hard to
understanding code is more complicated. Sometimes hard to test the code because code is
more complex and it might be wrong. Duplication is same thing repeat again and again. This
is same code coding different places. This is usually happen copy and paste. Dependencies is
in software one part change other parts are break. Sometimes break the entire software. It’s
hurt for developers. Test Assurance is we don’t know our test is catching the bugs. Its
meaning taking weeks or long time to execute but we don’t know change the software. I think
we have to follow these five principles.
34