Software Engineering - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Software Engineering

Description:

Many of the concepts needed for well engineered software. Is not ... An alternative design concept. Is still a tool. Answers some problems better than the RUP ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 23
Provided by: csNo
Category:

less

Transcript and Presenter's Notes

Title: Software Engineering


1
Software Engineering
  • Peter Blanchfield

2
Course Content
  • Software Engineering Concepts
  • Software Engineering Tools
  • Examples
  • Object Orientation
  • UML
  • Agile modelling
  • eXtreme programming
  • IDE
  • Rational Unified Process
  • Group Project worth half the marks

3
Concepts Review?
  • Why software Engineering?
  • What is a good system?
  • What is wrong with current systems?
  • In general how can we better design software?

4
Tools to do what?
  • Design lifecycle implies design
  • Analysis of the current problem
  • Methods of analysis
  • Determining a solution
  • Working out how to implement it
  • How to test it
  • Document it
  • Keep it up to date

5
Object Orientation
  • Allows
  • Many of the concepts needed for well engineered
    software
  • Is not the only way and
  • Will not in itself save you
  • But is a major tool

6
UML
  • Will allow us to model many of our systems
  • Can model most of the design steps
  • Can be used to generate initial code
  • Is not itself the answer

7
IDE
  • Integrated Development Environment
  • Example Microsoft Visual Studio
  • C
  • Combined with in house engines and libraries

8
Extreme Programming
  • A design methodology
  • Will make use of other tools
  • Like IDE
  • Maybe some UML
  • Is not the answer

9
Rational Unified Process
  • RUP
  • A development methodology
  • Offered itself as the answer but it is not

10
Agile modelling
  • An alternative design concept
  • Is still a tool
  • Answers some problems better than the RUP
  • But is not the answer

11
Assessment
  • Exam worth 50
  • Group work assignment worth 50

12
Books
  • Any number of texts in the Library
  • Pressman Software Engineering A Practitioners
    Approach
  • Somerville Software Engineering
  • Stevens (with) Pooley Using UML Software
    Engineering with Objects and Components
  • http//amazon.co.uk/s/refnb_ss_b?urlsearch-alias
    3Dstripbooksfield-keywordsXNAGo.x8Go.y7

13
Group work assignment
  • An opportunity to use design tools and IDE!
  • To experience work in groups
  • One project
  • Many solutions!
  • Assessed on how the group works
  • As well as individual effort

14
Why?
  • Major projects fail
  • Because of lack of design
  • Because of lack of communication
  • Because people have to work together
  • Because the customer seldom understands us
  • Because we fail to understand the customer!
  • You may be great as an individual
  • But if you cannot work in a team you are no use
    as a software engineer

15
Robert L. Glass 1980s
  • Describes the design process as
  • understanding the problem
  • decomposing the problem into goals and objects
  • selecting and composing plans to solve the
    problem
  • implementing the plans
  • reflecting on the product and the process
  • http//www.developerdotstar.com/mag/articles/glass
    _cognitive_view.html
  • Which as he says is no more than a rewording of
    the common software development lifecycle
  • Describes a piece of work to try and determine a
    good methodology

16
Start with
  • A good designer and record how they work
  • While trying not to interfere with that
  • Failure is an essential part of successful
    design - ibid
  • Good designers build on experience
  • Have a go, fail, redesign, fail again, redesign,
    succeed!
  • Next time they reuse
  • A RARE example

17
Teams
  • The design process needs to fit into teams
  • Need to have formal methods
  • Some important issues
  • Conflict
  • Communication
  • Responsibility

18
Teams Conflict
  • Inevitable
  • but does not need to be destructive
  • Work on conflicts resolve them

19
Teams - communication
  • Using standard tools comes into play
  • Make sure you all mean the same thing!
  • House Style!
  • In House Engines
  • Including the customers
  • Rapid and agile development methodologies would
    insist we include the customer in the feedback
  • That we feedback frequently

20
Teams - responsibility
  • When working alone
  • You are responsible for everything
  • When working in a team
  • Things get missed
  • Not my responsibility

21
Software development
  • 1980s crisis
  • Many proposed solutions
  • Still problems today
  • Many caused by
  • Teams
  • But projects are too big
  • Design practices
  • Promote communication
  • Medium size projects better with
  • Agility, eXtreme methods

22
Waterfalls are not the only method that does not
work
  • Even the person who proposed the waterfall method
    expected the process to be iterative
  • Many methods
  • Many solutions
  • None work or fail
  • It is the people who do both
  • Need
  • Agile minds
  • Experience
  • Humility
  • Good communication
Write a Comment
User Comments (0)
About PowerShow.com