Software Development Life Cycles

About This Course

In SDLC, you will learn how to select and implement the ideal software process for your development project. Through Professor Orso's engaging examples and interviews with industry insiders, you will learn both conceptual and practical aspects of software engineering. The course covers requirements engineering, architecture and design, testing and maintenance, and software quality in general. The goal of this class is to equip you with the skills necessary to define requirements, set up an integrated development environment (IDE), learn Git (and Github!) and use Unified Modeling Language (UML) to design and build an Android application. We will also examine several testing practices and refactoring techniques that are helpful before the launch of your software project. While everyone working with software should have these skills, they are particularly important for Software Engineers and Engineering Managers. SDLC is offered as Software Development Processes at Georgia Tech where it is a part of the Online Masters Degree (OMS). Taking this course here will not earn credit towards the OMS degree.

Why Take This?

Software engineering isn’t just about programming. It isn’t just about building a technology stack. This course introduces the idea of software engineering as an iterative, systematic process. You will learn to use Github and Eclipse as you get introduced to the development life cycle, design processes and software testing. Software Development Life Cycles will show you the skills and processes needed to complement technical understanding of software products in order to make you a more effective developer in an engineering team. In the final project, you will go through all the stages of software development and work with your coach in order to plan and build an Android application.

Prerequisites and Requirements

A strong familiarity with Android development (perhaps through [Developing Android Apps](https://www.udacity.com/course/ud853)) is expected.
Software Development Life Cycles explores requirements engineering, architecture and design, testing, and software quality in general.