CSSE3002 Lecture 1: Lecture Week1

53 views5 pages
The Software Process
CSSE3002 – look at the idea of SE as a approach to building software in a discipline fashion
What is software engineering (SE)?
-Applying engineering discipline to building software (in a disciplined approach)
-Operate and maintain software
-Roger Pressman – SE is fun and exciting because anything could be done, but it is also frustrating
because anything is possible
-Have a way to building software – have a way to determine what people want, and a way of tracking
so that we know we’re building what people want
-Software engineering should be able to choose the techniques and tools that is appropriate for your
project – work in a team (multidisciplinary team) – most of the projects are not small enough to be
done by one person
What is a process
-Things we do
-It’s the practices and also the methods behind the practices
-Tools: techniques (things I use to enable me to do stuffs) – testing environment is a tool, user stories
is a tool (describing what stakeholders want
Why are we interested?
-Queensland Health Payroll (IBM): need a new system – complete failure, staff underpaid & overpaid –
went over a year – gov tried to get overpaid ppl to pay back, but too complex
-Spent almost 1B to fix it
-One of the SE disasters
-NHS – couldn’t access patient records – have to use handwritten notes – software error
Successful software exists
-How do we make them successful?
-Definition of success: on time and on budget
-Challenged: delivered overtime/over-budget/without all features required
-Failure: not delivered/not used/delivered with substantial reduction in features
-Agile: a little more successful – requirements do change with time – hence if there’s an inflexible
approach, it’s unlikely to be on time and on budget unless if the project is small enough
Comparing software development paradigms
-More flexible, more successful
-Glass’s law: the problem isn’t the requirements, if requirements is set very early, in the end the
delivered product might not be what they actually need; if it is more flexible, it is more likely to build
something they actually need
-Agile community claim with reasons that agile approach is better than the iterative approach
find more resources at oneclass.com
find more resources at oneclass.com
Unlock document

This preview shows pages 1-2 of the document.
Unlock all 5 pages and 3 million more documents.

Already have an account? Log in
-Lean development – emerging – a lot of benefits, but why not everyone uses lean? – depends on its
suitability for different projects
Well-engineered software
-Trade-offs: efficient software tend to be less maintainable and might be less dependable
-Cost: the better the software, the higher the cost
-Hence choose the one that is the most prioritised
Software Engineering Process Models
-Process model: an approach to follow for building software – abstract representation of a process
-Plan driven – traditional/structured – used in the 70s/80s
-Incremental – delivery in stages – structured – longer delivery cycles
-Agile – deliver in stages – shorter delivery cycles – deliver as frequently as possible – respond to
customer’s needs and changes
-Lean - respond to customer’s needs and changes – build it, deliver it (time doesn’t matter)
-Formal – formalisation of the process – have formal techniques to build software
Plan Driven
-Have a plan – use plan to deliver the system
-Waterfall
ounderstand requirements – solve problem and implement it – code & test – complete
ogoes back to previous stage if there is a problem in the current stage – iteration between
phases
oneed to do prototyping both in requirements and design
ouse requirements to create a schedule of how to do the rest of the phases
-V-model
oWhen doing high level requirements – come up with test cases for the operation/acceptance
test cases; when doing requirements elicitation – come up with client acceptance test cases;
etc – every stage has a test design and test conducting phases
-Spiral
oStart in the middle – four quadrants
oQuadrant 1 – determine objectives – requirements, design, implementation – alternatives
etc
oQuadrant 2 – Evaluate alternatives, do risk assessment – determine what is the best option
to move forward
oQuadrant 3 – Build something – develop and verify for next level
oQuadrant 4 – Plan for the next life-cycle
oHorizontal line – commitment partition – for every new cycle – client is agreeing to the
progress – willing to spend money to do another spiral
find more resources at oneclass.com
find more resources at oneclass.com
Unlock document

This preview shows pages 1-2 of the document.
Unlock all 5 pages and 3 million more documents.

Already have an account? Log in

Document Summary

Csse3002 look at the idea of se as a approach to building software in a discipline fashion. Applying engineering discipline to building software (in a disciplined approach) Roger pressman se is fun and exciting because anything could be done, but it is also frustrating because anything is possible. Have a way to building software have a way to determine what people want, and a way of tracking so that we know we"re building what people want. Software engineering should be able to choose the techniques and tools that is appropriate for your project work in a team (multidisciplinary team) most of the projects are not small enough to be done by one person. It"s the practices and also the methods behind the practices. Tools: techniques (things i use to enable me to do stuffs) testing environment is a tool, user stories is a tool (describing what stakeholders want.

Get access

Grade+20% off
$8 USD/m$10 USD/m
Billed $96 USD annually
Grade+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
40 Verified Answers
Class+
$8 USD/m
Billed $96 USD annually
Class+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
30 Verified Answers

Related Documents