Friday, January 28, 2011

Some Ideas/Questions/Suggestions, not all original

  1. Sketch a domain model
    • What are domain classes?
    • What are relationships among domain classes?
    • What are responsibilities of each domain class?
    • Pick the easy ones first.
    • Which ones do you need to refine first N (N is small) user stories?
  2. Pick a User Story, refine it.
    • Design a page layout template. This can be simple because real estate is at a premium, but Rails provides nice support for generalizing a layout across entire application.
    • Finalize (conditionally) what each "page" looks like, that is, what fields it contains.
    • Build in navigation: implement flow we charted in meeting.
    • Ask: What are implications of UI and UI flow on model?

    It may not be a bad idea to prototype user story on desktop; get a quick feel for flow.

  3. Consider data-flow of report submission.
    • One of first goals should be to get an end-to-end pipeline in place from screen to backend. This can be rough but it will provide context for discussion of further design.
    • I imagine a Rails SubmissionController on the back-end of this pipeline. Its first implementation is real simple: generate a text file.
    • I also imagine some sort of NotificationService for distributing reports (in whatever form). Its first implementation is real simple: print to console.
  4. Using Rails scaffolding support, we can very easily build some cheap admin screens for:
    • Adding students
    • Adding users (ie RA, Hall Directors)
    • Defining buildings, etc.
    • Adding infractions

    I would encourage getting started on this as a way to start to shake out model and as a way to familiarize yourself with Rails.

  5. Start asking: How is a report modeled?
    • I wonder if something like this would be useful: http://oreports.com/ (http://oreports.com/docs/or-install-guide-3.0.html). This package pulls from relational database.
    • If you grab the folder \\csfile\software\openreports\openreports-tomcat and drop it in at C: on a windows machine, you can see some of the capabilities of openreports.
      1. Copy folder to c:
      2. Change directory ino openreports, ie. cd openreports
      3. Run startup.bat script
      4. In browser, visit by http://localhost:8080/openreports (assuming you are on same machine)
      5. User/password = admin/admin.

      What you are viewing, of course, is a demo app. Behind the demo is the kind of code we would write to generate reports from sql.

    • One nice thing about this package is that it can generate either HTML or PDF!

No comments:

Post a Comment