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

Intro to Computer Science
University of Virginia via Udacity
Software Engineering for SaaS
University of California, Berkeley via Coursera
CS50's Introduction to Computer Science
Harvard University via edX
UNSW Computing 1 - The Art of Programming
OpenLearning
Mobile Robotics
Open2Study