Project 113 Distinguish between program validation and program verification

Project 113 distinguish between program validation

This preview shows page 68 - 73 out of 517 pages.

Project 1.13. Distinguish between program validation and program verification. Project 1.14. (Discussion) What are the Top 5 reasons that SaaS and Cloud Computing will grow in popularity and the Top 5 obstacles to its growth? Project 1.15. (Discussion) Discuss the advantages and disadvantages of software reuse.
Image of page 68
Project 1.16. (Discussion) Describe and distinguish among the different types and levels of testing (unit, integration, module, system, and acceptance). Project 1.17. Describe the difference between principles of the waterfall model and Plan-and- Document models using iterations. Project 1.18. Describe the different practices that are key components of Agile and various Plan- and-Document process models. Project 1.19. Differentiate among the phases of software development of Plan-and-Document models.
Image of page 69
Part I Software as a Service
Image of page 70
2. The Architecture of SaaS Applications Dennis Ritchie (left, 1941–2011) and Ken Thompson (right, 1943–) shared the 1983 Turing Award for fundamental contributions to operating systems design in general and the invention of Unix in particular. I think the major good idea in Unix was its clean and simple interface: open, close, read, and write. Unix and Beyond: An Interview With Ken Thompson, IEEE Computer 32(5), May 1999
Image of page 71
2.1 100,000 Feet: Client-Server Architecture 2.2 50,000 Feet: Communication—HTTP and URIs 2.3 10,000 Feet: Representation—HTML and CSS 2.4 5,000 Feet: 3-Tier Architecture & Horizontal Scaling 2.5 1,000 Feet: Model-View-Controller Architecture 2.6 500 Feet: Active Record for Models 2.7 500 Feet: Routes, Controllers, and REST 2.8 500 Feet: Template Views 2.9 Fallacies and Pitfalls 2.10 Concluding Remarks: Patterns, Architecture, and Long-Lived APIs 2.11 To Learn More 2.12 Suggested Projects Concepts Software architecture describes how the subsystems that make up a piece of software are connected together to meet the application’s functional and non-functional requirements. A design pattern describes a general architectural solution to a family of similar problems, obtained by generalizing from the experience of developers who have solved those problems before. Examining SaaS apps, design patterns are evident at all levels of detail: SaaS apps follow the client-server pattern, in which a client makes requests and a server responds to the requests of many clients. A SaaS server follows the three-tier architecture pattern, which separates the responsibilities of different SaaS server components and enables horizontal scaling to accommodate millions of users. SaaS app code lives in the application tier . Many SaaS apps, including those based on Rails, follow the Model-View-Controller design pattern, in which Models deal with the app’s resources such as users or blog posts, Views present information to the user via the browser, and Controllers map the user’s browser actions to application code. For Models, Rails uses the Active Record pattern because it is a good fit to relational databases , the most popular way of storing SaaS data. For Views, Rails uses the Template View pattern to create Web pages to send to the browser. For Controllers, Rails follows the Representational State
Image of page 72
Image of page 73

You've reached the end of your free preview.

Want to read all 517 pages?

  • Spring '19
  • Dr.Marcos

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes
A+ icon
Ask Expert Tutors