MONASH UNIVERSITY CAULFIELD CAMPUS SCHOOL OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING CSE2207/CSE3007 Rapid Applications Programming with Windows Semester 1, 2001 Student Handbook CONTENTS 1. OBJECTIVES..............................2 2. STAFF .........................................2 3. RESOURCES .............................3 4. ASSESSMENT ...........................4 5. ASSIGNMENTS .........................5 6. SYLLABUS ................................6 7. APPENDIX ONE: Visual Basic 6 Assignment …..8 1 CSE2207/CSE3007 Student Handbook 1. OBJECTIVES At the completion of this subject the student should: 2. 1. Have knowledge of the development environment provided by a windows-based programming tool, and be able to use one effectively. 2. Appreciate the process of Rapid Application Development, recognising where and how it can be used in building software applications. 3. Understand the different data formats and standards which are available in a Windows environment, and recognise the value and importance of timely, comprehensive information within a management information system. 4. Have skills to develop programs to current commercial standards, which integrate and process data from a variety of data stores, using facilities such as DLLs, OLE, ADO and ActiveX 5. Be familiar with the development environments of Visual Basic 6.0 and Delphi 5, recognising their commonality, and the features which make them particularly suited to the RAD approach in building computer applications. STAFF Lecturer: Sylvia Tucker Room B5.16 Phone 9903-2705 Email: sylvia.tucker@csse.monash.edu.au Tutors: Sam Bai Joey Chong Kelsey Van Haaster Raj Soni Punita Udeshi Siew Ping Wong gbai1@student.monash.edu.au joeychong@hotmail.com kelsey@optushome.com.au rajads@hotmail.com piyu5@hotmail.com wsp@ihug.com.au 2 CSE2207/CSE3007 Student Handbook 3. RESOURCES: Lecture: Tutorials: Tuesday, 6pm - 8pm B2.13 Tuesday: T1, 8pm-10pm, K1.07 T2, 8pm-10pm, K1.10 T3, 8pm-10pm, K1.08 Thursday T4, 9am-11am, B3.43B T5, 9am-11am, B3.46 T6, 9am-11am, B3.43 Wednesday T8, 10am-12noon, TBlock T2.16 T10, 10am-12noon, K1.10 Thursday T7, 5pm-7pm, B3.46 T9, 5pm-7pm, B3.43B Subject Web Site: http://www.csse.monash.edu.au/courseware/cse2207 Recommended Text: Guide to Visual Basic 6 Peter Norton and Michael Groh 1998 SAMS (Macmillan Computer Publishing) Other resources: MCSD Guide to Developing Desktop applications with Visual Basic 6.0 Advanced Topics Michael V. Ekedahl Course Technology Programming in Visual Basic 6.0 Julia Case Bradley, Anita C. Millspaugh 2000 McGraw-Hill Programming with Visual Basic 6.0 Diane Zak 2000 International Thomson Publishing The MSDN (Microsoft Development Network) Library available on-line Mastering Delphi5 Marco Cantu Sybex Borland Delphi 5 on-line Help 3 CSE2207/CSE3007 Student Handbook 4. ASSESSMENT VB6 Assignment 30% Delphi 5 Assignment 10% Unit Test 10% Tutorial Work 10% Final Exam (3 hours) 40% ------------------------------------------Total 100% -------------------------------------------To pass this subject: a minimum of 40% must be obtained by assessment under exam conditions, i.e. for the Final Exam + the Unit Test a minimum of 40% must be obtained for work not done under exam conditions, i.e. for the VB6 Assignment + the Delphi Assignment + the Tutorial work. an overall average of 50% minimum must be obtained for all assessment tasks. Students who do not meet the 40% minimum for either component will obtain a fail (N) with a maximum of 44% for the subject, or a near pass grade (NP) with a maximum of 49%. Practical Assignment(s) Assessment (30% + 10% = 40%) Assessment of the assignments will be based on demonstrations and individual interviews. Students may find it useful to share ideas during the development of the assignments however it is required that EACH ASSIGNMENT SUBMISSION MUST BE UNIQUE. Appropriate penalties will be applied where this is not the case. See notes on plagiarism below. Tutorial Work (10%) Each week (except for Weeks 4, 9 and 13) 1 mark will be allocated for the successful completion of the designated tutorial work for that week.. The assessable tutorial work must be completed by each student on their own, IN THE TUTORIAL FOR THAT WEEK. In this way, the tutor can be satisfied that it is solely the work of that student. Any assessable tutorial work completed outside of the tutorial WILL NOT BE ASSESSED. Unit Test (10%) The Unit Test will be in Week 6, and will be based on material covered in Lectures 1-5 inclusive. Final Exam Assessment (40%): The final exam will be of 3 hours duration. It will have theory questions relating to the process of Rapid Application Development, and practical questions requiring detailed knowledge of how to develop applications using Visual Basic 6 and Delphi 5 4 CSE2207/CSE3007 Student Handbook 5. ASSIGNMENTS Practical Assignments: The aim of the assignments is to familiarise students with the development environments and functionality provided by Visual Basic 6.0 and Delphi 5. Assignment 1 will be implemented in Visual Basic 6.0 Assignment 2 will be implemented in Delphi 5 Both of these software development tools will be available in the student labs on campus. If you choose to develop your assignments using a different version of the software, you must ensure that The version you are using has the features necessary to complete the assignment as specified You yourself must provide the means for your tutor to assess your assignments in Weeks 4, 9 and 13 Assignments may be done in groups of 2 (max) students IN THE SAME TUTORIAL GROUP. If you choose to do the assignment on your own, you are still required to complete all tasks as specified. It is YOUR responsibility to complete the assignment tasks on time, and demonstrate them to your tutor in the designated weeks. There will be penalties for late submissions. Plagiarism: Refer to information on the web page: http://www.csse.monash.edu.au/~ajh/adt/policies/plagiarism.html Plagiarism is the unacknowledged representation of someone else's work as one's own. It includes the unacknowledged use of sections of text, quotations, original ideas, graphics, diagrams, charts, tables or figures. In the computing field, plagiarism also includes the unacknowledged use of program source code or parts thereof, program documentation, program designs, executable programs, binary files or web documents. 5 CSE2207/CSE3007 Student Handbook 6 SYLLABUS WEEK 1 (26/2/2001) Lecture: Subject Introduction / Administration Details Overview: Rapid Applications Development Visual Basic 6 WEEK 2 (5/3/2001) Lecture: Prototyping Event-driven programming Controls A VB project Tutorial: Explore the Visual Basic IDE Explore Visual Basic ‘Help’ Forms design/build using simple components Tutorial: Build a project, step by step using the Application Wizard. Investigate the result. WEEK 3 (12/3/2001) Lecture: Prototyping (contd) Application design, TOE charts Navigation, Form Handling VB6.0 programming fundamentals Tutorial: A simple project: - TOE chart - interface - code, using Subs and Functions WEEK 4 (19/3/2001) Lecture: Incremental Implementation Requirements Elicitation Selection, Iteration Communicating with the user Tutorial: DEMONSTRATION and ASSESSMENT of VB6 ASSIGNMENT INTERFACE WEEK 5 (26/3/2001) Lecture: Menus MDI, SDI Data entry, validation Tutorial: MDI Exercise Menus WEEK 6 (2/4/2001) Lecture: Database Programming Bound Controls Tutorial: 1st Hour: Unit Test 2nd Hour: the Data Form Wizard Exercise with DataCombos 6 CSE2207/CSE3007 Student Handbook WEEK 7 (9/4/2001) Lecture: Database Programming (contd.) Web Applications with VB6 Tutorial: Web Browser exercise Create a DHTML application EASTER BREAK: GOOD FRIDAY 13th April - Sunday 22nd April inclusive WEEK 8 (23/4/2001) Lecture: Data Sharing with the Clipboard, OLE Specialist Controls, ActiveX Controls Help Files Deploying the Application Tutorial: Create an ActiveX control Create a Help File Use the OLE control WEEK 9 (30/4/2001 Lecture: The Borland Delphi 5 IDE Object Pascal overview The Visual Component Library Tutorial: DEMONSTRATION and ASSESSMENT of WHOLE VB ASSIGNMENT WEEK 10 (7/5/2001) Lecture: Database Programming in Delphi 5 Tutorial: A Delphi5 application, step by step WEEK 11 (14/5/2001) Lecture: Printing Reports Tutorial: Exercise using the Form Wizard Exercise using QuickReport WEEK 12 (21/5/2001) Lecture: MDI in Delphi Multimedia controls ActiveX Web applications with Delphi 5 Tutorial: MDI exercise WEEK 13 (28/52001) Lecture: Summary of RAD Tools Processes People Revision and exam details Tutorial: DEMONSTRATION and ASSESSMENT of DELPHI 5 ASSIGNMENT 7 CSE2207/CSE3007 Student Handbook APPENDIX ONE VISUAL BASIC 6.0 ASSIGNMENT Overview A Company called MovieMotion wishes to computerise its seat reservations, ticketing and reporting functions, and have asked you to be their contract consultant over the next thirteen weeks. You have agreed to develop the system using Microsoft Visual Basic 6.0, with the option of investigating how some of the system functions (in particular the reports)would run using Borland Delphi 5. The data will be held in a Microsoft Access 2000 database, which can be used by both VB and Delphi. Allocation of Marks Final allocation of marks for the Visual Basic Assignment by your Tutor will be based on: - satisfactory weekly tutorial development - successful demonstration of assignment tasks - explanation of assignment design and code to your tutor - Deliverables are due Week 9. They consist of : Hierarchy chart/Site Navigation diagram of forms used, indicating how the forms are accessed from each other TOE chart for the form which supports the creation of the weekly Movie Session Schedule Screen shots of all forms, with data in them, accompanied by a brief description of the functionality of each form, and your particular implementation of it Code for the module that handles the Bookings 8 CSE2207/CSE3007 Student Handbook System Description 1.1 Site Operation Details The company operates cinemas that show the latest start-of-the-art films with maximum multimedia effects. It currently has one site in Victoria with the following details: Site No: Name: Address: 1 Highpark MovieMotion 141 Kingston Drive Highpark Victoria 3331 Seat Capacity: 48 Phone: 9932-9876 Fax: 9932-9666 Manager: Mr. Oliver Rodrigo The cinema can run up to 4 sessions each day of the week including weekends. Each session starts on the hour and lasts for approximately 40 minutes. Movie session times can vary from week to week, and the cinema manager organizes the sessions at the beginning of every week. Under Government legislature the following rules apply to the cinema: First session can only start after 1pm Last session has to finish prior to 12 midnight There is no limitation on how many times a particular movie can be shown, and of course, more than one movie can be shown on any particular day. However, you can only show one movie per session (they have only one movie theatre). 1.2 Booking Categories There are two categories of bookings. Private bookings are made by customers who come to the theatre and buy their ticket for a session during that week. They pay for the ticket at that time. Corporate or Group bookings are usually made over the phone. For such bookings, an additional session is created, on top of normal sessions - group bookings cannot take the time slot of a normal session. The usual Government rules about screening times also apply. These bookings must book out the whole cinema, so all the seats are booked to the group or company. A non-refundable deposit of $100 is applicable to this type of booking. 1.3 Ticket Type and Price Children (Age 7 to 15) Concession (e.g. student, pensioners) Adult Group/Corporate booking $5 $7.50 $10 $300 per session ($100 of this is the deposit) 9 CSE2207/CSE3007 Student Handbook 2.0 The Database This is a proposed database model for the system. You can modify it in any way. However, if you make changes, then explain and justify these changes in the assignment documentation. The database contains at least these five tables: Movie Session Group TicketType Booking Following is the data model of the six tables. Group Movie Booking TicketType Session If you would like to create more tables or fields in the database to support the required tasks you may do so, provided you justify your action. You will then submit the design of the extra tables and their place in the data model with your final documentation. 10 CSE2207/CSE3007 Student Handbook 2.1 The Database Tables Group Table Field Name Field Type, Length Description GroupID Autoincrement Primary Key. Cannot be changed Only for Corporate bookings Include a title e.g. Mr, Ms etc Full mailing address (multiple fields?) Cater for mobile numbers too e.g. CASH ONLY! This field requires password access Company Name Contact Name Address Phone Notes Movie Table Field Name Field Type, Length Description MovieID Autoincrement Primary Key. Cannot be changed MovieTitle MovieDirector Rating MovieLength Notes e.g. G, MA, R Recorded in minutes Session Table Field Name Field Type, Length Description SessionID Autoincrement Primary Key. Cannot be changed. Foreign Key MovieID SessionDate StartTime SeatsAvailable GroupSession? Must follow Government rules Always starts with 48 Default is NO. 11 CSE2207/CSE3007 Student Handbook Booking Table Field Name Field Type, Length Description BookingID Autoincrement Primary Key. Cannot be changed. Foreign Key Foreign Key - 00 for a Private booking Foreign Key For demographic statistics From 1-48 for a Private Booking. otherwise 00 Cost of this booking For Private bookings, this is the same amount as Total Cost SessionID GroupID TicketTypeCode Postcode SeatNumber TotalCost AmountPaid TicketType Table Field Name Field Type, Length Description TicketTypeCode Primary Key. Cannot be changed. There are currently 4 ticket types As specified in 1.3 For Group Bookings only, otherwise 0 TicketPrice DepositRequired Field Type and Length are specifications which you are to work out, based on the required use of the data. 12 CSE2207/CSE3007 Student Handbook Assignment Tasks For Demonstration to your Tutor for Assessment in Week 4 Task 1 Create the interfaces/forms that allow the cinema receptionist to take a booking from a private customer, and from a group. At this stage, no code needs to be written. Just design the forms required. Step through the task, and consider what s/he needs to see on the screen in order to make a booking. This complete task will inevitably involve more than one form. When a customer comes to buy a ticket, they should be presented with a screen showing the layout of the cinema, and which seats are still available. (See below for a simple example). After they choose a seat, then the remainder of their customer details need to be taken. Consider the situation where a customer wants to buy more than one ticket e.g. for their whole family. How can you handle this? Remember that every 'private' customer booking (and every group booking) needs to be recorded for extracting statistics later. If a group/corporate booking is being made, it is possible that that Company has made bookings with the cinema before. On the other hand, they may be new customers, in which case their group details need to be taken. Task 2 Create a 'Splash Screen' and Password Screen for your application. Task 3 Design a TOE chart to support the creation of the weekly schedule for the movie sessions Extension Work for Week 4 Link together all the forms/screens created so far. 13 CSE2207/CSE3007 Student Handbook For Demonstration to your Tutor for Assessment in Week 9 Task 4 Create the database tables in Access 2000 and enter sufficient data to support all the assignment tasks. Task 5 Using the feedback from your tutor for your interface design in Week 4, create the interfaces/forms to allow data to be added, changed and deleted for the following tables: Session Table Group Table Task 6 Using an MDI application structure, design and code a menu which allows maximum flexibility of access to the major functions of the system . Consider whether any of the forms should be modal. Link all the forms via code, paying particular attention to actions to be performed when a form appears, and when it is removed. Task 7 Write the code for the tasks of the system. These should include as minimum requirements: Taking, changing and deleting bookings for private and group/corporate customers Setting up the new sessions for the week: involves add, change and delete of sessions Task 8 Create a 'Help' File which provides context-sensitive help for the form that supports the maintenance of the Session Table. Task 9 The manager would like to get some 'Web Exposure' for the cinema. Use a Web Browser control to create a minimum of one web page to advertise what is provided by the cinema. Task 10 Create an ActiveX control which allows the user to input values only between 1 and 48 inclusive (refer to your lecture notes). Then use the ActiveX control to input the number of seats a customer wants to book. 14 CSE2207/CSE3007 Student Handbook Extensions Notes Sometimes a customer wants to know which sessions that week are showing a particular movie. What can you display? Add, change and delete movies in the Movie table Add, change and delete ticket types in the TicketType table. Allow private customers to phone the cinema and make bookings. They are asked to pay a deposit of 20% of the total cost of their booking. They pay the remainder when they come to collect their tickets. The cinema Manager needs to send a follow up letter to group and corporate customers who have not paid the balance of their booking. Make a WORD document available with as much information already written in it as possible. When a customer (private or group) makes a booking for a session, then if the movie showing at that session is rated R (for restricted audience), notify the cinema receptionist so s/he can warn the customer. The office manager likes to employ a young student to help out with data entry. Create a Wizard that guides the student through the process of adding a new movie to the movie table. When you design the interface for the forms, keep in mind that the user of the system will usually be someone taking information over the phone, or with a customer standing in front of them. Consider what information they need for each task, and the fact that they have limited time to perform the transaction. How many hands will they need to complete the task on the screen? To obtain a HD in this subject, at least two Extension tasks must be completed satisfactorily - check with your tutor when choosing which extensions to do, as some are clearly more difficult than others. End of Document 15 CSE2207/CSE3007 Student Handbook