Open University Ou M450 Project

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Open University Ou M450 Project as PDF for free.

More details

  • Words: 3,745
  • Pages: 11
Stephen Burrows U5184463

1

M450 TMA 01 ­  26/02/08

Stephen Burrows U5184463 TMA 01 M450 1 Projective Title A browser-based academic report management, formatting and delivery system 2 Problem description and scope I work for a English language school, teaching young learners who come to England for one or two months for intensive courses. After the end of each course, a report has to be written and sent to the parent of the young learner, giving an overview of their progress. Currently, reports are created using a general Microsoft Word template, the name of each student is written into each report template by an administrator and the student's teacher will complete the report. Once this is done, the administrator will print out all the reports, place them in envelopes and send them to the parents at various addresses around the world. This produces many problems. Teachers find it inconvenient to have to complete the reports in the school where computers are limited. Sometimes teachers will e-mail the report templates to themselves, so they can complete the reports at home in their own time. However, administrators complain when this is done because many times the formatting of the document is corrupted and it takes a long time to reformat the document. Another big problem is with the delivery of the reports because the reports are frequently sent late and sometimes don't arrive at all. All staff would like a system implemented where reports could be sent by e-mail if the parent desired. But, the head-administrator, in a meeting to try and find a solution to this problem, said that writing the e-mail and attaching the file would be even more time consuming for them. She suggested if there was a tool that would automatically send reports to all parents requesting them by e-mail then the problem would be solved, but as of yet, that tool does not exist. I intend to create a secure, browser-based system, using a three tier architecture, that will permit teachers to complete reports from their home or in the office via a web-browser. It will also allow administrators to choose how the completed reports should be delivered and also give an option for which format the document should be sent in. The school already has an active and well designed staff Intranet in place, so I intend for the system to replicate its familiar look and feel. The end product will be two secure web pages containing forms, one for teachers, the other for administrators, the functions of which will allow the users to manage, format and choose the delivery process of the report. Being a user of one element of the system, I am able to identify the basic requirements for the teacher side of the system, however I will consult with other teachers once an initial prototype has been developed. With regards to the administrator side, I have already explained the idea

Stephen Burrows U5184463

2

M450 TMA 01 ­  26/02/08

of the project to the school's head administrator and she is willing to provide me with any information, support and feedback I may require.

3 Major project elements and sub-tasks 3.1 Sub-Task 1 – Developing a Database It's not possible for me to use the actual school database for both logistical and ethical reasons, so a small scale replication is required. The main tasks for this are as follows: 1. Analysis of different types of databases and tools available to complete the task. Also an investigation into whether a purely XML based database could be used opposed to a relational database. A decision also needs to be made to the extent of which the database will be populated. 2. Design of the database, choosing the most appropriate tables and fields to replicate the the school's database. Deciding upon relations between table. Creation of a UML diagram that can be used as a reference. 3. Implementation of the database, the tables need to be created and populated, the latter task could be painfully time consuming. The database needs to be registered with a connectivity system that will enable the report management system to communicate with it, sending queries and data. Alternatives to ODBC may need to be investigated as the system is being developed on Linux. 4. Evaluate the database by creating views of sets of required data and producing small Java classes that test the connection between IDE and the database. 3.2 Sub-Task 2 – Developing the Teacher's Report Management System As previously mentioned, as a proposed user of this system, I have a good knowledge of what is required and many of the the elements of this sub-task use skills I have learned on previous OU courses. The main tasks are as follows: 1. Analysis of user needs and report format. How can completing the current word document report be effectively handled using a internet browser. Also, the various server side coding options need to be look at and analyzed and an appropriate technology chosen before the design stage. 2. Design of the report entry form, could be done with a simple paper prototype, using feedback from users to decide on the format of the form. The business objects of the system need to be identified so that the database mapping can be completed. Early UML diagram of classes and methods should be made prior to coding. At this stage care should be taken so that code can be reused for the Administrator system. 3. Implementation of coding, small, workable systems should be coded providing possible users prototypes to examine and provide feedback. Coding will be done in Java, used to create servlets or Java Server Pages that will provide the browser based interaction between the user and the database. 4. The system will be tested and evaluated by using the application and creating a testing environment were prototype reports can be displayed without formatting.

Stephen Burrows U5184463

3

M450 TMA 01 ­  26/02/08

3.3 Sub-Task 3 – Implementation of Document Formatting This is the area of the task the delves into a technical area which I have only previously touched upon, XML and document formatting. Due to this, I expect the Analysis stage to be much longer than any of the other sub-tasks. 1. Analysis of extracting data from relational databases and formatting it into XML needs to be made by searching for documentation in books and in the OU Library. Communication needs to be made with administration staff to discover the various formats of documents they desire and in which circumstances, 2. Design of an appropriate XML schema/DTD for the database and a XSLT for style processing of each document that needs to be made. 3. Implementation of the DTD, schema and XSLT style sheet. 4. Evaluation of created documents. Debugging of potential problems with style formatting. Testing documents on different operating systems. 3.4 Sub-Task 4 – Developing the Administrator Report Delivery System I intend to reuse a lot of the code that was created in sub-task 2 for this sub-task. The main focus with this task will be analysis and design. I am not a user of this system and need to liaise closely with users to make sure they have a system which fulfills all their requirements. I want to also make sure that there is scope for the system to be expanded if required now or at some time in the future. 1. Analysis of user requirements, meetings are required to discover user needs. Some investigation will be required in SMTP and how it can be effectively used in this system. For this, research of books and documents in the OU library will be required. 2. Design of the system, taking into account the user requirements and also how it can interact and synthesize with the teacher's report management system. Paper prototypes need to be created and approved by administration staff. Once approved, a UML diagram needs to be created to assist the implementation of the system. 3. Implementation of the code, a lot of which I hope will already have been created previously. Most of the new implementation of code will be concentrated on the system for the sending of reports. 4. Evaluation of the system through testing by the developer via testing programs and then by the potential users of the system via a wide range of e-mail tools, operating systems and browsers. 3.5 Sub-Task 5 – Applying Secure Access Features to the System This final task will use a lot of things that I learned in my previous M360 course, a relevant technology will need to be chosen and a login page designed. 1. Analysis of secure internet facilities available and their affect upon performance. Information will be attained mostly through internet sources and the OU library. It may be a good idea to create a table which documents findings and provides an easy way

Stephen Burrows U5184463

4

M450 TMA 01 ­  26/02/08

to compare and contrast different encryption technologies. How the usernames and passwords will be administered also needs to be analysed. 2. Design of a secure user login page and possible altering of previous implementations. 3. Implementation of the code and any possible alterations of previosly coded implementations. 4. Evaluation of secure services through testing by development team and users.

4 Project life-cycle Due to the amount of sub-tasks or use-cases in my project, a conventional waterfall development method just wouldn't be appropriate for me. I would find it very difficult to analyze the whole project in one stage, then move on to the development of it and the implementation and finally the testing. An iterative approach would be far more appropriate, allowing me to create prototypes of the system which can be presented to the customer and subsequently changed and improved based upon their feedback. However, an iterative waterfall life-cycle still doesn't help the problem of developing several different use-cases at different times. The way I have identified the sub-tasks means it would be far better to have several small iterative waterfall life-cycles per sub-task, where small pieces of working code can be presented to a customer and built upon one use-case at a time. Extreme Programming (XP) development would allow me to do this. XP development uses a common framework of 3 week iteration cycles were some kind of working system, no matter how basic, can be produced and presented to the customer for evaluation. XP development also encourages refactoring, where existing code is revisited and reused, and this is what I want to do in sub-task 4. One area of XP development I am nervous about is the lack of a definite plan or certain deadline to a project. In some ways it is an honest life-cycle as it doesn't promise unrealistic deadlines, but this project has a deadline, so I do have to schedule the project with the aim of getting it all completed by a specific date. So overall I will be using many of the principal ideas of XP development in my life-cycle but adapting it so that it conforms with the time limit this project has. There are other life-cycles which I investigated and the table below lists them alongside their perceived pros and cons in relation to this project. Life Cycle

Pros

Cons

Waterfall

Gives a clear outline to the development, this is the classic development life cycle, so it must be trustworthy.

Doesn't permit iteration, can't return to a previous part of the development progress if you want to change it. Structure is too “set in stone”, if the project has many use cases, then becomes difficult to

Stephen Burrows U5184463

5

M450 TMA 01 ­  26/02/08 work with.

Iterative Waterfall

It's more flexible than the traditional waterfall method. It would allow me to return to points in the development process after evaluation or design. Easy to schedule and work within a specific deadline.

Difficult to use on projects with many use cases, such as mine. All analysis, design etc would need to be done at the same time and my project has too many use cases to permit this.

Structured Case Model

Uses iteration, allows the developer to increase their knowledge as they are developing the project.

I think there are few if any areas where I have little knowledge of the topic area, maybe with the investigation of XML style formatting and Security but these are both topics I have touched on in previous courses. The lack of an identifiable final solution to the problem makes this life-cycle inappropriate.

Incremental

Being inexperienced in project management, this solution would allow me to develop a core idea and build upon it until the deadline comes.

The goals I have set myself are achievable, there are few if any extra bells or whistles I could add to the finished project and I think one of the things I am actually factoring in to the project is possible expansion through reusable code.

Risk Based

Would minimize any risk involved I believe that all of the project is with the project. relatively low-risk, so to have a lifecycle that focuses a large amount of time on minimizing risk would be counter productive.

XP development

Allows me to develop the project Lack of structure and no definite one use case at a time, providing deadline is slightly worrying. small pieces of working code. Also allows me to experiment with throw-away pieces of code. Keeps me in touch with the customer and allows me to have constant valuable feedback in relation to the design of the product.

A full project schedule plan can be seen in Appendix 1. The schedule uses the idea of 3 week iteration cycles within the first two thirds of the project, with the last third of the project focusing on implementation and evaluation of the project as a whole.

Stephen Burrows U5184463

6

M450 TMA 01 ­  26/02/08

5 Resources and Method The most important person I need to liaise with is the head of administration staff who gave me the original inspiration for this project when she talked about the problem she had with report formatting and delivery. Thankfully I see her regularly and we are good friends, she already knows about the project and has helped me immensely so far. She has allowed me to see various report templates that are now and have been used by the school and she gave me a quick overview of the school's database. She also informed me that there is a contracted IT consultant who designed the current system and occasionally comes to the school to help with problems and that it might be possible to speak to him if necessary. I will be presenting prototypes of the report management system to some of my colleagues, who I have already approached and are willing to help and evaluate my work. Prototypes of the report formatting and delivery system will be designed and evaluated in close connection with the administration staff of the school. When a full working prototype has been developed, I shall look for the feedback of the school director. The director works closely with the head administrator and although I haven't talked directly to her about the project, she is aware of what I am doing through conversations with the head administrator and I envisage no problems in asking for her support in evaluating the system closer to the end of the project.

6 Information Sources I searched two main databases in the OU Library (ACM Digital Library and IEEE Computer Society) looking for any papers which would inform me about relational databases and XML. By doing this I learned about XML datastores in the following 2 documents. 1. Kroenke, David M. "Beyond the Relational Database Model." IT Systems Perspectives May 2005. IEEE Computer Society. 24 Feb. 2008. 2. Mabanza, Ntima, Jim Chadwck, and G.s.v.r. Krishna Rao. Performance Evaluation of Open Source Native XML Databases - a Case Study. Computer Science Department, University of Fort Hare, Alice, South Africa. Alice: Association of Computing Machinery, 2006. 1861-1865. Document 1 is a magazine article where the writer explains the benefits of companies transferring from current relational databases to XML databases in terms of what is possible with formatting data. However, he laments the difficulties and understands the reticence of companies in transferring huge amounts of data which contain enormously valuable information. Document 2 is an academic report which looks at the various XML data stores available and compares their performances. This was a useful starting point for analysis of various ways of storing data for my project. I investigated the various XML database systems tested in the

Stephen Burrows U5184463

7

M450 TMA 01 ­  26/02/08

paper and compared them to the relational database systems I was already accustomed to. As well as researching the possibilities of XML databases, I also tried to find some papers with information regarding the importing and exporting of XML documents into and out of relational databases. 3. Fong, Joseph, and H K. Wong. Replicate Relational and XML Databases for Internet Computing. Computer Science Department, City University of Hong Kong. Hong Kong: IEEE Computer Society, 2004. 24 Feb. 2008 4. Dietrich, Suzanne W., Susan D. Urban, Hua Ma, Yang Xiao, and Shama Patel. Exploring XML for Data Exchange in the Context of an Undergraduate Database Curriculum. Department of Computer Science and Engineering, Arizona State University. St. Louis: SIGCSE, 2005. 53-57. Document 3 presents the idea of XML and relational databases coexisting alongside each other, providing a back up of data and also facilitating the data formatting whilst not harming the performance of SQL queries upon relational databases. Finally, document 4 gives a good basic overview of how XML can be used in conjunction with relational databases, especially concerning the import and export of XML data in commonly used relational database software such as Microsoft Access and MySQL.

7 Practical Work So far, I have created a the main tables of a database using MySQL. I have included a UML diagram of the tables and their respective fields and relations (Appendix 2) I have also created some throw-away code to test the JDBC connection between the database and the Java IDE I am using (Eclipse). (Appendix 3)

8 Problems I encountered some initial problems with the connection between database and IDE as I was trying to use ODBC on a Linux operating system. But after research I discovered it was far easier to register the database using JDBC. I don't foresee any further problems surrounding this issue. I expect the period between now and TMA02 to be fairly unproblematic, I hope to have completed workable prototypes for sub-tasks 1 and 2 by this time and these both are areas where I have a lot of prior experience from previous OU courses and my work.

9 Feedback

Stephen Burrows U5184463

8

M450 TMA 01 ­  26/02/08

At this point I would just like some indication on whether my goals are realistic. I may need some help with regards to XML formatting, it is something I've read a lot about and understand clearly the principles of yet have never personally implemented. In this regard I have no idea of what kind of time scale is required for creating the XML style sheets and schemas for these documents.

Stephen Burrows U5184463

9

M450 TMA 01 ­  26/02/08

Appendix 1: Project Schedule Week Task Number Task Description 1 Developing a Database 1.1 Analysis of different types of databases

1.2 Design of the database 1.3 tables need to be created and populated

1.4 creating views of sets of

required data and producing small Java classes

2 Developing the Teacher's Report Management System 2.1 Analysis of user needs and

report format 2.2 Design of the report entry form 2.3 provide possible users prototypes to examine 2.4 The system will be tested and evaluated

1

x

2

3

4

6

7

8

9 10 11

12

13 14 15 16

17 18 19

x

x

x

20 21 22

x

x

x

x

x

24 25

26 27 28 29

x x

30

31

32

x

x

x

x

x

x

x

x x x x x x

x

x

x

x x

x x

x

x

x x x

x

x

x x x

x

x

x

x

x

x x

x

x

x

x

x

x

x

x

x

x

x

x

x x

x x

x

x x x x

x

x

x

x

x

x

x x

relational databases and formatting it into XML 3.2 Design of an appropriate XML schema 3.3 Implementation of the DTD, schema and XSLT style sheet

x x x

x

x

Evaluation of created documents

4 Developing the Administrator Report Delivery System 4.1 Analysis of user requirements 4.2 Design of the system 4.3 Implementation of the code 4.4 testing by the developer and

x x

x x x

x x x

x

x

x

x

x

x x x x

user

x

x x x

x

x

x x x x

x

x

x

x

x

x x x

x x

5 Applying Secure Access Features to the System

x

5.1 Analysis of secure internet

x

x

x x

x

x

x

x x

x

x x

x

x

x

facilities 5.2 Design of a secure user login page

x

5.3 Implementation of the code 5.4 Evaluation of secure services TMA 01 TMA 02 TMA 03 ECA

23

x

3 Implementation of Document Formatting 3.1 Analysis of extracting data from

3.4

5

x x

x x

x x x x x

x x

x x x

x

x

Stephen Burrows U5184463

10

M450 TMA 01 ­  26/02/08

Appendix 2: UML Diagram of “SchoolDB” Relational Database

The report part of the database has yet to be created.

Stephen Burrows U5184463

11

M450 TMA 01 ­  26/02/08

Appendix 3: Code to test JDBC connection This was test code taken from an internet search, the test eventually worked after tinkering with the registration process. import java.sql.*; import java.util.Properties; public class DatabaseCon { // The JDBC Connector Class. private static final String dbClassName = "com.mysql.jdbc.Driver"; // Connection string. private static final String CONNECTION = "jdbc:mysql://127.0.0.1/schoolDB"; public static void main(String[] args) throws ClassNotFoundException,SQLException { System.out.println(dbClassName); // Class.forName(xxx) loads the jdbc classes and // creates a drivermanager class factory Class.forName(dbClassName); // Properties for user and password. Properties p = new Properties(); p.put("user","root"); p.put("password","romania"); // Now try to connect Connection c = DriverManager.getConnection(CONNECTION,p);

}

System.out.println("It works !"); c.close(); }

Related Documents

Ou
June 2020 24
Ou
November 2019 33