CIS/IMSE 450 and ECE 478

advertisement
CIS 285
Final Project
Due Dates: April 18th, 2006
Designing a Phone System
In this project, you are required to simulate a phone switching application. The
application starts with a GUI showing picture of the phone switch and a button to add
new phone to the switch. The switch supports maximum of eight phones. The switch is
represented by a simple 2X4 close box matrix. The switch can have three states –
UNUSED (no color filled), USED (filled using black color), and CONNECTED (filled
using red color). When user selects “Add Phone” – the application creates a new phone
and assigns it a random phone number. As this phone registers with the switch,
appropriate box of 2X4 matrix is filled with black color (USED state). The newly
registered phone number is then printed next to the switch box. A user can create
maximum of eight phones to connect to the eight available switches.
When user chooses to create a new phone using “Add Phone”, the application creates a
new phone in a separate window. The top of the window shows the number of newly
created phone. Each phone shall have 9 buttons as found in regular. In addition, there is
a button labeled “Dial” to place a call. While simulating this phone system, you must
design it to support all its internal states such as IDLE, DIALING, RINGING,
TALKING, BUSY etc. The state list identified here is by no mean complete. While in
operation, phone must display its internal state on the window using appropriate icon.
The cancel button of phone shall kill that window and deregister it from the switch.
The switch helps connecting two phones. Your simulation must represent accurate state
information of two phones in use (connected). If a third phone tries dialing the phone in
use, it must show BUSY state. When two phones are in conversation, use RED
color(CONNECTED state) to fill the 2X4 matrix box that is in use. Use appropriate
icons to represent various phone states.
Steps to follow:







Identify all functional requirements of your system
Identify all use cases of your system
o Draw activity diagram depicting detailed scenario of execution of the
identified use cases
Develop graphical user interface of the Switch and Phone forms and import the
project to your Visual Studio environment.
Design the phone application class with associated attributes and methods.
Design phones state machine
Identify association between GUI classes and phone class.
Create a class diagram representing this relation ship.





Generate code for phone object.
Implement phone object and logic that connect it with the GUI forms.
Synchronize the code with your design model.
Complete your design in the class diagram.
Draw sequence diagram of “Make call” use case.
Deliverables:


Printout of following artifacts
o Functional requirements document (10 points)
o Use case diagram (5 points)
o Activity diagram for each use case (identify exceptions as applicable) (10
points)
o Class diagram representing your design (clearly mark associations,
aggregations, compositions, and multiplicity) (20 points)
o Sequence diagram of “Make call” use case (10 points)
o State diagram of appropriate system objects ( 10 points)
o Printout of the source code (make sure you use CVS extensively). (10
points)
o Printout of Unit tests of Phone object (10 points)
o Proper implementation and execution of application (15 points)
Submit your code, design, and binary in a zipped form on VLT.
Download