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 supply English-language queries that they'll have totranslate into SQL against their tables and columns. A groupcan be one project team or two project teams workingtogether. Ideally the classroom will have many separateblackboards. The instructors walk around answeringquestions and coaching the groups. After 30-40 minutes youask two or three of the best groups to present their work.After each presentation you moderate a discussion of themerits of the data model and how much work the RDBMSwill have to do in answering the queries. You close themeeting time by introducing the B-tree index and explaininghow to add indices to a data model to improve queryper<strong>for</strong>mance.• Week 3, Meeting 1: <strong>Student</strong>s turn in their work on UserRegistration and Management. Class time is devoted topresentation and discussion of different teams' approachesto the user registration chapter problems. At least a coupleof teams will have been successful in meeting with theirclients and drafting solutions to the Planning chapter.Devote 5-10 minutes of class time to discussing the work ofthe farthest-along teams in this area as a way of inspiringthe rest of the class.• Week 3, Meeting 2: <strong>Student</strong>s turn in their work onPlanning and Exercises 1 through 3 in ContentManagement (up to but not including the skeletalimplementation). Class time is devoted to presentation anddiscussion of teams' approaches to content managementdata models. Consider breaking up into teams to take asingle-table data model and put it into 3rd Normal Form.• Week 4, Meeting 1: Devoted to look and feel criticism ofpublic <strong>Internet</strong> applications and the more advanced teams.• Week 4, Meeting 2: <strong>Student</strong>s complete all exercises inContent Management, including client sign-off. Classtime devoted to team presentations of work so far and plans<strong>for</strong> immediate future.• Week 5, Meeting 1: <strong>Student</strong>s complete all exercises in<strong>Software</strong> Modularity. Class time devoted to teampresentations of their design decisions and documentation.• Week 5, Meeting 2: <strong>Student</strong>s complete exercises inDiscussion chapter up to but not including the usabilitytest.• Week 6, Meeting 1: <strong>Student</strong>s complete all exercises inDiscussion chapter except execution of the refinementplan. Class time devoted to discussion of usability testChapter 2B a s i cIn this chapter you'll learn how to evaluate <strong>Internet</strong> applicationdevelopment environments. Then you'll pick one. Then you'll learnhow to use it.You're also going to learn about the stateless and anonymousprotocol that makes Web development different from classical intercomputerapplication development. You'll learn why the relationaldatabase management system is key to controlling the concurrencyproblem that arises from multiple simultaneous users. You'll developsoftware to read and write Extensible Markup Language (XML).2.1 Old-style Communications ProtocolsIn a traditional communications protocol Computer Program A opensa connection to Computer Program B. Both programs runcontinuously <strong>for</strong> the duration of the communication. This makes iteasy <strong>for</strong> Program B to remember what Program A has said already.Program B can build up state in its memory. The memory can in factcontain a complete log of everything that has come over the wirefrom Program A.**** insert figure here ****Figure 1: In a traditional stateful communications protocol, twoprograms running on two separate computers establish a connectionand proceed to use that connection <strong>for</strong> as long as necessary,typically until one of the programs terminates.2.2 HTTP: stateless and anonymousHyperText Transfer Protocol (HTTP) is the fundamental means ofexchanging in<strong>for</strong>mation and requesting services on the Web. HTTP isalso used when developing text services <strong>for</strong> mobile phone users and,with VoiceXML, also used to implement voice-controlled applications.The most important thing to know about HTTP is that it is stateless. Ifyou view 10 Web pages, your browser makes 10 independent HTTPrequests of the publisher's Web server. At any time in between thoserequests, you are free to restart your browser program. At any time inbetween those requests, the publisher is free to restart its serverprogram.33811

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

Saved successfully!

Ooh no, something went wrong!