intruduction to software engineering, Lecture notes of Computer Science

To provide an over view about the module and review some SE principles

Typology: Lecture notes

2018/2019

Uploaded on 10/21/2019

jianbin-wang
jianbin-wang 🇬🇧

1 document

1 / 33

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Engineering I
Week 1 Introduction and review
30/09/2019
Dr Mohammed Bahja
https://www.cs.bham.ac.uk/~bahjam/
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21

Partial preview of the text

Download intruduction to software engineering and more Lecture notes Computer Science in PDF only on Docsity!

Software Engineering I

Week 1 – Introduction and review 30/09/ Dr Mohammed Bahja [email protected] https://www.cs.bham.ac.uk/~bahjam/

Lecture Objective

To provide an over view about the module and review

some SE principles.

The aims of this module are to:

Ø Show the need for professional discipline and effective management throughout the software development process Ø Show the importance of teamwork and good interpersonal skills in successful software development Ø Give an appreciation of the importance of requirements engineering as the first phase of the software development process

On successful completion of this module, the student should be able to:

  1. Explain the importance of successful requirements definition in commercial software development, identifying the difficulties involved
  2. Explain and apply appropriate techniques which help to define clear and unambiguous requirements
  3. Explain the basic principles of project management, including the role of the project manager
  4. Apply standard techniques in project management
  5. Analyse the organisational issues surrounding the development and implementation of systems solutions
  6. Identify appropriate interpersonal skills to manage and perform the systems development process more effectively

Text books

Ø Ian Sommerville, Software Engineering Ø Paul Jorgensen, Software Testing

Assessment

Ø final mark = 1.5 hour final exam (80%) + continuous assessment (20%) Continuous assessment: Ø Assignment 0 (formative 0%) : Out Week 2 deadline Week 4 Software engineering principles Agile software development Ø Assignment 2 (Summative 10%): Out Week 4 deadline week 7 Requirements engendering Ø Assignment 3 (Summative 10%): Out Week 7 deadline week 10 Software testing Software project management

What is Software Engineering?

Ø Engineering discipline that is concerned with all aspects of software production. What is the difference between software engineering and computer science? Ø Computer science focuses on theory and fundamentals. Ø Software engineering is concerned with the practicalities of developing and delivering useful software.

What is Software Engineering?

Ø Engineering discipline that is concerned with all aspects of software production. What are the aspects of software production? software requirement software design software testing software maintenance software configuration management software engineering management software engineering processes, tools and methods software quality …

Why Software Engineering?

Ø Avoids software crisis! (over budget, late, doesn’t meet customer’s needs, functional, performance, quality, …) Ø The answer to the software crisis was software engineering, i.e., theories, techniques, tools together with methodologies, management, and organisation.

Why Software Engineering?

Ø Programming is a personal (or pair) activity. Ø Software engineering is a team activity.

Software Process

Ø Systematic approach which is a sequence of activities to produce a software product. Ø Simplified representation of a software process is called software process model or software development life cycle (SDLC).

Software Process

Includes: Ø software specification Ø software development Ø software validation Ø software evolution

General Process Models

Ø Code-and-fix Ø Spiral Ø Rapid prototyping Ø Unified Process (UP) Ø Agile —> XP Ø …

General Process Models

By changing the process models, we can affect Ø Development speed Ø Product quality Ø Project visibility Ø Administrative overhead Ø Risk exposure Ø Customer relations Ø …