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/2019 Dr Mohammed Bahja m.bahja@cs.bham.ac.uk https://www.cs.bham.ac.uk/~bahjam/ Lecture Objective To provide an over view about the module and review some SE principles. 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 Teaching topics Ø Introduction Ø Software engineering principles Ø Agile software development Ø Requirement engineering Ø Software testing Ø Project management Ø Project planning Ø Configuration management Text books Ø Ian Sommerville, Software Engineering Ø Paul Jorgensen, Software Testing 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? Ø More and more, individuals and society rely on advanced software systems. We need to be able to produce reliable and trustworthy systems economically and quickly. Ø It is usually cheaper, in the long run, to use software engineering methods and techniques for professional software systems rather than just write programs as a personal programming project. Software crisis!
Type of Type of Cost
Started ¢ Terminated ¢ Systemname ¢ eo ¢ . Problems orin- ¢ Outcome
system region Purchaser (expected) ce?
Electronic = eee
1980s 1993 TAURUS trading Kingdom exchange | $008 *8eP, cost overrun. The project was never completed. £75m 2 Cancelled
lator
pein) (London)
Integrated = as Wessex eae
1984 1990 RISP computer Gnadom Health Scope creep, cost overrun. The project was never completed. a Cancelled
services (wessex) | Authority =
Customer
service, Patent and i
ver monoket a ee ee raiaectatesenitenrntu te SS aunt Sen
administration Office ee J ae "
system
Beset by delays and ballooning costs, and the software part of it was never finished. The
i ‘government was also criticised for not demonstrating value for money. Although the contracts Discontinued,
pont NHS Connecting [Electronic 4, Central were drafted to ensure that the contractors would be forced to bear a significant portion of the cost | £12bn rceg Putsome
2002 for Health care records i Gem | Government | ofthe project going wrong if it did go wrong, in realty this did not always happen. The NPfIT was | (£2.3bn) parts
o described by Members of Parliament as one of the "worst and most expensive contracting continued
fiascos" ever.!°)
Military
Expeditionary = — a ; ' Outsourced -
rif ; r
pain aaa Enrpiae ree Ane et cant capabilities ready on time; would have cost $1.1bn more just to gett0 1/4 ofthe | a nctuding ey
System — States ac requirements
Police case | 5 DKK 500m
7 12 a = i rk h with .
2007 20 ja:Polsag manage! Senmark | Police Did not work property, technical problems with contractor. (70m) | Outsourced | Cancelled
‘Advanced
passenger UK Border our
2007 2014 e-Borders = United Aseries of delays. £412m | Outsourced —_Canelled
information Agency
Kingdom (e742m)
programme
Dental health Social
Forsakringska 1 Outsourced,
2007 2010 cae $82 | service = Insurance Not fit for purpose, multiple delays, cost overrun. en roe Cancelled"!
SAP ‘Sweden ($1.18bn)!“! | then insourced
system Agency
Outsourced,
poe Se 2013, the project was judged to be obsolete (as much cheaper commercial off the shelf more than |e"
Digital Media production, State By _ Coe - Judged ae insourced,
2008 2013 ati United alternatives by then existed) and was scrapped by BBC management. The BBC Director General | £98m Cancelled
bh) media asset Liscdom | broadcaster | «514 it had been a huge waste of money!) (ea1.7m) | mer
management" " ° ‘outsourced
again
The Si
ote cme
= in caminal United
2009 2013 ores inteligence om Police Force | Not ft for purpose”? £148m | Outsourced Scrapped
logging
Network Si
letwor 9 (Surrey)
(SIREN) @
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 By changing the process models, we can affect Ø Development speed Ø Product quality Ø Project visibility Ø Administrative overhead Ø Risk exposure Ø Customer relations Ø … General Process Models Ø There is not any IDEAL model that works for every problem! Ø In practice each organisation develops its own via a hybridisation of multiple abstract processes Ø However... the process must be: reliable, predictable, and efficient. Ø Influencing Factors: Organisation style, People who are involved, Criticality of the system Waterfall model
> Derived from military software development processes
Requirements
definition
System and
software design
Implementation
and unit testing
Integration and
system testing
Operation and
maintenance
Waterfall model is appropriate for Ø Embedded systems The software has to interface with hardware systems Ø Critical systems need for extensive safety and security analysis of the specification and design. Safety-related problems in the specification and design are usually very expensive to correct at the implementation stage. Ø Large software systems part of broader engineering systems developed by several partners Waterfall model is NOT appropriate if Ø informal communication is possible Ø software requirements change quickly Incremental development
> Defined to encompass flexibility and change
anticipation
Concurrent
activities
tee ge —_—> Initial
Specification version
Outline | ——» | Intermediate
description Development versions
ae Final
Validation —> version
Integration and configuration Ø Requirement specification Ø Software discovery and evaluation Ø Requirements refinement Ø Application system configuration Ø Component adaptation and integration Integration and configuration Pros Ø Reduced costs and risks as less software is developed. Ø Faster delivery and deployment of the system. Integration and configuration Cons Ø Requirement compromises are inevitable Ø Loss of control over evolution of reused system components