0

(

ratings

)

36

students

Created by:

Profile Photo

Last updated:

May 18, 2022

Duration:

Unlimited Duration

FREE

This course includes:

Unlimited Duration

Badge on Completion

Certificate of completion

Unlimited Duration

Description

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).

Course learning outcomes

After studying this course, you should be able to:
  • describe the essential characteristics, and identify, using examples, the connections between the characteristics of a good software system
  • describe the elements of a basic software development process and illustrate the variety of different life cycles
  • understand the motivation for, and best practices of, an agile approach to software development
  • explain the benefits of the Unified Modeling Language (UML) as a standard notation for modelling
  • identify the different kinds of the model used in the development of software and describe the relationship between models, viewpoints and software development.

Course Curriculum

  • Introduction 00:15:00
  • Learning outcomes 00:10:00
    • Software and software engineering 00:10:00
    • What is a system? 00:10:00
    • Definition 00:10:00
    • Software systems 00:15:00
    • Viewpoints 00:10:00
    • System boundaries 00:15:00
    • The nature of software 00:15:00
    • Characteristics of a software system 00:20:00
    • Maintainability and other software problems 00:10:00
    • Legacy systems 00:15:00
    • Unsuccessful software systems 00:20:00
    • Divide and conquer? 00:15:00
    • Problem and solution 00:15:00
    • Modules and interfaces 00:20:00
    • Abstraction 00:10:00
    • Coupling and cohesion 00:25:00
    • Architecture 00:15:00
    • Layers 00:15:00
    • Components 00:10:00
    • Services 00:20:00
    • Summary of Section 1 00:15:00
    • An introduction to software development 00:05:00
    • Software development as an engineering activity 00:15:00
    • The role of development processes 00:15:00
    • Typical technical activities for the development of software 00:15:00
    • An overall process model 00:25:00
    • Agile development 00:20:00
    • Choosing an appropriate process 00:10:00
    • Choosing the appropriate level of formality 00:20:00
    • Dealing with risk 00:20:00
    • Traceability 00:30:00
    • Project notebook 00:45:00
    • Summary of Section 2 00:15:00
    • Modelling in software development 00:05:00
    • Importance of modelling 00:15:00
    • Agile modelling 00:10:00
    • A standard notation 00:20:00
    • Models illustrate points of view 00:20:00
    • Introducing the Unified Process 00:15:00
    • Views in the UP 00:15:00
    • Agile UP 00:10:00
    • Activities and artefacts in the development process 00:15:00
    • Domain modelling 00:15:00
    • Requirements 00:10:00
    • Analysis 00:10:00
    • Design 00:15:00
    • Implementation 00:10:00
    • Testing 00:10:00
    • Deployment 00:20:00
    • Summary of Section 3 00:15:00
    • Conclusion 00:15:00

About the instructor

4.8 4.8

Instructor Rating

14

Reviews

1068

Courses

42460

Students

Profile Photo
Open University UK