OOP Assignment For HND
OOP Assignment For HND
1.1.3 Inheritance.......................................................................................................... 10
Conclusion ............................................................................................................................... 52
Self-Criticism ........................................................................................................................... 53
References ................................................................................................................................ 54
The programming challenge was seen as how to write the logic, not how to define the data.
Object-oriented programming takes the view that what we really care about are the objects we
want to manipulate rather than the logic required to manipulate them.
The first step in OOP is to identify all the objects the programmer wants to manipulate and
how they relate to each other, an exercise often known as data modelling. Once an object has
been identified, it is generalized as a class of objects (think of Plato's concept of the "ideal"
chair that stands for all chairs) which defines the kind of data it contains and any logic
sequences that can manipulate it. Each distinct logic sequence is known as a method.
The concept of a data class makes it possible to define subclasses of data objects that
share some or all of the main class characteristics. Called inheritance, this property of
OOP forces a more thorough data analysis, reduces development time, and ensures
more accurate coding.
Since a class defines only the data it needs to be concerned with, when an instance of
that class (an object) is run, the code will not be able to accidentally access other
program data. This characteristic of data hiding provides greater system security and
avoids unintended data corruption.
The definition of a class is reusable not only by the program for which it is initially
created but also by other object-oriented programs (and, for this reason, can be more
easily distributed for use in networks).
The concept of data classes allows a programmer to create any new data type that is not
already defined in the language itself.
There are four main pillar concepts of OOP
1. Abstraction
2. Encapsulation
3. Inheritance
4. Polymorphism
1.1.1 Abstraction
This is a process of showing only the relevant data and hiding the unnecessary details of an
object from the user. In other words, abstraction refers to a base class where it can be shared
by multiple derived classes as well. As mentioned earlier abstraction is mechanism to show
only the relevant data to the user
Figure 1 : Abstraction
Benefits of Abstraction
1.1.2 Encapsulation
In Object Oriented Programming, the Encapsulation is the process to prevent or protect
the codes from any sort of accidental corruptions and due to some little silly errors. In OOP
data are mainly treated as a critical element. Instead of determining the data in public form, it
can be declared in private. Here, the private data is manipulated indirectly by two ways. The
initial method that is used to manipulate is using a pair of conventional accessor. The second
manipulating method is using a named property. Finally, the main idea is using the data without
any changes or corruptions.
Figure 2 : Encapsulation
Benefits of Encapsulation
The main purpose is to protect important data inside the class and not to expose outside
of the class
In other words, hiding the internal state, behaviour of an object
Keep safe from outside interference and misuse
Solves problems in the level of implementation
1.1.3 Inheritance
This is another main concept in Object Oriented Programming. This is the action of
where one class acquires the properties and the functionalities of another class is referred as
the inheritance. Inheritance provides the idea of reusability of the codes and each sub class
defines only those features that are unique. In other words, Inheritance is the process of
determining a new class based on an existing class.
Figure 3 : Inheritance
Benefits of Inheritance
1.1.4 Polymorphism
This is another concept of Object Oriented Programming, which allows to perform a
single action in many ways. Like the ability of a function, variable or object to take on multiple
forms. This concept is used in programming world where the software entities need to show
some different behaviours while they are in the same type and sharing all the other common
features as well
Figure 4 : Polymorphism
Benefits of Polymorphism
The purpose of polymorphism in OOP is when having different types of objects and
can write classes that can work with all those different types
When compared to the example which is given below, this concept is helpful when we
have multiple kinds of “Flying Machines”
When building generic frameworks that will take the whole bunch of different objects
with the same interface
This allows programmer to call the methods of derived class by referencing to the base
class
Figure 9 : Registrar
3.4 ER Diagram
Figure 10 : ER Diagram
4. Visual Studio IDE for the solution
Figure 11 : VSIDE
Login page:
Registrar:
Figure 20 : Lecturer
Figure 21 : Lecturer Code
Lecturer Registration:
Student Registration:
Update Lecturer:
View Lecturer:
View Student:
Lecturer:
Figure 32 : Lecturer
Figure 33 : Lecturer Code
Student:
Figure 34 : Student
Figure 35 : Student Code
Bill:
Figure 36 : Bill
Figure 37 : Bill Code
Brief Introduction to the This documentation will mainly describe the plan for testing
Testing Objectives Stafford University Management System. The main
objectives are: Testing the main features in the system,
recommended test requirements, and Deliverables
elements of the Test activities
Expected Outcome After inserting the student ID, should be able to view the name of
the student and course in the text boxes
Pre-Condition Should select the relevant course from the combo box
Steps The lecturer should select the respective course and then click on
“View” to get the output of the process
Expected Outcome After inserting the selecting the course, the lecturer will be able to
view the duration of the selected course
Steps Insert USERNAME and PASSWORD, then click the “Sign In”
Button. Then it will direct to the registrar’s portal and then click on
“Course Maintenance”. Then it will direct to the “Course
Maintenance” option, by inserting the course records the registrar will
be able to register for courses
Expected Outcome After inserting the course records the records should be successfully
inserted to the system
Pre-Condition Registrar should login using correct credentials and select create
catalog
Steps Insert USERNAME and PASSWORD, then click the “Sign In”
button. Then it will direct to the registrar’s portal and then click on
“Create Catalog”. Then it will direct to the “Create Catalog”
option, by inserting the course name, semester and the subjects the
registrar will be able to generate the course catalog for the semester
Expected Outcome After inserting the records, it should successfully have inserted to
the system
Post Condition -
Steps Insert USERNAME and PASSWORD, then click the “Sign In”
button. Then it will direct to the registrar’s portal and then click on
“Lecturer Maintenance”. Then it will direct to the “lecturer
maintenance” option, by inserting the lecturer ID, lecturer name and
the contact no. the registrar will be able to insert the lecturer details to
the system
Expected Outcome After inserting the lecturer records, it should successfully have inserted
to the system
Expected Outcome After inserting the lecturer ID for deletion, the records should have
successfully deleted from the system
02 What about the onscreen assist during using Onscreen assist is best for understand the
the library management System? system.
05 If any problem encountered during using Sometime admin login system loading.
Library Management System?
06 What about the security features of Library Increase your security features.
Management System?
07 What do you like best feature of the Library Borrow Books is the best feature
Management System?
Table 11 : Feedback 2
02 What about the onscreen assist during using Onscreen assist is very important for this
the Library Management System? system good.
03 How user friendly is this User friendly75% best.
Library Management System?
04 How well do Library Management System This system complete our needs very
meet your needs? well.
05 If any problem encountered during using I want more Details in Add member form
Library Management System?
07 What do you like best feature of the Library Form alignment is good try.
Management System?
Conclusion
Based on the evaluation, the developed application has provided an appropriate solution
for the frustrating problem at the Stafford University. All the user requirements were addressed
within the developed system and there is an elimination of paper-based processes. Some users
required the system to be more attractive and user-friendly and this will help to enhance the
development of the system. Based on the requirements, the system provides a clear
understanding and the system structure serves as reliable unit in the University Management
System.
10. User Guidance and technical documentation.
10.1 Installation Guide
Follow the Picture number order to install the software successfully.
Figure 39 : Installation 1
Figure 38 : Installation 2
Figure 41 : Installation 3
Figure 40 : Installation 4
10.2 User guidance
Figure 42 : Login
Registrar and Lecturer want to give the username and password of their account to login but
if the user is student he/she can use the software without password but the student can’t give
the vote for module without gave their ID of their account. Registrar and Lecturer can access
the software by clicking the “Log In” button after giving their password and username.
Figure 43 : Student
If the user click the “No I’m Student” button they can visit this page to provide vote for their
module which Lecturer should teach. Before the users giving vote they must give their ID to
check user information and validation. If the user already gave the vote they can able to see
their billing information of their modules by clicking “Confirm Bill” button.
Figure 44 : Lecturer
This page for lecturers. If the lecturers enter correct username and password of their account
like figure 42. They can able visit lecturer’s page to provide their vote which they are going
to teach next semester not only they can vote but also they can able to see student votes also
by clicking “See students vote”.
Figure 45 : Registrar
This is registrar page he/she can add, edit and view of the student, lecturer and Modules of
the Stafford University. If he/she want to add something new he/she can use Registration
button it contain Student, Lecturer and Modules they can add by using the button. If he/she
want to edit information button which also contain like Registration button. Not only view
button different but also like other buttons. If the user want to log out the account he/she can
use the log out button by clicking that.
In here, lecturer registration can be held by Registrar by using this page if the registrar made
some typing mistakes he/she can use the reset button to clear all text box. After filling correct
information she/he can click the ADD button to add new lecturer and student registration also
like this.
Gantt chart
Appendix
OOPtry.zip
Future Enhancement
The main effort to create this system more user-friendly and creating the system with
more features like advanced graphical user interfaces that will make the user to attract to
interact and helpful to use the system efficiently and effectively. There might be a great
advantage if there is a new feature to add any new fields and details to the management system.
This will reduce in time consumption. An improvement should be done in the way of inserting,
updating and deleting the records in the University Management System. The user
documentation will give a brief knowledge to the user to interact and should improve the
graphical interfaces in user documentation. If I can make the system more attractive and
userfriendly, it will be more points in development. The Administrator in the university
management system should be given more options and increase the security.
Conclusion
This document is all about Object Oriented Programming, based on a database that
is developed for the Stafford University Management System. The main requirement of SU is
to maintain the university records efficiently and effectively using a proper management
system.
I have provided my best and developed this application which includes all the features.
In the first task I have briefly discussed the pillar concepts of Object Oriented Programming
by including its characteristics, purposes and with the examples which I have used in my
application. In the second task, I have identified the objects and data structures which is
required to implement the given design. In the third task, I have designed the use case
(including use case narratives), class, sequence and entity relationship diagrams for the given
scenario. In the fourth task, I have implemented the objected oriented solution using C#.net.
In the fifth task, I have provided the evidences of implementation of the object behaviors using
control structures. In the sixth task, I have evaluated the effective use of an IDE, including
important code snippets and screenshots of important UI’s. In the seventh task, I have
prepared the test plan that covers the important functionality of the system. In the eighth task,
I have analysed the actual test results using the test cases in order to overcome the discrepancies
occurred. In the ninth task, I obtained the independent feedback for the proposed solution
using questionnaires. And I had provided the recommendations and suggestions for the
improvements and the conclusion. In the tenth task, I have prepared the onscreen help and the
technical documentation for the developed system and the maintenance of the system.
Self-Criticism
I should specially convey my deepest gratitude to our lecturer Miss. Ishani Jayasuriya, who
helped me a lot to obtain the required information.
I guess that I have tried my best to deliver a best answer to the question based on the case
study. I hope the question were answered properly that satisfies the examiner. I had plenty of
time to complete this assignment before the deadline.
I tried and gave my best to produce this assignment and I have delivered the best answers to
the questions. I hope all the questions were answered properly, which satisfies the examiner.
When doing this assignment, I felt comfortable doing the assignments due to the liking and
willingness towards the subject, I was able to complete this assignment with my level best in
the given time period. This assignment made me strong and realizes many things about object-
oriented programming modules. Especially now I am well familiar with this module.
Strengths Weaknesses
Confidence in completing the assignment Difficulties in when explaining to others
before the deadline
Interest throughout the module and The time spent on a single task was quite
developing the system long
A big support from my family members Difficulties in arranging the tasks from
within the given time single documents
References
http://www.adobe.com/devnet/actionscript/learning/oop-concepts/objects-and-classes.html
Ching, P. (2017). Control Structures. [Blog] SMK Lundu ICT Class. Available at:
http://smklunduictclass.blogspot.com/2012/07/5154-differentiate-between-sequence.html
Cook, R. (2016). What is the sequence control structure?. [online] Quora. Available at:
https://www.quora.com/What-is-the-sequence-control-structure
Fowler, M. (2004). When to Use Sequence Diagrams | UML Sequence Diagrams | InformIT.
[online] Informit.com. Available at:
http://www.informit.com/articles/article.aspx?p=169507&seqNum=4
http://www.javahelps.com/2015/02/oop-polymorphism.html
Margaret, R. (2017). What is class? - Definition from WhatIs.com. [online] Available at:
http://whatis.techtarget.com/definition/class
Smartdraw.com. (2017). Use Case Diagrams - Use Case Diagrams Online, Examples, and
Tools. [online] Available at: https://www.smartdraw.com/use-case-diagram
Stackify. (2017). What Are OOPs Concepts in Java? The Four Main OOPs Concepts in Java,
How They Work, Examples, and More. [online] Available at:
https://stackify.com/oopsconcepts-in-c#/
November
N Task 01 December 01 December 15 December 28 January 20
o
W T F S W T F S W T F S W T F S W T
Selecting
1 and
studying
about the
Organizatio
n
2 Collected
informatio
n
starting
3 do the
Assignmen
t
4 Finishing
5 Finalizing
6 Submission