Anda di halaman 1dari 29

Acknowledgement

Special thanks to Mr. Sachithra Deepanatha, Centre Manager at Esoft Metro Campus Negombo.
My gratitude further extends Miss Malsha Sethunga for leading me towards the completion of the
assignment and for devoting the priceless hours in coordinating, guiding and inspiring me
throughout the assignment. Their guidance and advices also helped me in completing my
assignment successfully. And also I would like to thank my parents for giving me all the
opportunities to complete my assignment. They helped me in many ways that I have no words to
explain it. Finally I would like thank all my friends who helped me in finalizing this assignment
within the limited frame.

1
Mohamed Zeid 10062 OOP
Table of content:

Contents
Acknowledgement .......................................................................................................................... 1

1. Discuss the pillar concepts of Object Oriented Programming and provide


a comprehensive report which includes definitions, characteristics, purposes of using and
demonstrate applications of these pillar concepts with examples (preferably from your solution).
(LO 1.1)(M 1.1) .............................................................................................................................. 4

1.1 What is Object Oriented Programming (OOP?) ............................................................... 4

1.2 OOP concepts.................................................................................................................... 5

1.3 Principals of Object Oriented Programming..................................................................... 7

2. Identify the objects and data and file structures required to implement a given design. (LO
2.1) 9

3. Draw the Use Case Diagram, Class Diagram and Sequence Diagrams, ERD for the given
scenario. Use Case diagram should be supported with the Use Case narrations. (LO 2.2)(M 2.7)
11

4. Implement the Object Oriented solution using C#.Net for the proposed Design using a
suitable IDE. (LO 3.1). Include onscreen help to assist the users of SU.(M 3.1) ......................... 11

5. Provide evidences of Implementation of object behaviors using control structures to meet the
design algorithm (LO 3.3)............................................................................................................. 18

6. Evaluate effective use of an Integrated Development Environment (IDE), Include important


code snippets (such as of system-specific algorithms) and screenshots of important user interfaces
(LO 3.4)......................................................................................................................................... 19

7. Prepare a test plan and test your solution according to the plan. The proposed plan should
cover all important functionality of the system. (LO 4.1) ............................................................ 20

8. Analyze actual test results against expected results and to overcome the discrepancies
occurred......................................................................................................................................... 21

2
Mohamed Zeid 10062 OOP
9. Get independent feedback on your solution (use surveys, questioners, interviews or any other
feedback collecting method) and make recommendations and suggestions for improvements in a
separate conclusion/recommendations section. (LO4.3) (D1.4) ................................................... 23

10. Prepare onscreen help, a users’ guide and a technical documentation for the support and
maintenance of the software. (LO 4.4) (LO 4.5) .......................................................................... 28

3
Mohamed Zeid 10062 OOP
MAIN TASK:

1. Discuss the pillar concepts of Object Oriented Programming and provide


a comprehensive report which includes definitions, characteristics,
purposes of using and demonstrate applications of these pillar concepts with
examples (preferably from your solution). (LO 1.1)(M 1.1)

1.1 What is Object Oriented Programming (OOP?)

Object Oriented Programming (OOP) is a programming model where programs are organized
around objects and data rather than action and logic. OOP allows decomposition of a problem into
a number of entities called objects and then builds data and functions around these objects.

1. The software is divided into a number of small units called objects. The data and functions are
built around these objects.

2. The data of the objects can be accessed only by the functions associated with that object.

3. The functions of one object can access the functions of another object.

Advantages of object-oriented programming Limitation of object-oriented


programming
• Analysis and Design Made Easier • OOP is a high level concepts so takes more
• Code Reuse time to execute as many routines run behind
• Ease of Maintenance and Enhancement at the time of execution.
• Software maintenance cost can be reduced.
• Data access is restricted providing better data •
security.

4
Mohamed Zeid 10062 OOP
• Software is easily developed for complex • Increased burden on part of OOP
problems. developer.
• Modularity is achieved.
• Data abstraction is possible.

1.2 OOP concepts

Pillar concepts of Object Oriented Programming

Objects Objects are the basic run-time entities in an


object-oriented system. Programming problem
is analyzed in terms of objects and nature of
communication between them. When a
program is executed, objects interact with each
other by sending messages. Different objects
can also interact with each other without
knowing the details of their data or code.

Classes A class is a collection of objects of similar


type. Once a class is defined, any number of
objects can be created which belong to that
class.

Data abstraction and encapsulation Abstraction refers to the act of representing


essential features without including the
background details or explanations. Classes
use the concept of abstraction and are defined
as a list of abstract attributes. Storing data and

5
Mohamed Zeid 10062 OOP
functions in a single unit (class) is
encapsulation. Data cannot be accessible to the
outside world and only those functions which
are stored in the class can access it.

Inheritance Inheritance is the process by which objects can


acquire the properties of objects of other class.
In OOP, inheritance provides reusability, like,
adding additional features to an existing class
without modifying it. This is achieved by
deriving a new class from the existing one. The
new class will have combined features of both
the classes.

Reusability
Polymorphism Polymorphism means the ability to take more
than one form. An operation may exhibit
different behaviors in different instances. The
behavior depends on the data types used in the
operation. Polymorphism is extensively used
in implementing Inheritance the biggest
advantage of polymorphism is creation of
reusable code by programmers, classes once
written, tested and implemented can be easily
reused without caring about what’s written in
the cases.

Dynamic binding

6
Mohamed Zeid 10062 OOP
1.3 Principals of Object Oriented Programming

 Encapsulation
 Polymorphism
 Inheritance
 Abstraction

Encapsulation
we have to take in consideration that Encapsulation is somehow related to Data Hiding.
Encapsulation is when you hide your modules internal data and all other implementation
details/mechanism from other modules. It is also a way of restricting access to certain properties
or component.

Remember, Encapsulation is not data hiding, but Encapsulation leads to data hiding

Inheritance
Like the word Inheritance literally means it is a practice of passing on property, titles, debts, rights
and obligations upon the death of an individual. in OOP this is somehow true (Except the death of
an individual), where The base class (the existing class sometimes called as the Parent class) has
properties and methods that will be inherited by the sub class (sometimes called a subtype or child
class) and it can have additional properties or methods.

The ability of creating a new class from an existing class.

Polymorphism
Just like in biology, Polymorphism refers to the ability to take into different forms or stages. A
subclass can define its own unique behavior and still share the same functionalities or behavior of
its parent/base class. Yes, you got it right, subclass can have their own behavior and share some
of its behavior from its parent class not the other way around. A parent class cannot have the
behavior of its subclass.

Polymorphism is the ability of an object to change behavior on runtime

7
Mohamed Zeid 10062 OOP
Abstraction
Abstraction is a process of exposing essential feature of an entity while hiding other irrelevant
detail. Why would you want to use abstraction?

Abstraction reduces code complexity and at the same time, it makes your aesthetically pleasant.

Inheritance in my system…

8
Mohamed Zeid 10062 OOP
2. Identify the objects and data and file structures required to implement a
given design. (LO 2.1)

Class Object Data Data type


Sql connection con String ut =ut.text; String
Sql DataAdapter String un =un.text;
Login Student = new String pw =pw.text
student
Admin ,professor
Sql connection con Sid =txt_sid.text; String
Sql command cmd Snmae=txt_name.text;
Student Student stu = new Stn= txt_tn.text;
Admin Sadress=txt_ad.text;

Sql connection con Pid=txt_pid.text; String


Professor
SqlDataAdapter Name=txt_pname;

9
Mohamed Zeid 10062 OOP
SqlCommand tn =txt_tn.text;
Admin

Sql connection con Rid=txt_rid.text; String


SqlDataAdapter Un=txt_un.text;
register SqlCommand Pw =txt_pw.text;
Admin

Sql connection con Rid=txt_reqid; String


SqlDataAdapter Rname=txt_reqname.text;
Request
SqlCommand
sudent
SqlDataAdapter Bid=txt_bid.text; String
Sql connection con Rsmdate=txt.tsmdate.text;
Batch
SqlCommand
student class
Sql connection con cid=txt_cid.text; string
SqlDataAdapter cnme=txt_cn.text;
Course
SqlCommand duration=txt_du.text
sudent
Sql connection con Pid_txt_pid String
SqlDataAdapter Method=txt_method.text;
Payment
SqlCommand Date=txt_date.text;
sudent

10
Mohamed Zeid 10062 OOP
3. Draw the Use Case Diagram, Class Diagram and Sequence Diagrams, ERD
for the given scenario. Use Case diagram should be supported with the
Use Case narrations. (LO 2.2)(M 2.7)

ERD diagram

3.2 relationship

4. Implement the Object Oriented solution using C#.Net for the proposed
Design using a suitable IDE. (LO 3.1). Include onscreen help to assist the
users of SU.(M 3.1)

Login form

Main menu

11
Mohamed Zeid 10062 OOP
Admin menu

Student form

12
Mohamed Zeid 10062 OOP
Professor form

Course form

Register form

13
Mohamed Zeid 10062 OOP
Batch form

Request form

14
Mohamed Zeid 10062 OOP
Payment form

Professor menu

15
Mohamed Zeid 10062 OOP
Student menu

16
Mohamed Zeid 10062 OOP
 Add function witch u use

Tool tip

 Ex : like tool tip and others

17
Mohamed Zeid 10062 OOP
5. Provide evidences of Implementation of object behaviors using control
structures to meet the design algorithm (LO 3.3)

Control structures

If / else / else if..

18
Mohamed Zeid 10062 OOP
6. Evaluate effective use of an Integrated Development Environment (IDE),
Include important code snippets (such as of system-specific algorithms) and
screenshots of important user interfaces (LO 3.4)

19
Mohamed Zeid 10062 OOP
7. Prepare a test plan and test your solution according to the plan. The
proposed plan should cover all important functionality of the system. (LO
4.1)

Test case No Test case Expected results


1 Login form: Input correct user name, Display login successfully and
password and user type for admin , professor view admin menu, professor
or student menu or student menu.
(its effect on user type )
2 Login form: when input incorrect user name, Show error message. Check
password, or user type user name password or user
type
3 Admin menu: admin can change information Display message
and insert value. “Successfully inserted”
When admin insert value
4 Admin update student value Display message
“successfully updated”
5 When admin delete course information Show message “successfully
deleted”
6 When admin search student details Search students value and fill
Search student ID empty text boxes
7 When admin search batch details using batch Search course details and
ID show batch details
8 When the professor search professor details show professor information
9 Professor search course details view course information
10 Admin search request view request details
11 Student can search payment details Show payment data
12 When professor admin or student click logout How login form
button

20
Mohamed Zeid 10062 OOP
8. Analyze actual test results against expected results and to overcome the
discrepancies occurred.

Test Actual results Expecte Remar


case d k
No results
1 Login Pass
successf
ul and
display
Admin
menu
2 Display Pass
admin
menu

3 Display Pass
error
message

21
Mohamed Zeid 10062 OOP
10

22
Mohamed Zeid 10062 OOP
9. Get independent feedback on your solution (use surveys, questioners,
interviews or any other feedback collecting method) and make
recommendations and suggestions for improvements in a separate
conclusion/recommendations section. (LO4.3) (D1.4)

Feedback gathering form:

Interview person: ………………………………………………………….………………….….


Interviewer: ………………………………………………………………….……………….….
Data: ……………………………………………………………………………………………..
Location: …………………………………………………………………………...……………
Time: ………………………………………………………………………….………….……..

Criteria Excellent Very good Good Weak


System
Interface
Document
Grammar and
font
User friendly

Comments:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
………………………………………………………………………………………………….

…………………………… …………………………

23
Mohamed Zeid 10062 OOP
Signature date

Feedback gathering form:

Interview person: ………………………………………………………….………………….….


Interviewer: ………………………………………………………………….……………….….
Data: ……………………………………………………………………………………………..
Location: …………………………………………………………………………...……………
Time: ………………………………………………………………………….………….……..

Criteria Excellent Very good Good Weak


System
Interface
Document
Grammar and
font
User friendly

Comments:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
………………………………………………………………………………………………….

…………………………… …………………………

Signature date

24
Mohamed Zeid 10062 OOP
Feedback gathering form:

Interview person: ………………………………………………………….………………….….


Interviewer: ………………………………………………………………….……………….….
Data: ……………………………………………………………………………………………..
Location: …………………………………………………………………………...……………
Time: ………………………………………………………………………….………….……..

Criteria Excellent Very good Good Weak


System
Interface
Document
Grammar and
font
User friendly

Comments:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
………………………………………………………………………………………………….

…………………………… …………………………

Signature date

Feedback gathering form:

25
Mohamed Zeid 10062 OOP
Interview person: ………………………………………………………….………………….….
Interviewer: ………………………………………………………………….……………….….
Data: ……………………………………………………………………………………………..
Location: …………………………………………………………………………...……………
Time: ………………………………………………………………………….………….……..

Criteria Excellent Very good Good Weak


System
Interface
Document
Grammar and
font
User friendly

Comments:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
………………………………………………………………………………………………….

…………………………… …………………………

Signature date

Feedback gathering form:

26
Mohamed Zeid 10062 OOP
Interview person: ………………………………………………………….………………….….
Interviewer: ………………………………………………………………….……………….….
Data: ……………………………………………………………………………………………..
Location: …………………………………………………………………………...……………
Time: ………………………………………………………………………….………….……..

Criteria Excellent Very good Good Weak


System
Interface
Document
Grammar and
font
User friendly

Comments:
……………………………………………………………………………………………………
……………………………………………………………………………………………………
………………………………………………………………………………………………….

…………………………… …………………………

Signature date

27
Mohamed Zeid 10062 OOP
10.Prepare onscreen help, a users’ guide and a technical documentation for the
support and maintenance of the software. (LO 4.4) (LO 4.5)

28
Mohamed Zeid 10062 OOP
Bibliography

29
Mohamed Zeid 10062 OOP

Anda mungkin juga menyukai