28-10-2016, 10:45 AM
1461876742-onlinequizportalproject.docx (Size: 100.47 KB / Downloads: 3)
ABSTRACT:
It is good source of interactivities among students and between the teacher and students. It is done in order to improve student‘s comprehension levels and learning motivation. As one of their tools, online test tools are quite effective. However, in order to use the online test tool, a teacher is generally required a great deal of labor.
For example, a teacher needs to create quizzes and input them in the online test tool.
In order to solve these problems, we have developed a Web-based online test system which can create quizzes competitively and collaboratively by students for the purpose of reducing the load required for a teacher and promoting interactions among students and between the teacher and students.
ABOUT THE PROJECT
The ONLINE QUIZ is a web application for to take online test in an efficient manner and no time wasting for checking the paper. The main objective of ONLINE QUIZ is to efficiently evaluate the candidate thoroughly through a fully automated system that not only saves lot of time but also gives fast results. For students they give papers according to their convenience and time and there is no need of using extra thing like paper, pen etc. This can be used in educational institutions as well as in corporate world. Can be used anywhere any time as it is a web based application(user location doesn’t matter). No restriction that examiner has to be present when the candidate takes the test.
. PROBLEM DEFINITION
2.1 EXISTING SYSTEM:
The first problem is that there are loads of hard copied documents being generated. This brings us to the age-old discussion of keeping information in the form databases versus keeping the same on sheets of paper. Keeping the information in the form of hard-copied documents leads to the following problems.
2.2DRAWBACKS OF EXISTING SYSTEM:
I. Lack of space – It becomes a problem in itself to find space to keep the sheets of paper being generated as a result of the ongoing discussion. The documents being generated are too important to be ill-treated.
ii. Filing poses a problem – Filing the documents categorically is a time consuming and tedious exercise.
iii. Filtering is not easy – It becomes hard to filter relevant documents for the irrelevant ones if the count of the same crosses a certain manageable number.
iv. Reviewing becomes time-consuming – All the process done manually at the centers and all the records are maintained on the papers. So the maintenance of the record is very difficult in the departments and as well as it’s very difficult for the workers to check the record. The Existing system is paper based, time consuming, monotonous, less flexible and provides a very hectic working schedule. The chance of loss of records is high and also record searching is difficult. Maintenance of the system is also very difficult and takes lot of time.
v. Result Processing: is slow due to paper work and requirement of staff.
2.3 PROPOSED SYSTEM:
This Web Application provides facility to conduct online examination world wide.
It saves time as it allows number of students to give the exam at a time and displays the results as the test gets over, so no need to wait for the result. It is automatically generated by the server. Administrator has a privilege to create, modify and delete the test
papers and its particular questions. User can register, login and give the test with his specific id, and can see the results as well.
2.4 FEATURES OF PROPOSED SYSTEM:
FUNCTIONAL CAPABILITIES: The ultimate aim of this project is to help the quiz analysis and facilitate the faculties the faculties for easy evaluation of the students and generation of the automatic score cards.
The system shall display the set of questions with certain rules. It also displays the category for which the students wish to answer.
Once the student has completed choosing the category starts answering the questions. The mark is given and report is generated based on the correct answers.
PERFORMANCE LEVEL: The scope of this project gives immense opportunity for the students to know their levels in quiz. It provides effective software so as to help the students as well as the evaluators who are involved in evaluating the student’s performance.
DATA STRUCTURES: The data in this project are maintained in the tabular form using MYSQL in the form of database. It provides easy access to the user. Easy category questions are maintained in the database which provides easy for the user to access and choose the category.
SAFETY: No data loss occurs in the quiz system.
1. It is very much protected in such a way that it gives permission to the students to access only when the username and password is correct.
2. The results are produced electronically so that nobody is prone to mistakes.
RELIABILITY: We assure that the project is completely authenticated in order to enhance security and corruptions of database as well as the software. The person is given access only if he/she has a valid username and password.
QUALITY: The project is developed with the help of visual basic 6.0 software which meets the requirement of the user, the project is checked whether the phases individually have a served its purpose.
2.5FEASIBILITY STUDY:
What are the user’s demonstrable needs?
User needs a web-based system, which will remove all the above-mentioned Problems that, the user is facing. The user wants a web-based system, which will reduce the bulk of paperwork, provide ease of work, flexibility, fast record finding, modifying, adding, removing and generating the reports.
How can the problem be redefined?
We proposed our perception of the system, in accordance with the problems of existing system by making a full layout of the system on paper. We tallied the problems and needs by existing system and requirements. We were further updating in the layout in the basis of redefined the problems. In feasibility study phase we had undergone through various steps, which are described as under:
How feasible is the system proposed? This was analyzed by comparing the following
factors with both the existing system and proposed system.
Cost :The cost required in the proposed system is comparatively less to the existing
system.
Effort :Compared to the existing system the proposed system will provide a better working environment in which their will be ease of work and the effort required will be comparatively less than the existing system.
Time :Also the time required generating a report or for doing any other work will be
comparatively very less than in the existing system. Record finding and updating will take less time than the existing system.
Labor :In the existing system the number of staff required for completing the work is
more while the new system will require quite less number of staff.
CHAPTER 3
3. SOFTWARE REQUIREMENTS SPECIFICATION
3.1 INTRODUCTION:
It is good source of interactivities among students and between the teacher and students. It is done in order to improve student‘s comprehension levels and learning motivation . As one of their tools, online test tools are quite effective. However, in order to use the online test tool, a teacher is generally required a great deal of labor.
For example, a teacher needs to create quizzes and input them in the online test tool.
In order to solve these problems, we have developed a Web-based online test system which can create quizzes competitively and collaboratively by students for the purpose of reducing the load required for a teacher and promoting interactions among students and between the teacher and students.
3.2 REQUIREMENT ANALYSIS:
Requirements analysis in systems engineering and software engineering, encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of the various stakeholders, such as beneficiaries or users. Requirements analysis is critical to the success of a development project. Requirements must be documented, actionable, measurable, testable, related to identified business needs or opportunities, and defined to a level of detail sufficient for system design. Requirements can be architectural, structural, behavioral, functional, and non-functional.
The development of project needs some requirement to make the project perform better and achieves the goal of project. In developing Online Quiz, the capabilities of computer and hardware plays a big impact on project quality. The project maker should determine the minimum requirements of hardware and also software to be used to develop a good and attractive project. There are two phases of requirement analysis as given below :
1) Primary Research: Identifying the user requirements conducting a survey based on a questionnaire.
2) Secondary Research: Comparing the indentified requirements with already existing software. having similar functionalities. Based on these researches the result is defined as the Software Requirement Specification .
3.2.1 PURPOSE:
This Web Application provides facility to conduct online examination world wide. It saves time as it allows number of students to give the exam at a time and displays the results as the test gets over, so no need to wait for the result. It is automatically generated by the server. Administrator has a privilege to create, modify and delete the test papers and its particular questions. User can register, login and give the test with his specific id, and can see the results as well.
3.2.2 SCOPE:
Scope of this project is very broad in terms of other manually cheking yourself.
Few of them are:-
-This can be used in educational institutions as well as in corporate world.
-Can be used anywhere any time as it is a web based application (user Location doesn’t matter).
-No restriction that examiner has to be present when the candidate takes the test.
3.2.3 INTERFACE REQUIREMENTS:
3.2.3.1 HARDWARE REQUIREMENTS:
The processor used is intel®core™2 duo at 2 GHz. The capacity of Random Access Memory (RAM) is 4GB. The capacity of the storage element of disk space is 2.99GB. The monitor used is HDMI monitor. The keys available in the keyboard is 104 keys.
3.2.3.2 SOFTWARE REQUIREMENTS:
The client used is the web browser( any ). The Database Server used is MYSQL workbench 5.2 CE. The application Server used is WASCE (Web Sphere Application Server Community Edition) . The front end is visual basic 6.0.
3.2.4 FRONT END
INTRODUCTION TO VISUAL BASIC
Visual basic is most popular programming language in the world, and generally use as a front end for database application. There are some important reasons to use Visual Basic rather than others.
Capability: VB is capable of producing software as sophisticated as any of the others data-access techniques available. There is little you can do in say, Developer 2000 that cannot be implemented equally well with ADO or OO4O.
Flexibility: You do not have to use VB for only database access. You can use it to write a text processor, an e-mail listener, or 10,000 other tasks.
Familiarity: Being the most popular language in the world means there is as steady supply of talented staff for you to add to your development teams. When the general supply is short, you will still be more likely to find development staff then for other language.
Popularity: The popularity of a product is important for you to become familiar with because you will see more magazine articles and books as well as have better supply of third-party products from companies who will devote their resources in which there is a playback
Microsoft Visual Basic, the fastest and easiest way to create applications for Microsoft Windows. Whether you are an experienced professional or brand new to Windows programming, Visual Basic provides you with a complete set of tools to simplify rapid application development.
The "Visual" part refers to the method used to create the graphical user interface (GUI). Rather than writing numerous lines of code to describe the appearance and location of interface elements, you simply add prebuilt objects into place on screen. If you've ever used a drawing program such as Paint, you already have most of the skills necessary to create an effective user interface.
The "Basic" part refers to the BASIC (Beginners all-purpose Symbolic Instruction Code) language, a language used by more programmers than any other language in the history of computing. Visual Basic has evolved from the original BASIC language and now contains several hundred statements, functions, and keywords, many of which relate directly to the Windows GUI. Beginners can create useful applications by learning just a few of the keywords, yet the power of the language allows professionals to accomplish anything that can be accomplished using any other Windows programming language.
The Visual Basic programming language is not unique to Visual Basic. The Visual Basic programming system, Applications Edition included in Microsoft Excel, Microsoft Access, and many other Windows applications uses the same language. The Visual Basic Scripting Edition (VBScript) is a widely used scripting language and a subset of the Visual Basic language. The investment you make in learning Visual Basic will carry over to these other areas.
Whether your goal is to create a small utility for yourself or your work group, a large enterprise-wide system, or even distributed applications spanning the globe via the Internet, Visual Basic has the tools you need.
• Data access features allow you to create databases, front-end applications, and scalable server-side components for most popular database formats, including Microsoft SQL Server and other enterprise-level databases.
• ActiveX™ technologies allow you to use the functionality provided by other applications, such as Microsoft Word word processor, Microsoft Excel spreadsheet, and other Windows applications. You can even automate applications and objects created using the Professional or Enterprise editions of Visual Basic.
• Internet capabilities make it easy to provide access to documents and applications across the Internet or Intranet from within your application, or to create Internet server applications.
• Your finished application is a true .exe file that uses a Visual Basic Virtual Machine that you can freely distribute.
Visual Basic Editions
Visual Basic is available in three versions; each geared to meet a specific set of development requirements.
• The Visual Basic Learning edition allows programmers to easily create powerful applications for Microsoft Windows and Windows NT®. It includes all intrinsic controls, plus grid, tab, and data-bound controls.
• The Professional edition provides computer professionals with a full-featured set of tools for developing solutions for others. It includes all the features of the Learning edition, plus additional ActiveX controls, the Internet Information Server Application Designer, integrated Visual Database Tools and Data Environment, Active Data Objects, and the Dynamic HTML Page Designer.
• The Enterprise edition allows professionals to create robust distributed applications in a team setting. It includes all the features of the Professional edition, plus Back Office tools such as SQL Server, Microsoft Transaction Server, Internet Information Server, Visual SourceSafe, SNA Server, and more.
3.2.5 BACK END
INTRODUCTION TO MYSQL SERVER
OVERVIEW OF THE MYSQL DATABASE MANAGEMENT SYSTEM
MySQL, the most popular Open Source SQL database management system, is developed, distributed, and supported by MySQL AB. MySQL AB is a commercial company, founded by the MySQL developers. It is a second generation Open Source company that unites Open Source values and methodology with a successful business model.
• MySQL is a database management system.
A database is a structured collection of data. It may be anything from a simple shopping list to a picture gallery or the vast amounts of information in a corporate network. To add, access, and process data stored in a computer database, you need a database management system such as MySQL Server. Since computers are very good at handling large amounts of data, database management systems play a central role in computing, as standalone utilities, or as parts of other applications.
• MySQL is a relational database management system.
A relational database stores data in separate tables rather than putting all the data in one big storeroom. This adds speed and flexibility. The SQL part of “MySQL” stands for “Structured Query Language.” SQL is the most common standardized language used to access databases and is defined by the ANSI/ISO SQL Standard. The SQL standard has been evolving since 1986 and several versions exist. In this manual, “SQL-92” refers to the standard released in 1992, “SQL:1999” refers to the standard released in 1999, and “SQL:2003” refers to the current version of the standard. We use the phrase “the SQL standard” to mean the current version of the SQL Standard at any time.
• MySQL software is Open Source.
Open Source means that it is possible for anyone to use and modify the software. Anybody can download the MySQL software from the Internet and use it without paying anything. If you wish, you may study the source code and change it to suit your needs. The MySQL software uses the GPL (GNU General Public License), to define what you may and may not do with the software in different situations. If you feel uncomfortable with the GPL or need to embed MySQL code into a commercial application, you can buy a commercially licensed version from us. The MySQL Database Server is very fast, reliable, and easy to use.
If that is what you are looking for, you should give it a try. MySQL Server also has a practical set of features developed in close cooperation with our users. You can find a performance comparison of MySQL Server with other database managers on our benchmark page.
MySQL Server was originally developed to handle large databases much faster than existing solutions and has been successfully used in highly demanding production environments for several years. Although under constant development, MySQL Server today offers a rich and useful set of functions. Its connectivity, speed, and security make MySQL Server highly suited for accessing databases on the Internet.
• MySQL Server works in client/server or embedded systems.
The MySQL Database Software is a client/server system that consists of a multi-threaded SQL server that supports different backends, several different client programs and libraries, administrative tools, and a wide range of application programming interfaces (APIs).
We also provide MySQL Server as an embedded multi-threaded library that you can link into your application to get a smaller, faster, easier-to-manage standalone product.
• A large amount of contributed MySQL software is available.
It is very likely that your favorite application or language supports the MySQL Database Server.
The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”), but we don't mind if you pronounce it as “my sequel” or in some other localized way.
History of MySQL
We started out with the intention of using the mSQL database system to connect to our tables using our own fast low-level (ISAM) routines. However, after some testing, we came to the conclusion that mSQL was not fast enough or flexible enough for our needs. This resulted in a new SQL interface to our database but with almost the same API interface as mSQL. This API was designed to allow third-party code that was written for use with mSQL to be ported easily for use with MySQL.
The derivation of the name MySQL is not clear. Our base directory and a large number of our libraries and tools have had the prefix “my” for well over 10 years. However, co-founder Monty Widenius's daughter is also named My. Which of the two gave its name to MySQL is still a mystery, even for us.
The name of the MySQL Dolphin (our logo) is “Sakila,” which was chosen by the founders of MySQL AB from a huge list of names suggested by users in our “Name the Dolphin” contest. The winning name was submitted by Ambrose Twebaze, an Open Source software developer from Swaziland, Africa. According to Ambrose, the feminine name Sakila has its roots in SiSwati, the local language of Swaziland. Sakila is also the name of a town in Arusha, Tanzania, near Ambrose's country of origin, Uganda.
The Main Features of MySQL
The following list describes some of the important characteristics of the MySQL Database Software, for more information about current and upcoming features.
Internals and Portability:
• Written in C and C++.
• Tested with a broad range of different compilers.
• Works on many different platforms.
• Uses GNU Automake, Autoconf, and Libtool for portability.
• APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available.
• Fully multi-threaded using kernel threads. It can easily use multiple CPUs if they are available.
• Provides transactional and non-transactional storage engines.
• Uses very fast B-tree disk tables (MyISAM) with index compression.
• Relatively easy to add other storage engines. This is useful if you want to add an SQL interface to an in-house database.
• A very fast thread-based memory allocation system.
• Very fast joins using an optimized one-sweep multi-join.
• In-memory hash tables, which are used as temporary tables.
• SQL functions are implemented using a highly optimized class library and should be as fast as possible. Usually there is no memory allocation at all after query initialization.
• The MySQL code is tested with Purify (a commercial memory leakage detector) as well as with Valgrind, a GPL tool
• The server is available as a separate program for use in a client/server networked environment. It is also available as a library that can be embedded (linked) into standalone applications. Such applications can be used in isolation or in environments where no network is available.
Data Types:
• Many data types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes long, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME,TIMESTAMP, YEAR, SET, ENUM, and OpenGIS spatial types. Fixed-length and variable-length records.
Statements and Functions:
• Full operator and function support in the SELECT and WHERE clauses of queries. For example:
• mysql>SELECT CONCAT(first_name, ' ', last_name)
• ->FROM citizen
• ->WHERE income/dependents > 10000 AND age > 30;
• Full support for SQL GROUP BY and ORDER BY clauses. Support for group functions (COUNT(), COUNT(DISTINCT ...), AVG(), STD(), SUM(),MAX(), MIN(), and GROUP_CONCAT()).
• Support for LEFT OUTER JOIN and RIGHT OUTER JOIN with both standard SQL and ODBC syntax.
• Support for aliases on tables and columns as required by standard SQL.
• DELETE, INSERT, REPLACE, and UPDATE return the number of rows that were changed (affected). It is possible to return the number of rows matched instead by setting a flag when connecting to the server.
• The MySQL-specific SHOW statement can be used to retrieve information about databases, storage engines, tables, and indexes.
The EXPLAIN statement can be used to determine how the optimizer resolves a query.
• Function names do not clash with table or column names. For example, ABS is a valid column name. The only restriction is that for a function call, no spaces are allowed between the function name and the ‘(’ that follows it.
• You can mix tables from different databases in the same query (as of
• MySQL 3.22).
Security:
• A privilege and password system that is very flexible and secure, and that allows host-based verification. Passwords are secure because all password traffic is encrypted when you connect to a server.
Scalability and Limits:
• Handles large databases. We use MySQL Server with databases that contain 50 million records. We also know of users who use MySQL Server with 60,000 tables and about 5,000,000,000 rows.
• Up to 64 indexes per table are allowed (32 before MySQL 4.1.2). Each index may consist of 1 to 16 columns or parts of columns. The maximum index width is 1000 bytes (767 for InnoDB); before MySQL 4.1.2, the limit is 500 bytes. An index may use a prefix of a column for CHAR, VARCHAR,BLOB, or TEXT column types.
Connectivity:
• Clients can connect to the MySQL server using TCP/IP sockets on any platform. On Windows systems in the NT family (NT, 2000, XP, 2003, or Vista), clients can connect using named pipes. On Unix systems, clients can connect using Unix domain socket files.
• In MySQL 4.1 and higher, Windows servers also support shared-memory connections if started with the --shared-memory option. Clients can connect through shared memory by using the --protocol=memory option.
• The Connector/ODBC (MyODBC) interface provides MySQL support for client programs that use ODBC (Open Database Connectivity) connections. For example, you can use MS Access to connect to your MySQL server. Clients can be run on Windows or Unix. MyODBC source is available. All ODBC 2.5 functions are supported, as are many others.
• The Connector/J interface provides MySQL support for Java client programs that use JDBC connections. Clients can be run on Windows or Unix. Connector/J source is availableMySQL Connector/NET enables developers to easily create .NET applications that require secure, high-performance data connectivity with MySQL. It implements the required ADO.NET interfaces and integrates into ADO.NET aware tools. Developers can build applications using their choice of .NET languages. MySQL Connector/NET is a fully managed ADO.NET driver written in 100% pure C#.
Localization:
• The server can provide error messages to clients in many languages.
• Full support for several different character sets, including latin1 (cp1252), german, big5, ujis, and more. For example, the Scandinavian characters ‘å’, ‘ä’ and ‘ö’ are allowed in table and column names. Unicode support is available as of MySQL 4.1.
• All data is saved in the chosen character set. All comparisons for normal string columns are case-insensitive.
• Sorting is done according to the chosen character set (using Swedish collation by default). It is possible to change this when the MySQL server is started. To see an example of very advanced sorting, look at the Czech sorting code. MySQL Server supports many different character sets that can be specified at compile time and runtime.
Clients and Tools:
• MySQL Server has built-in support for SQL statements to check, optimize, and repair tables. These statements are available from the command line through the mysqlcheck client. MySQL also includes myisamchk, a very fast command-line utility for performing these operations on MyISAM tables
• All MySQL programs can be invoked with the --help or -? options to obtain online assistance.
MySQL Stability
This section addresses the questions, “How stable is MySQL Server?” and, “Can I depend on MySQL Server in this project?” We will try to clarify these issues and answer some important questions that concern many potential users. The information in this section is based on data gathered from the mailing lists, which are very active in identifying problems as well as reporting types of use.
The original code stems back to the early 1980s. It provides a stable code base, and the ISAM table format used by the original storage engine remains backward-compatible. At TcX, the predecessor of MySQL AB, MySQL code has worked in projects since mid-1996, without any problems. When the MySQL Database Software initially was released to a wider public, our new users quickly found some pieces of untested code. Each new release since then has had fewer portability problems, even though each new release has also had many new features.
Each release of the MySQL Server has been usable. Problems have occurred only when users try code from the “gray zones.” Naturally, new users don't know what the gray zones are; this section therefore attempts to document those areas that are currently known. The descriptions mostly deal with Versions 3.23 and later of MySQL Server. All known and reported bugs are fixed in the latest version, with the exception of those listed in the bugs section, which are design-related.
The MySQL Server design is multi-layered with independent modules. Some of the newer modules are listed here with an indication of how well-tested each of them is:
• Replication (Stable)
Large groups of servers using replication are in production use, with good results. Work on enhanced replication features is continuing.
• InnoDB tables (Stable)
The InnoDB transactional storage engine has been stable since version 3.23.49. InnoDB is being used in large, heavy-load production systems.
• Full-text searches (Stable)
Full-text searching is widely used. Important feature enhancements were added in MySQL 4.0 and 4.1.
• MyODBC 3.51 (Stable)
MyODBC 3.51 uses ODBC SDK 3.51 and is in wide production use. Some issues brought up appear to be application-related and independent of the ODBC driver or underlying database server.
How Large MySQL Tables Can Be
MySQL 3.22 had a 4GB (4 gigabyte) limit on table size. With the MyISAM storage engine in MySQL 3.23, the maximum table size was increased to 65536 terabytes (2567 – 1 bytes). With this larger allowed table size, the maximum effective table size for MySQL databases is usually determined by operating system constraints on file sizes, not by MySQL internal limits.
The InnoDB storage engine maintains InnoDB tables within a tablespace that can be created from several files. This allows a table to exceed the maximum individual file size. The tablespace can include raw disk partitions, which allows extremely large tables. The maximum tablespace size is 64TB.
The following table lists some examples of operating system file-size limits. This is only a rough guide and is not intended to be definitive. For the most up-to-date information, be sure to check the documentation specific to your operating system.
On Linux 2.2, you can get MyISAM tables larger than 2GB in size by using the Large File Support (LFS) patch for the ext2 filesystem. On Linux 2.4, patches also exist for ReiserFS to get support for big files (up to 2TB). Most current Linux distributions are based on kernel 2.4 or higher and include all the required LFS patches. With JFS and XFS, petabyte and larger files are possible on Linux. However, the maximum available file size still depends on several factors, one of them being the filesystem used to store MySQL tables.
Windows users please note: FAT and VFAT (FAT32) are not considered suitable for production use with MySQL. Use NTFS instead.
By default, MySQL creates MyISAM tables with an internal structure that allows a maximum size of about 4GB. You can check the maximum table size for aMyISAM table with the SHOW TABLE STATUS statement or with myisamchk -dv tbl_name.
If you need a MyISAM table that is larger than 4GB and your operating system supports large files, the CREATE TABLE statement supports AVG_ROW_LENGTHand MAX_ROWS options. You can also change these options with ALTER TABLE to increase a table's maximum allowable size after the table has been createdOther ways to work around file-size limits for MyISAM tables are as follows:
• If your large table is read-only, you can use myisampack to compress it. myisampack usually compresses a table by at least 50%, so you can have, in effect, much bigger tables. myisampack also can merge multiple tables into a single table
• .
• MySQL includes a MERGE library that allows you to handle a collection of MyISAM tables that have identical structure as a single MERGE table.
3.2.6 CASE TOOL
INTRODUCTION TO RATIONAL ROSE :
This is a brief overview to get students started in using Rational Rose to quickly create object-oriented models and diagrams. It is not by any means a complete introduction to Rational Rose, but it should get you started.
A. GETTING STARTED:
Click on Start, Programs, Rational Suite Development Studio 1.5, and then on Rational Rose 2000 Enterprise Edition (not the one that has the arrow next to it). You will now see a window appearing that says “Create New Model”. This is for working with Java, Oracle, and VB. Just press “Cancel”.
Next, you see the main window called “Rational Rose- [untitled]” and a smaller window within it called “Class Diagram: Logical View / Main”. There is also a browser on the left side of the page that has the diagrams that you are working on in the project. If you ever want to see the specifics on any diagram that you are working on, go to the browser, click on the “ + “, and you’ll be able to see what is in that view. To close the view, click on the – “.
B. USE-CASE DIAGRAM:
1. The first diagram you’ll be working on is a use-case diagram. Go to Browse
and click on Use Case Diagram. You will get a window saying Select Use Case
Diagram.Click on OK. You now will see a new window called Use Case
Diagram: Use Case View / Main. You will see a set of tools to the left of this window. These tools are specific to the Use Case diagram and will be used to create it. To make a Use Case, go to the tools and click on the one that looks like an oval. This is the Use Case button. (Note: If you ever want to know if it’s the right button, just hold the mouse arrow over the button for two seconds, and it will tell you what the button is.)
2. Once you have clicked on the Use Case button, position the new mouse pointer wherever you want on the page and click again. The oval will now appear on the page. Now, type in a name for your Use Case. To reposition the Use Case, just click once on the Use Case.To change it’s property (name etc.)double click on the Use.
3. Now, we need to add some actors, which are actually the classes in this
project (you’ll see this later as you continue). Click on the stick figure in the
toolbox. Now, click anywhere on the Use Case Diagram to place the actor. Once again, name your actor. As with the use cases, to reposition the actor click once or change its name, double click on the actor.
4. Finally, we want to connect the use cases with the actors. In order to do this, click in the toolbox on the box that has the curved arrow that says
Unidirectional Association. This will allow you accomplish this task. You are now finished with the Use Case Diagram portion of the project. Don’t forget to save!!!
5. Now, we want to give the attributes their types, initialize the types, and
distinguish the attributes as public, private, or protected. To do this, double click on the class anywhere that is blank. A new window called Class Specification will pop up. Click on attributes.Double click on the attribute that you want to select. Another new window called Class Attribute Specification pops up. In this window, you can initialize your attribute to any value, specify if it’s public, private, or protected, and give it the type.
6. Next, we add some methods to our class. To insert a method of the class, right click on the class and this time select new operation. Now, type in the name of the method of the class. We also want to add arguments for the new operation. To do this, once again, double click on the class anywhere that is blank. The Class Specification window will again pop up. Click on operations. Double click on the method that you want to select. Another new window called Operation Specification pops up. In this window, the General tab is already selected. (If not, select it). Here you can decide if the methods will be public, private, or protected. After doing this, select the Detail tab. Right click in thespace below Name. Select insert. Now, type in the name of the argument. Hit tab to insert the argument’stype. Hit tab again if you want to set the argument to default. Press OK and you’re back toOperations. Press OK again.
7. Great. Now that we have all the classes created, we can create an
UNIDIRECTIONAL ASSOCIATION connection between classes. Click on theUNIDIRECTIONAL ASSOCIATION icon. Now, click on the first class, hold the mouse button down, drag the mouse to the other class, and release the mouse button. To name the association,double click on the association connection line. The Association Specification window pops up. Type the Association name in the space provided. Press OK. Now, we need to insert the cardinality of the class association. To do this, right click on the association connection line, next to the first class. Select multiplicity and finally select the correct cardinality. Do the same for the second class
* If you nave more than 1 association between 2 classes, be careful. If you select association between the 2 classes again, it will overlap the first one. Click on the line, drag the other association, and release it. You can change the association properties (name, cardinality by double clicking on them).
8. It’s time for AGGREGATION. It’s basically done the same way that Association is done. First create the UNIDIRECTIONAL ASSOCIATION connection as above. * Be careful! Create the aggregation by starting off on the class that you want the diamond attached to, then right click on the association line and press AGGREGATE. Don’t forget to save!!!
D. STATE DIAGRAMS
1.Up until now, we dealt with the entire system, all the classes and use cases.
Now, we’re going to pick one of the classes and create a state diagram for it,
specifically the book class. You need to let Rational Rose know which class
you’re going to use for the State Diagram. Select the book class by clicking on it once. Now, in theBrowse menu, select State Machine Diagram. Click OK. Now a window New State Machine Diagram pops up. In the diagram type click on STATECHART. Click OK. The state chart diagram pops up with a tool bar besides it.
2. The first thing to do is get the Start State of the diagram. To do this, click on the black dot icon. This is the Start State. Position the new mouse pointer wherever you want on the page and click again. You can double click on the start state and change it’s property (name etc.).
3. Next, click on the State icon (which is a rectangular icon). Once you have
clicked on the state button, position the new mouse pointer wherever you want on the page and click again. A rounded rectangle representing the state will now appear on the page. Now, type in a name for your class by first double clicking on the state. To reposition the class, just click once on the class. To change its name, click twice.
4. Let’s now give the transition between the states. To do this, click on the State Transition icon (which is an inclined arrow icon)on the tool bar. Click first on the state that the transition is coming from, and drag it to the state that the transition is going towards. To name the transition, double clickon the transition and type in the name.
5. Continue this with all states. Finally, you should have an End State. The end state is reached when the item in the state diagram is thrown out. Connect the transition to this state in the same manner as you did with the other states. You can draw the End State by first clicking on the end state icon (a black dot with a circle around it), and then positioning it wherever you want it in the page.
Don’t forget to save!!!
E. SEQUENCE DIAGRAMS
1. The last diagram in this exercise is the Sequence Diagram. Once again, this is a dynamic diagram, like the state diagram. Go to the Browse menu and select Interaction Diagram. In the Select Interaction Diagram indow that pops up, choose Logical View and click on OK. When the windowNew Interaction Diagram pops up, choose sequence as the diagram type and type the title. The tool bar comes beside the diagram.
(Note: A Collaboration Diagram is almost the same as a Sequence Diagram. In this exercise, we will use the Sequence Diagram).
2. First, we need to choose the class objects that will be interacting in the
diagram. To do this, choose the object icon (which is a rectangular icon). Position the new mouse pointer wherever you want on the page and click again. To name the class object, double click on the object (or click inside the rectangle and type).
3. To show a transition in the Sequence Diagram, click the right arrow icon, the ObjectMessageicon. This is the “Object Message” icon used for transitions. Click on the vertical dotted line that extends from the bottom of the class object and drag it to the vertical dotted line of the second class object.
4. To make a self-transition, click on the “U-turn” arrow, the Message To Self icon . This is the “Message to Self” icon. No dragging is necessary.
5. To name either transition, double click on the transition and type in the
name.
* Note: You can move the transitions slightly up or down as needed by clicking on them and dragging them.