INFO465 - Senior Projects in IS - Summer 2013

Current Stuff as at August 2nd:

(8/5) F I N A L Grades were posted at eServices at about 12:30 Monday, should be in your DegreeWorks or Transcript tomorrow.

Introduction & Syllabus

Good-looking projects make valuable entries in a graduate's professional portfolio, can go a long way to convincing some interviewer you know a debit from a credit, a while from an if, and have a grip on your model view controller. 5 bonus points may be earned by providing a link to your on-line portfolio that answers the 'what did you learn in information systems?' question well with exhibits from your technical core courses: INFO202, 300, 350, 361, 362, 364, and 465; and a strong statement of your career interests.

Syllabus and A 'Design & Build' Experience. Please note the course objectives in the syllabus and plan to demonstrate that you've met them, repeatedly!

My objective as an instructor trying to maintain the value of our IS Degree is to _see_ that each student can listen, read, write, take direction, and demonstrate proficiency in concepts and tools for analysis & design, database, structured & OO programming, and project planning. Max points are posted for delivering the best results on time.

The course is the capstone for our technical core of INFO350-Programming, INFO361-Analysis & Design, and INFO364-Database.  It revisits the topics and challenges skills developed in these courses, and requires that a student recognize and produce professional quality application objects, docs, and other artifacts of projects.

Get your development software if you don't already have it: PHPers please request a login account at INFO465.info; most Microsofters have VS.NET 2008 or 2010, but 2012 is the best! If you need to get 2012, MSDNAA will not be up until after add/drop. Please note: This is a time of 'platform issues' where 64-bit vs. 32-bit is a big deal! Beware if you've got the machine you bought in your Freshman year.

No wandering in and out of lecture policy: Take care of any personal issues before class starts. Evening sections will take a ten minute break at about 8:00. If you must leave class before the break, please wait until the break to return to your seat.

Exit Exam: Two class meetings will be used for the IS Dept's 'Exit Exam'. The exam is standardized and administered by iccp.org, Institute for Certification of Computing Professionals. A score of 50% or better + a couple hundred dollars gets you their ISA Certificate, Information Systems Analyst, without prior work experience. After a few years in the field you can go after their CCP, Certified Computing Professional, certification. The ISA doesn't substitute for other technical certifications like RedHat, Cisco, or Microsoft for a Network Management major. But, it is a respected certificate and a good place to start. A brief outline of the exam is available -- it draws from both the BFO and IS Core courses. ICCP offers Self Study Materials, but not for cheap!. Other useful study guides have been shown me a few times in the past, including one checked out from the Cabell Library. The 'IS Core' exam is most similar to the ISA exam you'll be taking. More than half of last semester's INFO465 students scored high enough to get the Practitioner's certificate, 50%, and a few at the Master's level, 70%. (One who missed the practitioner by 2 points bought the study guide and came back to score at the master's...)

Honor Applied to INFO465: Make sure that every keystroke and mouseclick in all deliverables of these projects is yours, that you have, your own self, copied sample scripts from those provided by the instructor or his virtual lab assistant Crazy Ninja Mike. Make all you do an exceedingly clear demo of your personal skills with the various softwares involved in the course. Do not accept or steal any other students files in any stage of completion, or copy/paste any part of any other students' files into any of your project's files. If you can't do any of this work leave it undone, or submit it late and be docked a few points. It is 'cheating' to present a project with any components copied from another student's project. Even if working as a team each team member should stroke their own keys. It is 'facilitating academic dishonesty' for you to provide any other student with your files for them to copy. If you want to help another student, sit with them and let them look at your project, and explain what's required to win it. Never press another student's keys, or click their mouse, or give them your files. If you engage services of a tutor make sure they show you how to do the work and do not let them do the work for you or provide a working copy or their or anyone else's project. Deep technical skills are not learned or developed while watching somebody else do the work. These projects are opportunities to personally demo your technical skills for the instructor and anybody else you can get to look at them.

(7/23) The Ledger Engine is loaded for this semester, info465.info/ledgerengine, and is ready to accept valid psX12 JV transactions as defined on the psX12 Standards Page. Please take the time to figure it out and write your own or don't do it. Working 'Xmit a CAT' and 'Display a Journal' samples are posted to show syntax and logic for making psX12 CAT transactions, transmitting them via a Web Service, and getting the responses back from the Ledger Engine. Mash them together to make a process that will format and send a valid psX12 JV.

(7/23) Points for Dlv #4:

Deliverable #1 Part #2: was due to be demo'd in class on Tuesday the 16th (slipped for 4th of July and instructor's absence). Few points will be available for the parts where there are examples posted, btw, points are earned for the 'GS Maintenance Form', having populated the GS table accurately with records appropriate for the case study, and meeting the requirements for lookup of foreign keys and codes. Please consider The Rubric as you work and get any questions answered asap.

Note about 'GS Maintenance': A few students have asked how to do this in class or in email. There is no code posted for this other 'table maintenance' form, adapting the 'Account Maintenance' form to handle GS is an easy way to do it. After you've made the 'frmAccountMaint' form work you can right click it in the Solution Explorer, Copy, and Paste it. Then change the name in the solution explorer to something like 'frmGSMaint.vb', open it, and change the class' name near the top of the code window. Edit the copy's GUI in the design view to line it up with the fields in the table, then edit the event scripts to line them up with your GS table. (The _real_ way to do this is to make a foundation class that updates tables in general, then inherit it for each table and tweak the differences between tables into it, but copying/renaming/tweaking is probably simpler for noobs to programming...)

Deliverable #2, Documentation Package for Project #1 is due for the printed copy to be delivered Thursday the 18th (Slipped for instructor's absence). There is a new requirement for Summer '13 for the Details table in the sample data to be populated with at least 2 dozen appropriately coded records. Use this Upload Link to upload an electronic copy as a single document, pdf is preferred, no zips please. Please include your name in the file's name.

Deliverable #3, an MS Project plan of your Project #1 is due for the printed copy to be delivered Tuesday the 23rd. Please take care to show tasks and gantt chart on the same pages... Use the upload link above to upload your MSProject file, and please include your name in the file's name.

Class Meetings & Topics:

Demo a Project #1 thru Dlv #4: Here are tables populated similar to the demo: Not Nearly Enough Details for a startup. The demo was a few orders to reflect paid in capital, startup expenses, initial stocking orders for Braveheart and Blazing Saddles, and a sale. Your enterprise should have similar, plus some more expenses, like compensating the helper and manager. (To be considered for scoring, the sample data in Dlv #2 must have at least several appropriate orders with at least 2 dozen details...)

Dlv #1 Part #1, due TBA above: Be able to authenticate three classes of Users: Owner/Manager, Assistants, and Customers. Use a table like the BE/BusinessEntity table used in class, and deliver an appropriate menu to them, at least displaying their authority in the system, or reflecting your understanding of the class' case study.

Please read The Rubric and make your Deliverable #4 reflect them to get max points. Of the 20 points for Dlv #4 only 5 can be earned using sample software from Ninja Mike or the sample software provided. Most of other 15 points come from making the local trial balance report, a good-looking audit trail report, an order & detail entry process that has been 'customized' to the case study, allowing for easy add-ons and changes to details for an order especially _after_ it has been tendered.

Instructor demo: setting up new, properly named solution and project directories; installing a properly named database component; adding a BE table and hand-entering a couple of records; and coding Dlv #1, Part #1 of 2, A&A.

Dlv #1, Part #1: Authenticating a User w/ reference to a Database: Intro to VisualStudio.net, Visual Basic, Windoze Forms, SQLServerCE, Plain Classes, Database Connection String, &c, &c...

.NETers, avoid sample code from anywhere that uses OLEDB, JET, or ACE to make a database connection! As of Spring '13 there are no students in INFO465 who need these older-style databases. Choose the SQLServer CE code instead. I believe all references to OLEDB have been struck out or removed as of the 25th, but beware.

Also, beware of our virtual lab assistant Crazy Ninja Mike's tutorials! He links directly to outdated code! Take care to use the SQLServerCE versions. Do not use the OLE versions from pre-2008! Use the links on the class' page. Mike's explanations of the sample scripts are helpful for some students, are useful when cautiously updated to use SQLServerCE...

Open lab in class, to work on database and app.

Dlv #1 Part 2, due two weeks after: Have a suitable interface for CRUD on the BusinessEntity & GoodsAndServices tables: able to create new records, lookup existing ones & update them, and take on records from the class' page. Make sure your GS table is populated with records appropriate for the semester's case study and that you can display a catalog of items for sale.

For Part #2 make sure your BE table maintenance app supports CUA cursor movement and provides ComboBox or other 'lookup' so the user never has to guess about codes, ledger accounts, or foreign keys. Provide all fields appropriate for polite correspondence via snail mail (Street Address, Extra Line, City, State, and Zip) and be able to take-on customer data from this page: Customer Data.

Make your database and code comply with this Rubric For Scoring. If this is your first notice of the rubric it might be time to decide whether to rebuild your project or lose points for work that doesn't meet the rubric. Un-modified sample scripts from the class' pages or crazy Ninja Mike don't meet all the requirements or get many points...

Business process modeling, again, using the Sample Database Relationships among Entities, GoodsAndServices, Orders, Details, assigning ledger accounts to Details; Journalizing activity. On the projector with a MySQL database.

About your Database Not Updating

(2/21, updated 3/18) VisualStudio has obnoxious default behavior about it's 'local database'! It's desirable to make a local SQLServer CE database that is 'portable' so your application will run in the debugger without needing to do a separate database install. When the database is added to a VS project as a component the .sdf file holding the database is created in your solution directory, a connection is added to your solution explorer, a connection string is added to the app.config that includes '|DataDirectory|' in the path, and a 'database object' is put in your solution explorer.

This makes it easy to use Visual Studio's GUI tools in the server explorer to define the database's tables, and add records to them. And, having the connection string in one place, in app.config, makes it easy to connect, and 'connection strings' can be difficult.

Here is the rub: Each time the application is debugged, Visual Studio makes a copy of the database from your solution directory into the project's bin/debug directory, then applies any updates to the copy, leaving the original database in the solution directory untouched. This might be a 'feature', but it needs some awareness and careful handling to make a portable application that will run in the debugger against a persistent database.

It will be desirable to stop this copying so that you can actually save records you create or take on and can get points for having a local trial balance that balances with the one in the ledger engine. To do this:

Project Resources:

Project Deliverables 2 thru 4:

Due dates for these will be posted at the top of the page.