London School of Economics and Political Science (LSE)

Modules

61
Software Engineering

Prerequisites – 62 Information systems development and management and
103 Elements of information and communication technologies

This syllabus covers the methods, attitudes and values that underlie professional software systems development. The main emphasis is on how to specify the requirements of a software application and how to achieve a successful design and implementation.

Software and software engineering: definition of software, its importance, the software crisis; software development approaches – the classic life cycle, prototyping, evolutionary software development.

Software requirements analysis: structured and object-oriented methods; formal specification.

Software design: structured and object-oriented design: features of a good design – modularity, cohesion and coupling, information hiding, abstraction.

Coding: choice of programming languages; produce program code and documentation.

Software testing and implementation: white box and black box testing; unit, integration, validation and system testing; management of the conversion of operations.

Software maintenance: corrective, adaptive, perfective and preventative maintenance.

Software project management: effort estimation, scheduling and resource allocation, monitoring and control, risk management for software applications.

Software engineering special topics: computer-aided software engineering, software documentation, software reuse and portability, software reliability.

Practical course work: development of a software application by using systematically software engineering methods, and development tools such as Pascal, Visual Basic, C++ or Delphi.

Note: Candidates taking this unit are required to submit course work.