130 likes | 151 Views
Home Assignment (what, where and when). What to do?. Full description – on course web page Given : 3 base systems [see the web page] Create : at least 6 aspects (2 for each system) Work in pairs
E N D
Home Assignment(what, where and when) Aspect-Oriented Software Development (236601)
What to do? • Full description – on course web page • Given : 3 base systems [see the web page] • Create : at least 6 aspects (2 for each system) • Work in pairs • You are allowed to add functionality to the base systems in order to enable (and justify) adding your aspects. [but do not have to] Aspect-Oriented Software Development (236601)
Requirements • At least one aspect of each category (spectative, regulative, weakly invasive, strongly invasive) • At least one “aspect over another aspect” • At least one “non-specific” aspect • Non-trivial aspects (for example, no “count all calls of method X”) • Natural, really useful aspects Aspect-Oriented Software Development (236601)
Submission Submit by e-mail (emika @ cs): • Code of all the aspects • Documentation [what the aspects do] • Explanation [why it should all work] • Tests (sample runs to indicate correctness) • Due by Dec. 31, 2006, noon • E-mail subject: “236601-1-ID1 ID2” • Name of the file: “ID1.zip” Aspect-Oriented Software Development (236601)
Where to work? • SSDL lab (2-nd floor, room 236) [you can, but don’t have to] • Details about the lab – on the course web page • Each of you has an account in the lab – please check access! (with your faculty Windows account login and password) • Entrance to the lab – with your student cards (should work by now – check it!) Aspect-Oriented Software Development (236601)
Base Systems - Exam System • Manipulates fractions • Generates and checks online exams • Simple arithmetic exercises for fractions Aspect-Oriented Software Development (236601)
Exam System - classes RationalExam class is the main class: • initiates exams • generates questions • accepts answers, and checks whether the answer is correct Help class: the Rational class Aspect-Oriented Software Development (236601)
Shopping Mall Parking • Goal: Collecting payment for the parking. • At each entrance tickets with arrival time are printed • At each exit the ticket is collected and: - the payment is calculated (according to the ticket time) - the payment is collected from the driver - the gate is opened. • Three entrances, three exits Aspect-Oriented Software Development (236601)
Shopping Mall Parking - classes TicketAutomat (3 instances) • Prints entrance tickets PaymentMachine (3 instances) • Calculates payment (according to the ticket) • Accepts payment (and checks it) Help class: Ticket (stores arrival time) Aspect-Oriented Software Development (236601)
Bank System • Enables its users : - to withdraw money - to check balance - to transfer money • Operations are guarded by a secret code / password • The user is allowed to proceed with the request if correct code is entered together with the account number (or – correct login and password). Aspect-Oriented Software Development (236601)
Bank System - Classes ATM (3 instances) • Passes the secret code and acc. num. to the server • Passes the user’s requests to the server (money withdrawal, account balance check) • Passes the server’s answers to the user Internet terminal (2 instances) • Passes the login and password to the server • Passes the user’s requests to the server (money transfer, account balance check) • Passes the server’s answers to the user Aspect-Oriented Software Development (236601)
Bank System – Classes (contd.) Server (one instance) • Checks code • Checks password • Provides account balance info • Performs money withdrawal • Performs money transfer • Communicates with the ATMs and the terminals Aspect-Oriented Software Development (236601)
Good luck! (questions? emika @ cs !)