YoVDO

Approaches to software development

Offered By: The Open University via OpenLearn

Tags

Software Development Courses Software Engineering Courses System Architecture Courses Agile Development Courses

Course Description

Overview

This free course, Approaches to software development, presents an engineering approach to the development of software systems – a software engineering approach. The course pays particular attention to issues of software quality, in terms of both product (what is built) and process (how we build it).

Syllabus

  • Introduction
  • Learning outcomes
  • 1 Software and software engineering
  • 1 Software and software engineering
  • 1.1 What is a system?
  • Definition
  • Software systems
  • Viewpoints
  • System boundaries
  • 1.2 The nature of software
  • 1.3 Characteristics of a software system
  • 1.4 Maintainability and other software problems
  • Legacy systems
  • Unsuccessful software systems
  • 1.5 Divide and conquer?
  • Problem and solution
  • Modules and interfaces
  • Abstraction
  • Coupling and cohesion
  • 1.6 Architecture
  • Layers
  • Components
  • Services
  • 1.7 Summary of Section 1
  • 2 An introduction to software development
  • 2 An introduction to software development
  • 2.1 Software development as an engineering activity
  • 2.2 The role of development processes
  • Typical technical activities for the development of software
  • An overall process model
  • Agile development
  • 2.3 Choosing an appropriate process
  • Choosing the appropriate level of formality
  • Dealing with risk
  • 2.4 Traceability
  • Project notebook
  • 2.5 Summary of Section 2
  • 3 Modelling in software development
  • 3 Modelling in software development
  • 3.1 Importance of modelling
  • Agile modelling
  • A standard notation
  • 3.2 Models illustrate points of view
  • 3.3 Introducing the Unified Process
  • Views in the UP
  • Agile UP
  • 3.4 Activities and artefacts in the development process
  • Domain modelling
  • Requirements
  • Analysis
  • Design
  • Implementation
  • Testing
  • Deployment
  • 3.5 Summary of Section 3
  • Conclusion
  • References
  • Acknowledgements

Tags

Related Courses

Software as a Service
University of California, Berkeley via Coursera
Software Testing
University of Utah via Udacity
The Hardware/Software Interface
University of Washington via Coursera
Software Debugging
Saarland University via Udacity
Introduction to Systematic Program Design - Part 1
The University of British Columbia via Coursera