0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
9 visualizzazioni9 pagine
This document discusses Class Work #1 for an Application Development course. It provides instructions for students to complete various tasks related to software requirements analysis, UML class diagram design, and unit testing for a registration application. Students are asked to share their work including a list of requirements, use cases, UML class diagram, and test code. The document also provides guidance on identifying key classes and relationships and considering different design options.
This document discusses Class Work #1 for an Application Development course. It provides instructions for students to complete various tasks related to software requirements analysis, UML class diagram design, and unit testing for a registration application. Students are asked to share their work including a list of requirements, use cases, UML class diagram, and test code. The document also provides guidance on identifying key classes and relationships and considering different design options.
This document discusses Class Work #1 for an Application Development course. It provides instructions for students to complete various tasks related to software requirements analysis, UML class diagram design, and unit testing for a registration application. Students are asked to share their work including a list of requirements, use cases, UML class diagram, and test code. The document also provides guidance on identifying key classes and relationships and considering different design options.
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