HERE. - Monash University

advertisement
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
Download