Best Projects

 

Home
Up

 

Here are clips from essays written by some of the students with the highest grades in INFO465 in the past.  Each of these students worked independently to develop an Enterprise system that handled all the ecommerce functions and provided clear, well-structured documentation for it. In lieu of taking a regular quiz #3 I asked them to write an essay on what led to their success, hoping that their insight might help others:  

 

When one explains their successes in this course, the first thought that comes to mind is "by the Grace of God" and the next thought is "perseverance."  In the not too distant past is the memory of tired eyes, sore neck, and aching muscles form working long hours, consistently over the entire semester.  The next feeling is contentment and the knowledge that full and complete effort results in a fully functional product that meets the approval of the inner-self and the instructor.  

The successful completion of the Enterprise project is due to experiences in current and past VCU classes.  There is a feeling of humility for this project would not be possible without the voluntary transfer of skills from the university faculty.  Each member of the faculty shares their talents and gifts with this student making every effort to learn everything possible in the limited time with each member of the faculty.

Currently, this student is reaping the reward from the time spent on the initial design and development of the tables supporting the Enterprise application.  The website the instructor provided was read and re-read throughout the design process and again when additional design thoughts surfaced during the semester.  Recording careful notes surrounding the instructor's advice and hints, along with independent research, results in an appreciation for the Drop Down Data Window and the placement of the validation rules at the lowest level -- in the database.  Fortunately an excellent instructor, an excellent website, and appropriate early decisions result in substantial rewards upon completion of the project.

I salute Dr. Fuhs for the transfer of skills in database, SQL code, cursors, and normalization.  Dr. Manoj Thomas, in C++, presented methods for tokenizing a string and getting things into and out of the database through file streams.  He also clearly presented pointers, conditional expressions, and loops which are old friends that helped in 465.  

Dr. Hubona made SAP's ABAP programming a pleasure.  He gave us instructions on how to get a C and gave us free reign to convince him through additional ideas and additional programming that we deserved an A.

Dr. A. James Wynne, is a true talent and a role model for all aspiring information system's majors.  One would not survive 465 without his skillful lessons in systems analysis and design. 

Dr. Merthout, with his knowledge and experience, shares insights about the Information Systems' age from FORTRAN to SAP.  He enlightened us about data warehouses, databases, and enterprise-wide system in today's business world.  The Enterprise systems would seem overwhelming without his careful lectures and presentations.  

There is very little new in a Capstone Projects class like 465 when one considers all the past information systems and accounting classes.  A different approach contributes to the success in this class.  A desire to succeed and arrive at a solution independently distinguishes this student from some in the program.

Having a computer system at home enables the student to work independently and without interruption on major segments of design and code.  Acquiring Power Builder, its documentation, purchased books, and library books enable the student to research any issue without seeking unnecessary assistance from the instructor.

Having a vision, setting and achieving smaller goals, and a larger goal made the successful completion of the entire project possible and enjoyable for me.

 

Regardless of the development environment used the most important key to a successful project is a clear vision of the end result.  Lots of sketches, notes and thought must occur before any logic is coded.  Having a plan and executing it will speed development and keep the effort focused.  My time became less efficient towards the end of the project as I scrambled to draw together many loose ends I had started to increase the program’s functionality.  If I had stuck to my plan and completed components one at a time instead of having many partial items I could have accomplished more.  Interestingly, Power Builder became less stable for me during this time.  In the beginning when I was developing things according to the milestones I had few problems with PB flaking out but when left to my own devices I had to restart PB more often.

Working with a platform as unstable as Power Builder requires focused programming.  Data windows should be developed, implemented and then left alone.  If anything behind a data window needs to be changed it should be done with the window closed and then the window should be opened and updated before it is run.  Scripts are more stable but must be saved often and great care should be taken when two or more are open because somehow the text has the ability to travel between events and windows.

As a side note, I think the class as a whole might struggle less if there were a required textbook.  Even though Unleashed only solved a few problems for me, it helped me to pick up the language quicker by having a reference to decipher scripts that were posted and provided a different picture of power scripts.  It wasn’t always a clearer picture but it was different.  A lot of the discussion page postings were issues that people could have solved on their own with a text.

It was difficult at first to buy into the database model because all the prerequisites for this course stress data normalization.  Storing all orders regardless of type in one table with 100+ columns was completely foreign.  The size of the tables was also new, in 361 we never actually constructed tables and in 464 the tables we did create had few columns and little data.  After spending 6 weeks coding multiple joins to get 5 data items from 3 tables I can see the merit of controlled denormalization more clearly now.  The database also appears to more closely represent reality than the many, small tables in BCNF that we used in past courses.

In closing, it was a lot of class in 12 weeks but not impossible.  I don’t have an answer for the lack of programming structure and general accounting confusion displayed by my classmates but grasping the database model quickly, developing sketches early and buying a text made it easier for me.  Thanks for your time and effort Gerry.

 

Designing an enterprise information system in Powerbuilder or any other environment requires many skills and much coordination from lots of folks.  In my opinion, the main seven things a successful information system requires are Planning, Structure, Requirements, Continuity, Valid Data, Meaningful Reports and Documentation.  Without these seven ingredients an information system will not provide a company with the competitive advantage it needs to get the job done. 

An information system must be planned for extensively.  Analysts must work closely with the business to come up with complete, clear and well-documented system requirements.  They must carefully weigh business needs against feasibility.  They also have the difficult task of transferring business needs to technical specifications.  Mock-ups can be drawn and diagramed to show the users and decision-makers along the way exactly what the system will be capable of.  Until the system requirements are clear and complete, it will be difficult and foolish for a programmer or developer to begin development of an information system. 

Once a programmer or developer has extensive system requirements, they can begin to develop the enterprise system.  The programmer must ensure that the underlying database will fully support the system functionality and business needs.  Primary keys must be unique, foreign keys must be defined where needed.  Columns must be declared with the appropriate datatypes and be nullable and not nullable where indicated.  A system is only as good as the quality of it’s data!  This is ‘key’

Once the database is in place, development on the GUI can begin.  It is important to identify a style early on and stick with it throughout the development process.  The style will define window, button and other object appearance.  In this way, a developer is able to maintain continuity throughout the application.  Naming conventions are important for clarity.  This results in clear, easy to understand navigation, familiar menu options and much less confusion for the user.

The code, functions, algorithms and events behind the GUI will make things happen.  They must be as generic as possible for re-usability.  The code must be clearly structured and documented so that it is easy to understand, follow and change in the future.  

Throughout the entire process, the developer should solicit feedback from the analyst and users to ensure that they are on the right path.  Enterprise system development is a tremendous exercise in communication.  

An Enterprise system must be able to show the user some measure of how it’s working.  It can do this in the form of reports.  The reports will be built around the data it stores and can provide information for audit or analysis

Before the programmer is done, he or she must ensure that they system is well documented.  This is very important, since the original programmer will likely not be supporting the application.  Documentation must be clear and easy to follow.  

 

 
Home ] Up ]
Last modified: Friday August 25, 2000.