gullvision salisbury university authors: tim...

23
Gullvision Salisbury University Long Term Class Planner Salisbury University COSC 426:Software Engineering II Prof. Steven Lauterburg Spring 2013 Authors: Matthew Thorne Chris Debow David Eberius Nick Heald Tim McDowell 1

Upload: others

Post on 20-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

GullvisionSalisbury University Long Term Class Planner

Salisbury UniversityCOSC 426:Software Engineering II

Prof. Steven LauterburgSpring 2013

Authors:Matthew ThorneChris DebowDavid EberiusNick Heald

Tim McDowell

1

Page 2: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

Contents

Acknowledgements 31 Introduction 4

1.1 Description and Motivation 41.2 Team 41.3 Terms 41.4 Process 41.5 Note to the Reader 6

2 Requirements and Specifications2.1 GullVision 7

3 Architecture and Design3.1 Overview 153.2 History 173.3 Current Plan 183.4 Future Plan 193.5 Administrative part of the website

4 Future Plans4.1 Project 214.2 Future Additions 214.3 Member Reflections 21

5 Appendix5.1 Installation 24

2

Page 3: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

Acknowledgements

First and foremost we would like to thank people who were key to our success: To our Professor Dr. Lauterburg thank you for the guidance, support, and inspirational

tales from chicago and Accenture. They have helped us to learn what we needed andgiven us the motivation to do what we needed.

To our client Lisa Leslie thank you for spending your time helping us develop the bestplanner possible.

To David Sage for creating the GullVision banner. To Jeanette Wolininski, Jacqueline Maisel for sending the pertinent data tables to us.

3

Page 4: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

Introduction

1.1 Description & Motivation

Gullvision is a long term schedule planner for students attending Salisbury University.The goal was to create a tool for students to develop multiple long term schedules mapping outtheir time at Salisbury University. Previously, students had to hand generate their long termpossible schedule and rely on their advisor to steer them in the right direction. With Gullvisionstudents can quickly create an organized long term schedule that notifies the user of schedulingconflicts. Gullnet, the online class scheduler for Salisbury University, is a lackluster tool in ageneral sense and does not include a long term class scheduler. Gullvision streamlines thestudent planning process and is an effective tool for students as well as advisors.

1.2 Team

We are a group of undergraduate seniors and juniors studying software engineeringunder Dr. Steven Lauterburg. The five of us have experience in C++, C, and Java. Only oneteam member had experience in database design, html, php, and mySQL. No group membershad previous experience in working on a project in a large group with as broad of a scope asGullvision.The team consists of the following members:

Matthew Thorne ([email protected]) Chris Debow ([email protected]) Nick Heald ([email protected]) Tim Mcdowell David Eberius ([email protected])

1.3 Term Serversfree ­ the web hosting service that we used for development. Gullnet ­ Salisbury University is the student’s class management system.

1.4 Process

At the beginning of this project we spent a significant portion of time learning the XPdevelopment process. There was other overhead learning to work with new team members aswe had previously had limited experience working together. Even though most of our memberswere co­located in a general area we had to improvise some meetings by using skype groupcalling features since our schedules were hard to line up. After initially meeting each we wereable to schedule a majority of our meetings right after class for the first semester and thenbefore class on the second semester. The first meetings were spent determining whatdevelopment environments we would use, what server we would use for our database, and whatplatform we would develop on(web­based or java­based). After determining our developmentplatform, database server, development environments, and how the XP process works we begin

4

Page 5: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

our development process. To begin we needed to determine certain key features that wouldenhance our development process.

To assist in identifying the goals of our project we determined that an advisor from theSalisbury University Administration would be our client, Lisa Leslie. After meeting with Lisa wedetermined the direction for our project and a set of immediate user stories and long term userstories. At this point we broke these user stories down into tasks and then divided themamongst the group. We set another meeting with Lisa to go over our progress and to reevaluateour direction and goals for the next iteration. This was the process that we followed with ourclient for the entirety of the project.

Internally as development began we attempted to use version control in our project but itbecame more of a hinderance than a benefit. The way that we have setup our website onServersfree enabled us to use manual source control by only pushing working code to the serverand therefore pull down code to edit it. How we identified and dealt with developers concurrentlyworking on the same web page: normally each developer worked on individual web pages tokeep from having two developers independently working on the same page and then overwritingeach others efforts. To facilitate knowing whether two developers were working on the samepage we used our GullVision Manager to note what each developer was working on. If twodevelopers were working on the same page we then either pair programmed or worked on thepage at different times.

Weekly code reviews and development status updates were used to identify issues early.We would meet to discuss progress and go over any new issues that came up. Alsoperiodically reviewing our database design and structure was a large portion of the process weused to be successful during this project. During these meetings we would further breakdownour user stories and technical stories. User stories are one or more sentences in the everydayor business language of the end user or user of a system that captures what a user does orneeds to do as part of his or her job function. We would receive the user stories from LisaLeslie.

The last portion of our process was to periodically go through iteration meetings with ourprofessor. At these meetings we would further identify goals , weaknesses, and the progresswe achieved since the previous iteration meeting. Our professor would then make suggestionsfor the project and we would implement those suggestions for the next iteration. Also a continualrefactoring of the database has helped to make this project more efficient. When we began onlyone team member had previous experience in the design and implementation of the database,now we all have a good understanding of basic database principles. ACID is one of thoseprinciples that we strive for in refactoring our database.

ACID is a database acronym that speaks to the overall design and implementation of thedatabase, although more specifically it leads to successfully transactions, if all these points ofdatabase development can be implemented then a database will be successful. Atomicitystands for the ability of the database to finish any transaction to completeness. Consistencymakes certain that each transaction will take the database from one genuine state to anotherfollowing all constraints, triggers, or any combination within the database. Isolation makescertain that any concurrent transactions are protected by table locking or time stamping.Durability makes certain that the database will not break after multiple transactions and will

5

Page 6: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

continue to perform at an optimal level. When refactoring the tables of our database or the codewithin our website we always strive to ensure these principles. We ensured these refactoringsworked through gray box testing.

Finally we were not able to spend as much time as we wanted testing our website, butwe were able to use gray box testing. As developers each time we added a new page we wouldtest that the page was interpreted correctly first. Then we would make certain that the pageperformed functionally as it was supposed to and would incur any faults or insertcorrupted/incorrect data into our database. After that we ran through several tests thatincorporated the entirety of the website to ensure that each page works fluidly with each other.

1.4 Note To The ReaderThe terminology and ideas within this document require a certain amount of knowledge oflanguages, libraries, and standards:

php, mysql, javascript html, css jquery, ajax

6

Page 7: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

Requirements and Specifications

2.1GullVision

Initially the website will start at the login page, on this page the user will have the ability to login,create an account, or retrieve their password. The login page is the first page that the user seeson the Gullvision website. It’s important to note that one of the ingredients to making this websitewas to make sure Salisbury University students realized that Gullvision is not Gullnet and nochanges on this site will affect Gullnet. If this is the first time a student has visited Gullvision theywill want to make an account so they will click on the create account button.

Create AccountAt the Create account page the user will be able to create an account using minimal

personal information. The user will be required to enter their first name, last name, user name,salisbury email address, and password. The User must enter a salisbury.edu address and afterthe information has been entered the user will receive an email to confirm their account creation.

On Salisbury University accounts the user must copy and paste the url that has been provided inthe email to confirm their account creation. Once this is done the user will be redirected to apage acknowledging the account creation and thanking the user. Now the user can login.

Password/Username RecoveryIf the user forgets their username or password we built functionality for the user to be

able to create a new password or retrieve their username. To do so on the login page there is abutton entitled recovery which the user can press that will take them to the password recoverypage. Once there the user will need to provide the email address used to set up their account.They will receive an email that will link them to a page where they can create a new password.

7

Page 8: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

once this is done the user will now be able to login and use the website with the new passwordthey have created.

LoginTo enter the website the user must enter their username and password. If the user

enters the wrong information “Login Failed” will appear on the screen. After a successful loginthe user will be sent to the user home page.

Home PageOnce the user has logged in the first page they will see is the user home page. The first

thing to appear on this page will be a welcome message to the user displaying their user name.If the user has selected any majors, minors, or advisors the page will display a blue link to theedit profile page for each of these elements: majors, minors, and advisors. If the user haschosen majors, minors, or advisors then they will be displayed on the home page. We haveincorporated a shell on every page of the website which has an image that links to the homepage at the top. It also includes a warning that tells the user that this site is not a part of theGullnet student management tool. On the left portion of the page there are links to the variousparts of the website: Home, Profile, Courses Taken, Courses Planned, and Logout. If the userscrolls over the links on the left hand portion of the screen they will drop down to display otheroptions that are associated with the header link. On the right hand portion of the page aremessages that will periodically tell the students about major events during the current semesterthis is updated by the administrator.

8

Page 9: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

Advisor PageThe advisor page can be reached by highlighting over the Profile button on the left hand

portion of the screen. The user can select the Advisor Details to display the advisor informationpage which will display the users advisor details. If the user does not have an advisor then theirwill not be any information displayed but a link to edit profile will be available to change theadvisor of that user. The information listed for the advisor will be the name of the advisor, schoolthe advisor represents, and room number of the advisor.

Edit ProfileThis page can be reached by hovering over the Profile button on the left hand portion of

the screen. This page is for the user to create a profile about themselves that includes theirmajors, minors, and advisors. The edit profile page allows the user to change their major, minor,and advisor at any point during their use of Gullvision. To select a major click on the majorbutton in the middle of the screen to have major drop down boxes appear one to be able toselect a major the other to be able to delete a major. Once the user has added a major thatmajor will be displayed below the major, minors and advisor buttons. The user has the ability toadd as many majors as they would like to best reflect what they would like to do. The minorsselection works much the same, select the minors button to have the minor drop down boxesappear then to add minors click the add button or to delete click the delete button. To add anadvisor it is the same as the previous buttons. Once the user has added an advisor that advisorwill be displayed below the major, minors and advisor buttons. Now the user will be able todelete their advisor as needed.

Courses Taken:

9

Page 10: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

Hovering over the Courses Taken option in the left hand pane will reveal the followinglinks:

Progress HistoryClicking the Progress History link will take the user to the progress history page which

shows users a summary of what general elective requirements they have fulfilled based on thecourses they have added on the Elective Classes page. They are organized in such a way thatmakes it obvious to the user which general elective requirement they’ve satisfied. At the bottomcenter of the page is a button that links the user to a printer friendly version of their generalelective progress history.

Major/Minor ClassesClicking the Major/Minor Classes link will bring the user to the Major/Minor Classes page.

The top portion of the page shows a list of their Major/minor courses in a table format. This pageis generally used to add major/minor courses to the users courses taken. In the center of thepage is a dropdown selection box where the user can select their major and hit the submit buttonto the right to show a list of courses specific to the chosen major. Clicking select will reveal moreinformation about the course, clicking select again will add the course to the list of major/minorclasses previously taken. The same goes for adding minor classes to their courses taken.

Elective ClassesClicking the Elective Classes link will take the user to the Elective Classes page. This

page initially shows the users elective courses they have already added to their list of coursestaken. To add more courses, in the center of the page there is two labels where the user canenter the department and class number of elective classes they have taken. Clicking search willpopulate a list of the matching courses, clicking select will reveal more information about thecourse, clicking select again will add the course to the list of elective classes taken.

Gen Ed Classes/Degree ProgressClicking the Gen Ed Classes page will take the user to the degree progress page, this

page shows what the elective groups are and has separate links for each group that the usercan click on to select which classes they would like to pick to fulfill that requirement.

Group 1 Requirements:Clicking the Group 1 Requirements link will take the user to the Group 1 Classes page.

This page shows the user the Group 1A as well as Group 1B requirements. These requirementsare English 103 or Honor 111 and Literature (either english or modern language) respectively.The top of the page gives the user a link to go back to the group choice (degree progress) page.The first table at the top of the page shows the user which class they have taken to fulfill theGroup 1A/1B requirement. Selecting the radio button to the left of the individual class and clickingdetails will give more information on that specific course; however clicking the delete button willpermanently delete the class from the list of classes the user has taken.

Beneath the user Group 1A/1B history table there are two tables, showing a list of

10

Page 11: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

possible classes the user can choose (by clicking select) to fulfill the 1A/1B requirement.

Group 2 Requirements:Clicking the Group 2 Requirements link will take the user to the Group 2 Classes page.

This page shows the user which history classes they can take to fulfill the Group 2A/2B HistoryGroup. The user can select the upper level history select box and hit submit to be taken to a listof all the upper level history courses that will satisfy the Group 2B history requirement.

Group 3 Requirements:Clicking the Group 3 Requirements link will take the user to the Group 3 Classes page. At

the top of the page is a drop down selection of the class department for the Group 3A generalrequirement. Selecting the department and pressing submit will show which classes fulfill therequirement for that department. The user can also choose the honors class associated withthat group. This goes for Group 3B and Group 3C as well.

Group 4 Requirements:Clicking the Group 4 Requirements link will take the user to the Group 4 Classes page. At

the top of the page is a dropdown select box for the Part A general requirements of group 4.Selecting a department and hitting submit will show the user all the possible classes that fillgroup 4A requirements for that department. The same goes for the 4B and 4C requirements.

Group 5 RequirementsClicking the Group 5 Requirements link will take the user to the Group 5 Classes page.

The user can select their gym class credit for this group.

Courses Planned:Hovering over the Courses Planned option in the left hand pane will reveal the following links:

Class ScheduleThe class schedule page shows the user their current or next planned semester

schedule, including class, section, time, weekday, and instructor. Clicking the printer friendly linkwill give a printable version of the class schedule. The class schedule page also alerts the user ifthere is a time conflict with any of the classes chosen. To delete a class from the schedulesimply check the radio button for the corresponding class and click delete.

Class SearchThe class search page is where uses select classes for their current or next semester.

The user selects the semester they want to pick classes for, types in the department and classnumber, presses search, and the list of possible classes is displayed. Clicking select for one ofthe classes shows more detailed class information, clicking select again adds that class to thepreviously selected semester.

11

Page 12: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

12

Page 13: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

13

Page 14: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

Future PlanThe future plan was developed for the user so that they would be able to develop an in

depth future plan. This plan will outline the users path through college from entry to graduation.They can create up to three future plans, each plan can portray multiple different semesters thatcan hold any number of courses that the user chooses to take. When adding courses the userwill be notified of all prerequisites and whether they have been met or not. This functionalitytakes into account if the prerequisites for a course in the future plan have been met by anothercourse in the future plan in a previous semester. It will also search the users current and nextsemesters to find prerequisites. Finally it will show the user if a prerequisite is found in the usercourse history. The user will also have functionality to delete courses from each semester anddelete semesters from each plan.

Display Future PlanThe display functionality will allow the user to view each plan in table format. It will allow

the user to view the entirety of each plan in chronological order. The user will also be able toprint the plan in a printer friendly version of the future plan.

Database MaintenanceDue to the web­based nature of GullVision, we needed a database to contain all

information necessary to each user’s account. As this is a scheduling tool long lists of classes,professors and other information are required to be available for use in a number of applicationsaround the website. As a result, a easy to use system to keep necessary information in thedatabase up to date is essential for correct scheduling information in other areas of GullVision.

The system for maintaining our database information is available under the administrativearea of GullVision, where there are three tables that the administrator has an option to modify.For each modifiable table in the database there is an option to “add”, “update”, or “delete” anentry from the existing database. The design of the system is very streamlined and isconstructed with the purpose of doing quick modifications to the existing database.

Initially, there was a way of interacting directly with the database by printing it out andallowing the administrator to select an entry in the table. However, as the overhead from printingout the entire database table got rather high, there was a need for a drastic redesign. The newsystem only prints out exactly what it needs to and does most things without much overhead andwithout refreshing the page. This change in focus has allowed an administrative user to quicklyget in and out of the maintenance side of the system without the overhead of printing out thedatabase table.

14

Page 15: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

Chapter 3 Architecture and Design3.1 Overview

GullVisionWeb Tree ­ displays the hierarchical structure of the web pages. Shows relations between eachpage and depth of the site.

15

Page 16: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

Use Case Diagram for the GullVision website: This use case depicts the user’s interaction withthe website. It also shows how the users actions affect the database. This use case alsodisplays how the administrator uses the website and affects changes in the database.

The high­level architecture for GullVision was purposely made to be as simple and easilyunderstood as possible. We have an underlying database, which has tables that are relevantboth to an individual user’s account. and to the system as a whole. Both levels of the site use thedatabase equally and also use data from one another. In other words, a user can interact withthe global data of the site through editing their profile, adding classes, updating schedules, etc.

Global data, in a similar fashion can “interact” with a user’s account through changing thedatabase tables such that we limit what the User can add to their schedule. In more directfashion, the administrator of the system can physically modify certain database tables by directlyadding, updating, and deleting information in a few tables of the database.

Regardless of the “security level of the user, all of the data from the database which isused in the accounts are eventually utilized by the client in some way, either as a typical student

16

Page 17: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

user, or as an administrator:

3.2 HistoryThe table CLASSES_TAKEN holds all recorded classes taken with what user it was that

took it, such that USERS can get the CLASS_CATALOG data of their classes taken. TheUSERNAME relates to it, as well a to GENEDS_TAKEN which tracks which general educationrequirement groups are filled.

17

Page 18: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

3.3 Current PlanThe current plan for the website uses the following database tables: USERS,

CURRENT_SEMESTER, and CLASS_TIME. USERS has a foreign key in current semester andthen current semester uses class time to find the correct class times for the different courses.

18

Page 19: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

3.4 Future PlanThe database tables that our related for the future plan. From the users table the

USERNAME is the foreign key used in the FUTURE_PLAN table. Then FUTURE_PLAN_NUM isthe foreign key from the FUTURE_PLAN table that relates future plan is related to the user.

19

Page 20: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

Chapter 4 Future Plans4.1 Project

Our group currently has no plans to continue development on GullVision. At this time weare waiting for feedback from the Director of Advisors to find out if the school would like us tocontinue development on this project. Otherwise there are no plans for us to continuedevelopment even though 4 of our five member team will be returning to school in the followingsemester.

4.2 Functionality Additions

System to update future plan as semesters change We would like to implement a system to automatically adjust the future plan as

time progresses. Therefore a student would not need to redo their future plans asevery semester passes. For this to happen we would have to build additionalfeatures both in the administrative and user side of the site.

View classes completed/uncompleted We would like to add functionality that will allow the user to view the requirements

for their major. This will also show them which requirements they have met andwhich requirements they still need to meet.

Cross reference schedule with Degree requirements in proposed schedule We would like to add functionality to allow the user to view their degree

requirements while simultaneously selecting courses for their future plan, currentsemester, and next semester.

Full list of advisors At this point we only have a couple advisors listed in our advisors list. We would

like to add a full database table that has the list of all advisors for the school. Updated list of prerequisites

At this point we only have a table of prerequisites generated based off of parsingcourse descriptions. We would like to receive an official table from the University.

Updated list of general education courses At this point we only have a table of prerequisites generated based off of parsing

course descriptions. We would like to receive an official table from the University. Comments on courses and professors

4.3 Member Reflections

Matthew ThorneDuring Cosc 425/426 I was able to learn how to develop a large project in a team

environment. Learning to work around other peoples schedules and needs was difficult at firstbut soon became second nature as we all understood we had other classes and obligations.These scheduling difficulties have led me to better understand the importance of communication

20

Page 21: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

and I feel that I have learned to better communicate my goals/needs throughout this project. Thiscourse taught me that preparation is key to a successful development process. I also learned todevelop in php, html, css, javascript, and mysql which I had previously no developmentexperience.

As far as the project goes, I feel that I would have been better served to develop in a moresubstantial language such as c++ or java. I feel that web development while important to societylacks depth and challenge that I otherwise would have enjoyed from perhaps an androidapplication, java program, or C++ program. I also felt that development in our group snowballedbecause as a group we did not have much experience in web development technologies so theirwas a large overhead in learning new languages and technologies at the beginning of thedevelopment process. Whereas if we had done a software project on a programminglanguage/technology we were familiar with there would have been consistent developmentstrides made throughout the lifecycle of the software.

Regardless of what may have been better or not I am thankful for the experience to haveworked with four unique individuals on a project with a rather large learning curve. The skill setand experience that I have gleaned from this project will undoubtedly be invaluable to me in futureendeavors.

Nick HealdCosc 425/426 taught me a great deal about working on large scale projects, working

within a diverse team environment, and the agile software development process. One of thekeys to working on a large project is to have effective tools of communication with other groupmembers. This helped alleviate scheduling conflicts within the group. The course helped developmy familiarity with setting coding standards in a group. I also learned how to track time and tasksto improve the overall development of the software. The course also gave me an opportunity tobe self taught in web design and database implementations.

Initially, web and database design was an interesting topic because it was new andchallenging for me. After a few months getting familiar with the database, html, php, mysql, andcss, I found the project to grow increasingly repetitive and uninteresting. I think this was avaluable teaching tool however, in that in the workplace you are not always tasked with enjoyableto new technologies to work with.

Working in a group with others that I was not familiar with also taught me to work withothers in a team well. Overcoming tasks together, pair programming, and communicating werekey to development on a time schedule. Overall, I learned a great deal about web design anddatabase implementation in this course. Also, learning the agile development process was auseful skill to add to my skillset for the workplace.

Tim McdowellI’ve made relatively large scale projects before but only ever by myself. COSC 425/426

was the first time I’ve worked as part of a group to program. It was an interesting experience.The original idea of the project “fixing” the problems in gullnet was mine, but my primary idea inthe beginning was the weekly calendar view of class. Over the course of planning with the groupthat point kept getting pushed back, to the point now that we have an impressive, robust tool forstudents to plan with, that doesn’t have a weekly calendar view at all. It was an interesting lesson

21

Page 22: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

in how groups brought together ostensibly under one idea can change that idea once formed.Even more than that though was customer input, since once we got an outside customer opinionthat had nothing to do with the original idea anymore.

Beyond that the class taught a lot of good basics of group code sharing andmanagement, as well as the design process within a group, but all of that was expected. It isimportant and I’m glad to have the experience, but the effects of group though evolution standsout because it was an unexpected lesson, so that is my most appreciated take­away, in additionto the contents of the syllabus, of course.

Chris De BowCOSC 425/6 was the first time that I worked on a large project with other people involved.

I kind of came into the whole class with this mental bias that I “didn’t play well” with other people.Meaning that communication and group work were not exactly my thing, or so I thought. SoftwareEngineering was, for me, an experience of laying bare all of my strengths and weaknesses whenworking in a group. The most encompassing aspect that both crippled and bolstered my workingwithin a group is my tendency towards perfectionism.

Due to this urge to have every piece of code I touch be as perfect as possible, The pages Iworked on became readable and organized. However, perfectionism also means that I spentmost of the project refactoring code that anyone else wrote on the pages I worked on the most.This aspect of me aside, I think COSC 425/6 was a great experience in me learning to work wellwith fellow Computer Science students towards a long­term goal.

David EberiusBefore this project, I had worked on group projects before for Computer Science classes,

but nothing on this grand of a scale. The group projects I worked on in the past lasted no longerthan a month, and typically had only two total members to the group, though one group I workedin had four members and only lasted for two weeks. Learning how to work in a group using a setprograming process was an incredibly valuable experience, and I’m sure it will prove useful in mycareer as a Software Engineer. I thoroughly enjoyed the project that we created, but I wish I hadmore time to put into it during this school year. I think this software has the potential to provide agreat benefit to the Salisbury University community, and I look forward to seeing it or somethingsimilar to it implemented by Salisbury University.

22

Page 23: Gullvision Salisbury University Authors: Tim McDowellfaculty.salisbury.edu/~stlauterburg/COSC426/FinalReportExamples/Gull... · COSC 426:Software Engineering II Prof. Steven Lauterburg

5 Appendix5.1 Installation/Use

GullVision and the associated database are already hosted and preinstalled onserversfree.com. To create your own version of the site and database you would need to createyour own account on a different host website. Then within phpmyadmin of the database, onewould be able to upload all the tables from the dvd as well as upload the webpages to anappropriately named folder. That would complete installation on a new host. Accessing the sitevia serversfree.com is probably a more efficient way access, test, and modify the database andwebpages. Accessing the site in its current state is completed by going to gullvision.bugs3.com.From there you can either log into an existing account or create a new one from scratch andthen use the site. Keep in mind that creating a new account has the overhead of sending anemail to a valid salisbury.edu email and clicking the link to activate your account.

23