Engineering Software As A Service: An Agile Approach Using Cloud Computing by Armando Fox and David Patterson
Engineering Software As A Service (ESaaS) is a book that teaches software engineering concepts and skills using cloud computing, software as a service (SaaS), and agile development methods. The book is co-authored by Armando Fox, a professor of electrical engineering and computer science at the University of California, Berkeley, and David Patterson, a Turing Award winner and professor emeritus of computer science at the same university. The book is intended for a one-semester college course in software engineering, but it can also be used by individual learners or professionals who want to learn more about modern software development practices.
The book has been awarded \"Most Promising New Textbook\" for 2016 by the Textbook & Academic Authors Association and has received positive reviews from industry practitioners and academic instructors. The book is available in print and Kindle editions from Amazon.com or as a free PDF download from saasbook.info.
One of the main goals of the book is to teach software engineering as a service, which means developing software that can be delivered over the internet to users who pay for it as they use it. This model has many advantages over traditional software development, such as faster feedback, lower upfront costs, easier scalability, and higher availability. However, it also poses many challenges, such as ensuring quality, security, reliability, and performance. The book shows how to use cloud computing platforms, such as Amazon Web Services and Heroku, to deploy and manage SaaS applications in a cost-effective and efficient way.
Another goal of the book is to teach agile development methods, such as Extreme Programming (XP), which emphasize collaboration, communication, and customer satisfaction over rigid processes and documentation. The book explains how to use agile practices, such as user stories, pair programming, code reviews, continuous integration, and continuous delivery, to deliver software that meets the changing needs and expectations of the users. The book also demonstrates how to use tools and frameworks, such as Ruby on Rails, RSpec, Cucumber, Git, and Travis CI, to support agile development and testing.
The book is suitable for students who have some prior programming experience in any language and who want to learn how to build web-based applications using modern technologies and techniques. The book assumes that the readers have access to a computer with an internet connection and a web browser. The book does not require any prior knowledge of cloud computing, SaaS, or agile development. The book provides all the necessary background information and guidance to help the readers get started and succeed in the course. ec8f644aee