0% found this document useful (0 votes)
103 views

Roshan Christy Bolonne 20147455: Student Details (Student Should Fill The Content)

The document provides details of a student submitting an assignment for the unit CIS6003 Advanced Programming. The assignment requires developing an online appointment scheduling system for an educational consultation center. It outlines tasks for developing the system, including: (1) providing requirements and design diagrams, (2) evaluating design patterns, (3) developing interfaces and reports, (4) documenting tests, and (5) providing user/technical documentation and evaluating ethical considerations. The submission also includes information on grading criteria and formatting guidelines.

Uploaded by

Hasitha Prabhash
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views

Roshan Christy Bolonne 20147455: Student Details (Student Should Fill The Content)

The document provides details of a student submitting an assignment for the unit CIS6003 Advanced Programming. The assignment requires developing an online appointment scheduling system for an educational consultation center. It outlines tasks for developing the system, including: (1) providing requirements and design diagrams, (2) evaluating design patterns, (3) developing interfaces and reports, (4) documenting tests, and (5) providing user/technical documentation and evaluating ethical considerations. The submission also includes information on grading criteria and formatting guidelines.

Uploaded by

Hasitha Prabhash
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Student Details ( Student should fill the content)

Name Roshan Christy Bolonne

Student ID 20147455

Scheduled unit details

Unit code CIS6003


Unit title Advanced Programming
Unit enrolment details Year 3

Study period 2018

Lecturer Mr. Tariq kanaka

Mode of delivery Full Time

Assignment Details

Nature of the Assessment Course work

Topic of the Case Study Online Appointment Scheduling web site


Learning Outcomes covered 1,2,3

Word count 6000

Due date / Time 01st September 2018


Extension granted? Yes No Extension Date

Is this a resubmission? Yes No Resubmission Date

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

Name/Signature Roshan Date 2018-09-01

Submission

Return to:

Result

Marks by 1st Signature of the 1st Assessor Agreed


Assessor Mark

Marks by2nd Signature of the 2nd Assessor


Assessor

Comment on
the Agreed
Mark

For Office use only (hard copy assignments)

Receipt date Received by

STUDENT NAME: STUDENT


Roshan Christy Bolonne NUMBER:
CL/BSCSD/16/51

Module Number & Title: CIS6003 Advanced Programming Semester: 01

Assignment Type & Title: Course work (Online Appointment Scheduling web site)
For student use: Critical feedback on the individual progression towards
achieving the assignment outcomes

For the Assessors’ feedback


Indicate the Task number strength and Weaknesses and the marks for each task

2
Task No/Quest Strengths (1st Assessor) Strengths (2nd Assessor)
ion No

Task No / Weaknesses (1st Assessor) Weaknesses (2nd


Question Assessor)
No

Areas for future improvement


Comments by 1st Assessor
Comments by 2nd Assessor

Marks
Task Marks by Marks by Marks by IV (if IV comments (If Any)
/Question No 1st 2nd any)
Assessor Assessor

Total Marks

Name and the Signature of the Date:


1st Assessor

Name & Signature of the


Date :
2ndAssessor :

Name & Signature of the IV: (If


Date :
any)

Upon successful completion of this module, you will have demonstrated:


3
• Demonstrate fluency in contemporary programming languages, development tools
and environments.

• Evaluate and demonstrate the theory and concepts of contemporary/industry standard


programming and design in the software development life cycle.

• Demonstrate awareness of industry standards of professional and ethical software


development, software carpentry and codemanship.

Milestone 1: Coursework –Online Appointment Scheduling web site – 100 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.

 The consultants details including their available dates and times.

 The students’ detail.

 The consultant –student appointment 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.

• Provide a well-designed, user friendly system addressing the following features:

• System should have differential access rights to the system users.

• Interactive user friendly interfaces

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

a) Provide a requirement specification for the proposed system.(6 marks)


b) Provide the UML diagrams for the given problem with clear explanations on the
design decisions. Derive detailed Use Case diagram, Class diagram & a sequence
diagram.
Whenever necessary document the relevant assumptions you made. (9 Marks)
c) There are many system design patterns available in system development. Critically
evaluate singleton, factory and abstract factory design patterns and apply the most
suitable design pattern for your system development.(15 Marks)

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.)

Guidelines for the report format


Paper A4
Margins 1.5” left, 1” right, top and bottom
Page numbers – bottom, right
Line spacing 1.5
Font
Headings 14pt, Bold
Normal 12pt
Font face- Times New Roman
Referencing and in-text citation should be done strictly using Harvard Referencing System.

Marking Scheme

Part (a) contains 6 marks

Criteria Marks
Out of 6
 Functional requirement specification

3
 Nonfunctional requirement specification

6
Part (b) each contain 9 marks

Diagrams should be evaluated according to the following criteria.

Marks
Criteria Out of 9
Proper use of Object Oriented Design Methodology

Use case Diagram


• Identification of correct use cases
• Identification of correct Actors and
associations Sequence Diagram
• Implementing identified set of use cases
(about 3) as
sequence diagrams. 1-3

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.

Part (c) contains 15 marks

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

• Appropriate use of more sophisticated database features


(e.g.
use of stored procedures / functions / triggers to
implement business rules)
• Reports being proposed to facilitate decision making.
• Effective use of sessions / cookies
Good 9-20
• Make a good attempt to follow the three tier architecture.
• More sophisticated database design and queries
• More sophisticated data representation (e.g. several
classes at business logic level)
• Separate UI windows for entering results and viewing
overall scores.
Pass 0-8
• Basic data management system features .
• Use a database (simple design)
• Have simple Web user interface

9
Part (e) contains 10 marks

Test Rationale (3 marks)


 Provide a concise rationale for the approach adopted. Discuss how you are going to
use test driven development.

Devise your test data (2 marks)


 Derive test data for the system.

Produce and apply a test plan (5 marks)


• Create test classes for your system

• 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).

• Evaluation of overall success or failure and lessons learned.


• Traceability showing how each requirement is met by the design.

Part (f) contains 10 marks

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

• Identify ethical issues relevant to the case study.


• Analyze the ethical considerations

 Justify the chosen considerations. 6

 Justify the tools and functions used to achieve software

carpentry in your development.


7

 Justify the tools and functions used to achieve software

codemanship in your development.


7

Final Grading criteria for the coursework


Marks Final Grade
>=70 1
69-60 2:1
59-50 2:2
49-40 3
<40 fail

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.

Roshan Christy Bolonne


BSC (Hons) Software
engineering
Batch 16
Student No 51
ICBT Campus Colombo

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:

 Security – Defense against the unauthorized peoples and hacker.


 Usability - Easy to use the system to users.
 Privacy – Controlling the unwanted peoples get the information from the users.
 Reliability – Without any failures running the system Smoothly. (any environment
and any period)

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:

No Test Case Test Case Steps Results


Id Name
01 TC 01 Database Click the data Connect to
connection tier the database
DBConnectio
n

Test Case:

Test Objective DBConnection


Test Data Click the datatier DB connection
Expected Result Connect to database
Actual Result Connect to mysqlwork database
Conclusion Successfully connect to the database
Screen Shot

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.

g.) Codemanship Functions:

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

You might also like