Apr 25, 2024  
2019-2020 Catalog 
    
2019-2020 Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

IT 372 - Software as a Service

Credits: 5
Techniques for designing, developing, and modifying large software systems, with a focus on building for maintainability. Topics include traditional and agile software development processes, requirements, testing, maintenance, project management. Students build a software as a service application and deploy it to the cloud.

Prerequisite: IT 328  and 333 ; or instructor’s permission.

Course Outcomes:
Students who successfully complete this class will be able to:

  1. Compare and contrast a traditional software development process with an agile software development process.
  2. Define terms relating to software quality assurance, including: verification versus validation, testing levels, and testing strategies.
  3. Describe the architecture of cloud computing based software as a service (SaaS) applications.
  4. Use a framework to build a software as a service (SaaS) application that is developed or deployed in the cloud.
  5. Describe the processes of behavior driven development (BDD) and test driven development (TDD) and the relationship between them.
  6. Assess the impact of software changes with respect to cost, effort, and the long-term maintenance of software.

Program Outcomes
  1. Develop stable, robust, secure, and efficient code following best practices in database design and software construction.
  2. Apply Agile practices such as maintaining a product backlog, planning sprints, participating in sprint reviews and retrospectives.
  3. Perform software quality assurance activities throughout the entire software lifecycle.


College-wide Outcomes
  • Critical Thinking - Critical thinking finds expression in all disciplines and everyday life. It is characterized by an ability to reflect upon thinking patterns, including the role of emotions on thoughts, and to rigorously assess the quality of thought through its work products. Critical thinkers routinely evaluate thinking processes and alter them, as necessary, to facilitate an improvement in their thinking and potentially foster certain dispositions or intellectual traits over time.



Add to Portfolio (opens a new window)