CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.1 Software Engineering: Analysis and Design - CSE3308 David Squire [email protected]Room 5.23A B Block, Caulfield G12, Building 63, Clayton 9903 1033 (thanks to Martin Dick for initial development of course resources) CSE3308/DMS/2001/2
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.1
Software Engineering: Analysis and Design - CSE3308
Room 5.23A B Block, CaulfieldG12, Building 63, Clayton
9903 1033
(thanks to Martin Dick for initial development of course resources)
CSE3308/DMS/2001/2
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.2
Lecture Outline
Course Outline What is Software Engineering? Why Bother with Software Engineering? Product and Process The Software Development Lifecycle
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.3
Course outline
Objectives Assessment Passing the Subject Lectures, the lecturer and consultation Recommended reading Assignment Work Web Pages
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.4
Objectives
An understanding of analysis and design A knowledge of the difficulties of specifying
and producing large software products An awareness of the problems of managing
large software development projects A knowledge of the tools used to analyse and
design systems Some knowledge of modern commercial
software engineering practice
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.5
Assessment and Passing
This will consist of two components: An examination worth 40% of the marks Assignments worth 60% of the marks
There will be two practical assignments:
» A group project worth 45%
» An individual assignment worth 15%
You need to achieve 50% in both the exam and the assignments and achieve an overall mark of 50%, i.e.
You must get at least 20 marks out of 40 for the exam You must get 30 marks out of 60 for the assignments You must get 50 marks out of 100 overall
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.6
Lectures
Lectures will be held in lecture room S6 at 2:00pm on Wednesdays and C1 at 2:00pm on Thursdays
Notes for each week will be made available on the subject web page in PowerPoint and Postscript formats
At some lectures notes will be distributed, when student work on the notes is necessary
It is your responsibility to ensure that you have copies of all notes, including the assignments
All lecture material and assignment work is examinable
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.7
Lecturer and Consulation
Lecturer:
David SquireRoom 5.23A Building B - Caulfield campusEmail: [email protected] Phone: 9903 1033
Consultation times at Clayton campus: Wednesday 3pm - 5pm, building 63, room G.12 Thursday 3pm - 5pm, building 63, room
G.12
(note: these times may change - check subject web site)
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.8
Recommended Reading
There is no prescribed text. The following books cover the basic material in the course:
Booch, G., Rumbaugh, J., and Jacobson, I. The Unified Modeling Language User Guide (1998) Hargrave Library: 005.12 B724U
Yourdon, E.: Modern Structured Analysis (1989) Hargrave 004.21 Y81M
The lecture notes are long and detailed - the intent is to give you the material you will need
A list of further useful books is provided in your course outline
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.9
Assignment work
All work submitted by a group must be solely the work of that group
All work submitted by an individual must solely be the work of that individual
This is not to mean that you may not consult with others, but:
If you receive any help, you must specifically acknowledge that person in your
submitted work If any student or group of students submits work which is
not their own, they will be disciplined according to the University and Faculty policies - see the subject web site
Penalties range from exclusion from University to zero marks for the subject
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.10
Web pages
The subject web site can be found at:
http://www.csse.monash.edu.au/courseware/cse3308/
From week 2, information will include: Lectures (in Powerpoint and Postscript formats) Assignment specifications (in Microsoft Word and
Postscript formats) Links relevant to the subject
You should check the subject web site each week
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.11
What is Software Engineering?
Group Exercise
Break into groups of 4 or 5 (i.e. your neighbours, don’t move around the theatre)
Take 5 minutes to write down a definition of software engineering - this can be in point form
After 5 minutes, we will collect definitions from the class
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.12
What is Software Engineering?
Many Definitions “… the establishment and use of sound engineering
principles in order to obtain economically software that is reliable and works efficiently on real machines.” (Bauer 1969)
“The application of science and mathematics by which the capabilities of computer equipment are made useful to man via computer programs, procedures, and associated documentation.” (Boehm 1981)
“The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is the application of engineering to software.” (IEEE 1993)
Designing, building and maintaining large software systems in a cost-effective way.
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.13
Why bother with Software Engineering?
Many very successful projects don’t use software engineering
examples - early Microsoft, Doom, Hotdog but they are often not repeatable
Many more projects fail because they don’t use software engineering. Failures occur because:
of the size of the project relative to previous efforts key personnel have left of failure to understand requirements the project delivers, but lacks the required quality of the introduction of new technology of many, many other reasons
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.14
Some classic disasters
CS90 - How Westpac wasted $250 million Therac 25 - Radiation death courtesy of the
computer McKinsey’s PeopleNet New Jersey Department of Motor Vehicles Microsoft’s first database - Omega Australian Customs Service - Intelligence
Gathering System Denver International Airport London Metropolitan Ambulance System
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.15
From E-Trade to E-Grave 3rd largest on-line
stockbroking service in the world
60,000 trades a day February 3rd - 75 minutes
downtime after slow access
February 4th - More downtime
February 5th - 29 minutes of downtime
Two class action law suits Stock price dropped from
US$62 to US$48
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.16
Some statistics
One in four systems miscarry 20% turnover in staff is not uncommon Major corporations have up to a 30 month
backlog Large systems take 3 to 5 years to develop Corporations are spending up to 20% of
revenue on Information Technology Year 2000 problem took up to 50% of
resources in at least one bank in Australia. Many of the systems were built in the 1980s
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.17
Product and Process
Both are key aspects in software engineering We move from an emphasis on product to
process, and back and forth Structured programming - Product Structured analysis and design - Process Data encapsulation (OO languages) - Product Capability Maturity Model/ISO9000 - Process Next step?
We need to be able to deliver quality software products to our customers with a consistent, well-managed and cost-effective process
Product and process are not a dichotomy
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.18
The Software Product
Is not the same as a hardware product Software is developed or engineered, it isn’t manufactured
like a personal computer Software doesn’t wear out Most software is custom-built, rather than being assembled
from existing components
A software product should perform the required function be reliable be maintainable be efficient have an appropriate user interface have an appropriate lifetime
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.19
A good software product?
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.20
The Software Product
Is composed of Programs Data Documentation
Two main types of product Generic - eg. Windows, Macintosh application software Bespoke - Systems created for specific application areas
Most software expenditure is generic Most software development effort is bespoke
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.21
The Software Process
The set of activities and associated results which produce a software product
The sequence of steps required to develop and maintain software
Sets out the technical and management framework for applying methods, tools and people to the software task
Definition: The Software Process is a description of the process
which guides software engineers as they work by identifying their roles and tasks.
CSE3308 - Software Engineering: Analysis and Design, 2001 Lecture 1A.22