Skip to main content

The Project: Entity Modeling

I've said it before, I kinda know what this program needs to do. Translating that into C# objects that will interact with each other intelligently and efficiently...that's a whole 'nother can of worms that I personally find easier as a visual.


A series of class diagrams representing database entities

I know Students will have courses. Courses will have evaluations (like quizzes and tests). Evaluations will have Scores. Deciding how that works, from a database perspective, will help ensure I'm configuring my code to back into the correct place and identify ways to simplify the data layer--storing instructors in their own table will allow possible features down the road of letting students see how many A's a teacher hands out historically, for instance, but also makes me decide if my entity should have an instructor object attached, or should that be a domain model thing?

I'm a very goal-oriented person in that if I know there's a river to cross 500 miles from now, I want to plan the next 500 miles of route to put me exactly where I want to cross that river. Maybe you're more of the school of thought to get to the river ASAP and then figure out how to cross. Both approaches will get one across the river, but I prefer to have a plan that takes known obstacles into account (that I can modify as needed) than to make it up on the fly as things come up.

Comments

Popular posts from this blog

Use Cases: The Theory

They told me in my CSCI-1275 Systems Analysis and Design course there's a tendency for programmers to just start coding stuff without thinking, and this was nigh on tantamount to total catastrophe. I didn't fully understand this until a little later in the semester. We had just learned about arrays and collections in my CSCI-1630 C# Programming I course, and I found this to be a perfect excuse to write a little application that would synthetically divide polynomials . (That's a really great way to master synthetic division, actually, if you're interested in brushing up on that skill. Although my wife still insists the time would have been better spent putting more time into my algebra homework. Two types of people...). At any rate, long story short: I made the program work perfectly, for 3rd degree polynomials that divided evenly. Then I realized it broke when I tried a polynomial of the 4th degree. And then again when the 3rd degree polynomial had a remainder. ...

A Word About the Analysis Sequence

I mentioned it earlier at some point, but I'm not following the traditional method of system analysis and design as taught in my class. I'm skipping quite a few steps, and really what I'm planning to end up with is a little disjointed. However, I have some reasons for that--namely that in a situation like this, I feel going whole hog on the discovery phase is redundant. For instance, domain model and entity relationship model. If a student had come to me and described the problem and asked for a solution? Yes. Absolutely. I would need to sketch this out--what things am I working with? Which things are going to live in the database? Does a course have a grade like a planet has a moon, or is a course and a grade more like Mars and Uranus? These are important questions that need answered before you can get into the meat and potatoes. But...I already did that. Months ago. Before I knew what a domain class model even was, but I have the relationships and the entities all l...

Joyous Happy Updates

The Old Goal, Revisited Quick redirect (more to refresh myself than anyone who is going to read previous posts and then this one without feeling any gap in time--kinda like binge watching an older show on Netflix wondering why the season in 2007/8 was only 1.5 real episodes): This blog was initially created to serve in an alternate timeline where I did not have an internship over the summer. My goal was to develop a web and/or mobile app from scratch, as a way to keep my skills sharp and prepare for graduation in December. This blog was supposed to be a way to document to potential employers "Hey look--I can do the things, even if no one has paid me to yet! And I can write about them, with personality even!"  So What Changed? A late but extremely welcome change to this plan was an offer to intern at OrangeBoy, Inc here in Columbus--an exciting small firm that combines a software-as-a-service platform called Savannah with public service consulting expertise to help libra...