Apache Derby MySQL Derby Migration Tool

System and Software Requirements Definition (SSRD)

MySQL Derby Migration Tool

1. Version History

Date

Author

Version

Changes Made

Rationale

6/5/2006

Ramin Moazeni

1.0

Initial Draft Started

Table of Contents

VERSION HISTORY
TABLE OF CONTENTS
TABLE OF FIGURES

1. Overview of System and Software Requirements Definition

2. Project Requirements

3. Capability (Functional) Requirements
4. System Interface Requirements

5. Common Definition Language for Requirements

1 Overview of System and Software Requirements Definition

1.1 Status of System and Software Requirements Definition

The purpose of this document is to achieve a set of requirements and also identify major issues and constraints. This document lists all the requirements needed for the successful implementation of the system and they are listed under several categories and have a priority associated with them to give the reviewer a good idea of the significance of each of these requirements.

1.2 References

2 Project Requirements

2.1 Budget and Schedule

Table 1: Budget for system development

Project Requirement

PR-1: The system shall be created with a Zero dollar budget.

Description

The system uses MySQL and Derby databases which are open source. Also, there are no required tools or software that needs to be purchased.

Priority

Nominal

Table 2: Project Schedule

Project Requirement

PR-2: The project shall be completed in a schedule of 3 months at the end of which the client will be given a tool that can be used for migration from MySQL to Derby.

Description

The Project will be completed in 3 months period. Also, the client will be given a working version of the system so that a conclusion can be drawn on will it fit into /integrate with Apache derby Database

Priority

Must Have

2.2 Development Requirements

This section has requirements that help gather information on the development of the project e.g. Language Requirements, Computer Hardware and Software Requirements.

2.2.1 Tools Requirements

Table 3: Eclipse as development tool

Project Requirement

PR-3: Usage of Eclipse (Integrated Development Enterprise) for development of project.

Description

Eclipse will be used as a Java development environment. Eclipse provides extensible tools and frameworks that span the software development lifecycle, including support for modeling, language development environments for Java.

Priority

Nominal

2.2.1 Language Requirements

Table 4: Implementation Language

Project Requirement

PR-4: The system shall use Java for implementation.

Description

The system will be programmed in Java which means that JDBC will be used to facilitate communication with the database.

Priority

Must Have

2.2.3 Computer Hardware Requirements

N/A

2.2.4 Computer Software Requirements

Table 5: Database Management Systems

Project Requirement

PR-5: Usage of MySQL and Apache Derby Database management Systems

Description

MySQL and Apache Derby shall be used as a Database Management System for this project.

Priority

Nominal

2.2.5 Computer Communication Requirements

Table 6: Network with atleast two machines

Project Requirement

PR-6: A Network with atleast two machines.

Description

This means that it is needed to arrange a network if two or more machines need to communicate. Also, it is needed to choose a protocol over which they will communicate.

Priority

High

2.2.6 Support Compliance Requirements

2.3 Development Requirements

Table 9: Installation and User Training support

Project Requirement

PR-9: The system should be provided with Installation and user manual for the client to deploy and test the system. The client should be trained about the system during transition.

Description

Once the prototype has been built, the client will be provided with a user manual and an installation guide on about how to go about using and working with the system. This will actually train the client on how to use the system.

Priority

High

2.4 Transition Requirements

N/A

2.5 Support Environment Requirements

Table 11: Client Support

Project Requirement

PR-11: The Client should support the system after delivery of the migration tool.

Description

The client should continue to support the system after the delivery of a successful working migration tool and pursue the development of the system to the scale they had thought of.

Priority

High

Table 12: Java standard compliance.

Project Requirement

PR-12: The system should be implemented with Java compliance to JDK 1.5.

Description

As Java is used to program the prototype, JDK 1.5 is needed to support its development. Also, the reason JDK v1.5 is chosen is because it is the latest version and as backward compatibility is not an issue, old system on previous version of JDK can be integrated.

Priority

Very High

Table 13: Database SQL compliance

Project Requirement

PR-13: The system should allow switching to a SQL-compliant RDBMS and this should be configurable.

Description

This means that the database (RDBMS) at the target system must be SQL compliant because SQL is primarily what the clients will be using and is most commonly used for Databases across the industry.

Priority

High

Table 14: Conversion of data

Project Requirement

PR-14: The conversion of data in the system from one format to another shall be reliable and accurate.

Description

The data migration from source DBMS to the target DBMS over network of machines or instances must not change the data and not corrupt the format. Also, the transaction must be atomic and task of the transfer of data from one end to the other must be achieved

Priority

Must Have

3 Capability Requirements

3.1 System Definition

Apache Derby is a relational, light weight, embedded database developed entirely in Java. Being an embedded database it is very flexible in its use and can be used either embedded inside an application sharing the same JVM as the application or can be embedded inside a server framework (such as Geronimo) or can be deployed as a standalone server (with the Network server framework) in a traditional client server environment.

The MySQL to derby migration tool will be developed to help System/Database administrators with the task of migrating their data from MySQL to Apache Derby. The migration tool will migrate database objects such as Tables, Views, Stored Procedures, etc. from MySQL database to derby database. The tool will be designed to have Graphical User Interface.

3.2 System Requirements

4 System Interface Requirements

4.1 User Interface Requirements

4.1.1 Graphical User Interface

4.1.2 Command-line Interface

4.2 Hardware Interface Requirements

N/A

4.3 Communication Interface Requirements

N/A

4.4 Software Interface Requirements

N/A

5 Common Definition Language for Requirements

Terms used in this Document relevant to the system (not in any particular sequence).

MysqlDerbyMigration/RequirementDocument (last edited 2009-09-20 22:11:38 by localhost)