INFO465 - Senior Projects in IS - Summer 2011
Current Stuff:
Final Grades are posted.
Due to confusion about the rubric 'table maintenance
for the GS table' one point was restored for all students who
did not have it, and a bonus point was posted for those who found
the requirement and had it. Exit Exam points were calculated
by adding up the three tests' scores, taking the average of the top 3 scorers
(180) as the 10 point mark, and posting the fraction of
each students' (points earned/180) times 10.
Use this Uploader
to upload your zipped solution directory. Please use Windows
to make the zipped directory, please don't use rar. One point per midnite passed will
be deducted for late-arriving projects.
About the psX12JV: Take care that the date on the JV* line is the 'accounting date' that
showed up in the drop-down when choosing a date to journalize, without the date & time! The date/time
on the *!*! line is the date & time that the transaction was submitted.
End of Semester: We'll meet in the regular classroom on the 26th, 28th, and 2nd
for a half hour, quick Q&A, then adjourn to 2123 (next door) for the Exit Exam.
There will be an open lab on the last class, the 4th, where you can
get last-minute issues worked out and/or demo Dlv #4. Dlv #4 must be presented
on or before the end of class on the 4th for full credit.
For those who will be dancing at and past
the deadline, the absolute last day to get points for Dlv #4 is Tuesday the 9th and
1 point per midnite passed after the 4th will be deducted from the score.
The Ledger Engine
is set up for this semester and is eagerly
awaiting your JVs. Find your 4-digit psX12 Enterprise Id on the Reports ->
All Current Enterprises page and use it in your psX12 JVs.
Class Meetings & Topics:
(6/14) Intro to the course: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 if you need to get it, 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.
Project #1, Deliverable #1
Project #1, Deliverable #1 Part #1 demo'd and assigned:
Part 1, due TBA, Be able to authenticate two classes of Users, Landscaper
& Helper, with reference to a table like the BE/BusinessEntity table used in
class, and deliver an appropriate menu to
them. Part 2, due a week after,
have a suitable interface for CRUD on the BusinessEntity & GoodsAndServices table:
able to create new records, lookup existing ones & update them.
3) Make sure to support CUA cursor movement and provide ComboBox or other 'lookup'
so the user never has to guess about codes, ledger accounts, or foreign keys.
Preview Deliverable #2, critiqued 3 similar
packages on the board.
(7/3) Pop quiz, Demo'd 'fulfillment cycle' using info465.info/gschool/,
asked class to sketch UML Sequence or other diagram
showing interfaces with customer, order picker, and the ACH. Mr
More Dlv #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...
- Some people are still using VS-2005 and Access-2003 and the database connection should work
as in the sample scripts, but SQLServerCE will work, too, and is the recommended.
- For those using 32-bit VS9-2008 and Access-2007, the only thing that needs to change is
the connection string, which uses ACE as the database provider:
Dim AuthCnxn As New
OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=YourDBName.accdb")
-
For those using 64-bit, Access is no longer the 'path of least resistance' and SQLServer Compact Edition
is the recommended way to do it. SQLServerCE installs with Visual Studio and can be managed from the
Server Explorer, will be demo'd in class.
DBFlail2_64bit.zip shows how to access the
connection string from the app.config object, make the connection and command objects and load
a data reader.
Open Lab after Discussion: Requirement for Cash Only Tender;
Don't use Liability accounts in your scenario, don't use Inventory; &c, &c;
Scrawl diagrams necessary/sufficent for Project #1: Class diagram along the lines
of sample software, documenting your application 'as built';
Database Entity highlighting one-to-many relationships among: BE, GS, ORDERS, DETAILS, & LEDGER;
Concise Data Dictionary; Tables populated with sample data for startup and a couple days' operations...
Project #1, Dlv #2
(7/5)
- Dlv #2, Documentation Package: Due printed on paper at the beginning of class
on the due date. This is also required to be submitted as a single document
(MS Office, Open Office, or pdf) attached to an email before class. (20 points)
The only way to earn max points for this is to get them on the first submission.
Docs without accurately coded DETAILS and Trial Balance will be docked severely, and will
be worth no more than 14 of 20 points on a resubmit.
Components of Dlv #2:
- Brief overview describing Project #1
- Use Case Diagram and Detailed Use Cases for each Actor
- Class Diagram showing architecture of the applications components
- Database Entity Relationship Diagram showing the foreign key relationships
among the tables
- The Class Diagram and ERD may be 'combined' into a diagram that treats
the tables as Entities and the software as methods.
- Concise Data Dictionary naming and describing each table and column name,
primary, & foreign keys
- Tables populated with sample data showing a startup and a couple days' operations
of a (very) small office handling automotive conferences.
This includes $17,000 paid in capital by your Owner and N. Vestor, should show $34,000 credit in 3000-Paid in Capital;
rental for your office; an initial stocking order;
compensation for your Salesperson's time; sale of a couple of items.
- Trial Balance prepared
from the Details in the sample.
- Submit these as a printed
copy in class, and as a
single document, optionally zipped, and
attached to VCU mail, on or before the deadline.
Ran thru Sample Database, link below, suggested architecture for
Project #1 database, pointed out what's sufficient and necessary for max points on
Dlv #4. Critiqued another prior submit for Dlv #2. If you're not taking notes and
actively involved in these demo's you're doomed... Too many students were missing in
class to day, some might be doomed by that too... It's rare that students flunk this
course but those who do earned it...
Business process modeling using the
Sample Database Relationships among Entities, GoodsAndServices, Orders, Details,
assigning ledger accounts to Details; Journalizing activity. On the board and with
a MySQL database. If you miss this class, too, please withdraw from the course.
Project #1, Dlv #3 - MS Project
Dlv #3, MSProject Plan for your Individual Project
#1, Max points may be found in
these guidelines. Make sure to mark all effort completed for Dlvs #1
& #2 as as completed, and that
File -> Properties looks reasonable. Bill your effort at
$65/hour, resonable for a talented noob in River City.
Deliver a well-formatted, printed copy in class on the deadline.
Submit another copy as an attachment to VCU mail, on or before midnite of the deadline.
Dlv #4 In three parts, four if you scored less than 16 on Dlv #2:
- Good-looking Trial Balances at the
Ledger Engine, at least 3 JVs posted, 7 points.
- The Application to be scored by The Rubric when demo'd in class or my office and uploaded
using the link to be provided. 20 points.
- Your MS Project Plan
showing tasks as planned & actually delivered, (tracking gantt) printed and delivered in class,
or slid under the door if #s 1 & 2 above are submitted late.
- If you scored less than 16 points on Dlv #2:
Resubmit the documentation package updated to reflect critique
of your Dlv #2 and your database and application as built,
neatly printed, stapled at the upper left corner, no binders please.
(3/3) About Structure
Review
Structure and OO...
Project #1 Resources:
- Where to get MSDNAA software.
Visual Studio 2010 Pro is what to get. It includes SQLServer CE, so there's no need to download it.
- Demo in class, make new VS.NET Solution &
Project, a new SQLServerr CE database, and made a
'user authentication form' similar to
Authenticating a User
- Business process modeling of The Accounting with the
Sample Database, on the board & in a working prototype;
Critique some past Deliverable #2 submits;
-
Table Maintenance using SQLServerCE; searching, loading list
& combo boxes.
S
Table Maintenance using Access
& combo boxes.
- General discussion of Taking on Customer Data from a
tab-delimited 'flat file' into database.
Spring 2011: Use this Script for Taking On Customers
with VS 2005-2010 & a SQL CE Database, was posted 3/7.
The Visual Basic script in the above link
should work for the few students using an Access database.
Connection String for VS 2008+ & Access 2007 projects, ACE database engine replaced JET in VS2008:
Dim AuthCnxn As New
OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=InClassSpring09.accdb")
- Debits & Credits;
Chart of Accounts;
A sample accounting (is _not_ 'the details')
- EDI Standards:
ANSI X12 handout; discuss
psX12 (pseudo X12) used in INFO465
- Look at Scripts for Order & Detail Entry;
'Journalization' processes; SQL's format function applied to
date/datetime columns; getting dates into a combo box for selection; Displaying a Journal shows
technique for getting dollars and cents and ledger accounts from a database and
serialized into strings in a ListBox, similar to strings in a psX12 transaction;
CAT Web Service demo technique for formatting and launching a
psX12 CATalog transaction via Web Service.
If you're absolutely sure of your ISP's SMTP server's address you can use
the Email a CAT to send it via SMTP email.
Please note: No CAT transaction is required Spring '10 -- these scripts are
adaptable to the required JV transaction.
- Rubric for scoring Dlv #4.
- FAQ
(First Asked Questions) for questions in email..
Unorganized stuff, will be moved up as needed...
Issues with Project #1 Dlv #1 Components:
Project #1, Dlv #1, Part #2, 'Table Maintenance' was due Thursday Feb 24th.
Working apps using the sample code have been shown to me by three or four of the front-runners in the course, and
the VS2008 & 2010 and SQLCE examples posted have been tweaked and appear to work fine.
Efforts that don't use the sample stuff are most welcome,
C#ers and PHPers are showing up well, too, and have tons of grace since VB is demo'd in class.
Known issues with the sample VB/SQLCE scripts:
- The ComboBox, cbMenuType, for MenuType/Balywycks selection needs to be 'loaded' at design time
with it's selections in
the the List Property using the Collection editor. Also, it doesn't refresh properly
if a record is re-visited without re-launching the windoze form.
A couple of sharp students have pointed this out to me and I'll look
for a solution over the weekend.
- One .netter has demo'd a quirk where there are inexplicable database errors in debug mode that
don't occur in release mode, and has mentioned that 'the forums' don't have an
explanation either. If you can't explain what you're seeing in the debugger,
try compiling for release.
- Another .netter who on Tuesday was convinced that VS was somehow broken reported that the problem was
a misspelled column name neither of us had noticed before. The report is most appreciated,
as is the progress.
- Confusion about the Local SQLCE Database: The symptom here is that you use the your new 'table maintenance form'
(like frmMaintBE) to update or add a new record in a table, or run a script like 'Take On Customers'.
The form runs without error, but you can't see the
insert or update to the table using the Server Explorer.
- The problem is that
VS2008&2010 _copy_ your SQLCE 'Local Database' referenced with |DataDirectory| in the app.config file
from your solution
directory to your app's bin/debug directory when the app is built and run in debug mode.
(They also copy it to bin/release when the build is for release but
that doesn't matter here since the instructor requests delivery of an app that that will open in
VS and run in the debugger).
-
But, neither 2008 nor 2010 copies the database back to the solution directory when your app stops running!
The connection string for the database in the Server Explorer is not changed either!
If you double-click on the connection in the Server Explorer, you're looking at the wrong database.
You can and should create another connection in the Server Explorer, browsing to the .sdf file
in your app's bin/debug directory.
- There are a few important objects at work: The default icon for your database in the Server Explorer
after adding a local database to your project is an object that references the SQLSE database in the
'Solution Directory' created by VS. The icon for your database in the Solution Explorer represents an
object that resolves the |DataDirectory| in the app.config file to your app's bin/debug or x86/bin/debug
directory. Another connection object can be added in the Server Explorer that will reference the
database in your bin/debug directory.
- There is a 'Copy to Output Directory' property
for the database, seen/changed using the Solution Explorer, that can be set to Copy Always, Do Not Copy,
or Copy if Newer. The default for a newly added Local SQLCE database is Copy If Newer!
This means that while you're debugging scripts, likely making changes to the database
and the scripts, whenever you update the 'original' database in the Server Explorer,
it is copied into the bin/debug directory when you debug, and this 'erases' any changes made
to the database during the last debugging runs.
- EVENTUALLY, you'll have to change the Copy to Output Directory property to Do Not Copy! This is
so you can present your working application at semester's end and have it _retain_ your Details so that
your application's Trial Balance report will match the one for your enterprise at the ledger engine.
- Why is this important?
At the end of the project, the instructor compares the ledger trial balance in the ledger engine
for your enterprise with the trial balance reported by your application.
Points are docked when these trial balances don't agree.
F I N A L Points
are posted for Summer 2010.
Rubric for scoring Dlv #4
(3/30) Database ERD: Here is a
database very similar to the one we'll start prototyping apps against. One change
needs to be to add 'start time' and 'stop time' to the Details so we can do time
keeping for the employees. Please keep in mind: Everything MCTP buys or sells is in
the GS table including 'services' of employees. GS for sale to customers will have a
CATalog entry. 'Orders and Details' is the answer to all questions about QOH, Ledger,
Where is my stuff, &c, &c...
System Development Methodologies
(3/23) SDMs, importance of them, importance of
describing your favorite on
a behavioral interview; SDLC vs ADM (broken presentation, needs to be
fixed or viewed with IE);
Project Survival Guide: A quick consideration of McConnel's view of
what's important about software projects, Process of planning & documentation
Maslow's hierarchy of needs applied to IS Projects, &c, &c...
The Ledger Engine
is eagerly awaiting _valid_ psX12 JVs
to build Good-Looking Trial Balances. It's email address is
ledgerengineATinfo465.info (Replace the AT with @, any address here will get
spammed like crazy...) Streams of JVs originating by Midnite Thursday
will get 5 Points Max, others will lose one per midnite passed without the GLTB.
Front Runners:Please use the 'Last 25 Emails' report
to get an eye on what you're transmitting. Check out the
psX12 standards, or use the Last 100 Emails,
to get your eye on the format for a psX12 JV. Mr A, you're still putting
the *!*! line on the first line of your body text & it doesn't belong there.
And, the psX12 standard doesn't use () around credits, it uses a minus sign.
Dollar amounts xmitted in a JV should be formatted without a decimal point
the same way they are in a CAT.
Ms M & Mr L, your pounding at the door with CAT transactions which
I hope will soon be valid JVs.
Blank Use Case Form