Sei sulla pagina 1di 9

APPLICATION DEVELOPMENT

SPRING 2020
BS CS Elective

OOP: Class Work 1


Dr. Ahmad Kazmi
Department of Computer Science
Faculty of Information Technology
March 17, 2020
Application Development: Lecture 3
• Discussion on Class Work # 1
• Each Step Should be Understood by Each Student
• Students Should do Their Part and Share using Attachments
• Do work on paper, Use Phone (or Web Came) to take a Snapshot
• Share Snapshot using Teams
• Or email me
• Students can Discuss Class Work Among Them Selves
• Every Student Should Submit Their Work During Class
• Complete Remaining Class Work and Submit before Next Class on The Portal

3/17/2020 UCP Spring 2020 Application Development 2


Class Work # 1: Uploaded
• Download and Open Class Work 1
• Open your Solution for Class Work # 1
a. Understand Software Requirements Share your List of
i. Write All Requirements in terms of itemized Features List Features
ii. Write Use Cases for the features
Requirements: (basic from the given description) Requirements: (inferred from the given
1. Registration description)
1. Check for existing registration
1. Need to read user data from file in the
2. Login given format
1. User
2. Admin 2. Need to write user data in to a file in the
1. As self given format
2. As a user 3. Need to store User Data in to a Data
3. Check for unregistered user Structure
3. PrintInfo 4. Need to provide menu options:
1. Check for logged in user
1. Register and Add new User
2. User
3. Admin As
2. Login a User
1. Self 3. Logout a User
2. Other users 4. Delete or Remove a User
3/17/2020 UCP Spring 2020 Application Development 3
4. Menu 5. Find a User
Class Work # 1: Uploaded
a. Understand Software Requirements
i. Write All Requirements in terms of itemized Features List
ii. Write Use Cases for the features
• Use Cases capture the Use Scenarios of the Application
• Should not consider trivial (few line) use cases
Share your Use Cases
• Consider the following main Use Scenarios:
1. Registration
• Normal Steps: Entering of Required Data Fields
• Alternate Steps: User Already Exists
2. Login
• Normal Steps for User: Entering of Login ID and Password, verification or not
• Normal Steps for Admin: Entering of Self or Other User Login ID and Password, verification or not
• Alternate Steps:
• User Does not Exists and needs to Register before login
3. Print Info
• Normal Steps: Print Info on Screen
• Alternate Steps: User is not logged in
4. Menu
3/17/2020 Options UCP Spring 2020 Application Development 4
Class Work # 1: Uploaded Share your UML
b. Complete UML Class Design: Diagram
• Use at Least 4 Classes
• At least one inheritance relationship
• At least one relationship from Aggregation, Composition or Association
• Consider all Nouns for Classes with the following Restrictions
• Must be proper noun and a verb derivative e.g. registration or login is wrong
• Consider the main Entities involved
• User (class 1)
• Admin (class 2)
• Registration Data
• Contact Data (class 3)
• Login Data (class 4)
• Above 4 Classes and Their Relations:
• User is Parent of Admin Class
• User contains Contact and Login Data
• But What about:
• Who will store users and provide checking, before print info, for:
• Registration
• Login
• RegistrationAPP
3/17/2020 UCP Spring 2020 Application Development 5
Class Work # 1: UML Class Design:
(Alternate Designs)

Share your comments


Share your comments
on thisyour
Share Solution
comments
onWhichSolution
this Design is the
on this Solution
Best and Why?

3/17/2020 UCP Spring 2020 Application Development 6


Class Work # 1
c. Write Code for the classes in the UML and for Unit Tests for Each function
• Test for Reading User Data from File
• Test for User and Admin Registration Upload Your Code
• Test for User and Admin Login
• Test for User and Admin printInfo
d. Test: Write Test Cases and then run these test cases to verify working of your
application
• One Test Case per Use Case
e. Verify: Fill the following table (Assuming that all features, use and test cases are
numbered)
Feature Number Use Case # Test Case # Class
1.1. 1.1. 1.1. User, Admin,
Contact, Identity

3/17/2020 UCP Spring 2020 Application Development 7


Class Work # 1: Points to Ponder
• Understanding Requirements • You may discover more requirements of
• List all Features from the given description features
• Users’ data must be Saved in a File
• Two Type of Users
• Users’ data should be read from a File
• Registration
• User May Needs to Log Out
• Login
• Print Information • Write Use Cases for the Main Use
• Identify Main Use Scenarios Scenarios
• Registration
• User Enters Required Infor and that info is Saved
• Make sure user does not already exists
• Login
• Make sure the user exists (or have done
registration)
• Check if the User has entered correct ID and
Password
• Admin Login is Different
• Print Information
• Display User Info on Screen
• Check that User has Logged in
• Admin is Different
3/17/2020 UCP Spring 2020 Application Development 8
Class Work # 1: Points to Ponder
• Designing Class Diagram • Composition or Aggregation (for the time
being consider these same)
• Identifying Classes: • Consider if any class contains other classes
• Consider Proper Nouns that may be Classes • User has data
• User, Admin, Application, User Data etc. • if a class has two many attributes and
• Consider the Entities that are functions, Consider moving some attributes
• Doing Something (and functions) to a new class
• User, Admin, Application • This new class will be composed in the
previous class
• Something is being done to them
• Data is of Two Types:
• Data
• Contact
• Type of Data
• Login (or Identity)
• Relationships between classes • Association
• For Inheritance: • When no the relationship and one class
• Consider Classes that are of the same type or uses (calls functions of) another class
kind • Class Work # 1 does no have any
• User, Admin Associations
• Consider Creating a new Class containing
common attributes (and functions) for one of
more class
3/17/2020 UCP Spring 2020 Application Development 9

Potrebbero piacerti anche