13.07.2015 Views

Software Engineering for Internet Applications - Student Community

Software Engineering for Internet Applications - Student Community

Software Engineering for Internet Applications - Student Community

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

You might find that in making the data model precise with SQL tabledefinitions questions <strong>for</strong> the client arise. You realize that your earlierdiscussions with the client were too vague in some areas. This is anatural consequence of building a SQL data model. Pick up thephone and call your client to get clarifications. Email with severalalternative concrete scenarios. Get your client accustomed to fieldingquestions in a timely manner.Show the draft data model to your teaching assistant and discusswith other students be<strong>for</strong>e proceeding.6.8 How the Workflow Problem ArisesIt is easy to build and maintain a Web site if• one person is publisher, author, and programmer• the site comprises only a few pages• nobody cares whether these few pages are <strong>for</strong>mattedconsistently• nobody cares about retrieving old versions or figuring outhow a version got to be the way that it isFortunate <strong>for</strong> companies and programmers that hope to make a niceliving from providing content management "solutions", the precedingconditions seldom obtain at better-financed Web sites. What is moretypical are the following conditions:• labor is divided among publishers, in<strong>for</strong>mation designers,graphic designers, authors, and programmers• the site contains thousands of pages• pages must be consistent within sections and sections musthave a unifying theme• version control is criticalThe publisher decides what major content sections are available,when a content section goes live, and the relative prominence to beassigned each content section.The in<strong>for</strong>mation designer decides what navigational links areavailable from every document on the page, how to present theavailable content sections, and what graphic design elements arerequired.by making minor changes, end up with a vastly improved applicationby the last day of the class.13.2 Clean up the CodeBe<strong>for</strong>e beginning the planning process <strong>for</strong> the rest of the course it isworth going through what you've done already in order to (a) clean itup a bit, and (b) familiarize yourself with things that will needsignificant rewrites. Work through every page script, data model file,and documentation page and ask yourselves the following questions:• is every script signed and dated? does the header explainwhat the script does? is that description still accurate?• are all of the SQL queries within scripts readable andproperly indented (see http://philip.greenspun.com/sql/style<strong>for</strong> some tips)• do the data model files contain appropriate comments?• are the file and variable names consistent?• is the structure consistent with the standards that you set<strong>for</strong>th in the <strong>Software</strong> Modularity chapter exercises?• if you're using some sort of templating or code-behindsystem, are you using it on every page?• is the documentation all signed, dated, and appropriatelylinked?• is the documentation consistent with the standards that youset <strong>for</strong>th in the <strong>Software</strong> Modularity chapter exercises?Fix the small discrepancies and record the large ones <strong>for</strong> inclusion inyour rest-of-course implementation plan (see below).13.3 Clean up the User ExperienceWith multiple programmers working on a system it is easy <strong>for</strong> smallinconsistencies to creep into the designs of various pages. Come upwith a set of representative tasks that are important <strong>for</strong> users toaccomplish within your application and document these tasks at/doc/testing/representative-tasks. Work through the tasksas a team to see if indeed there are small things that should becleaned up in terms of what the user sees.At the same time look <strong>for</strong> larger problems. Ask yourself howconsistent task accomplishment within the application you've built iswith the page design and flow at popular public <strong>Internet</strong> applications,such as Amazon, eBay, and Google. Remember that it is unique104245

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!