Software Engineering What is Software Engineering? Clearly: developing software But what software?...
If you can't read please download the document
Software Engineering What is Software Engineering? Clearly: developing software But what software? Obvious: PCs, phones … but not all computers have keyboards
Software Engineering What is Software Engineering? Clearly:
developing software But what software? Obvious: PCs, phones but not
all computers have keyboards & displays
Slide 2
Software Systems
Slide 3
Slide 4
Slide 5
How big are these systems? SW in consumer appliances doubles
every 18 months TV:1,000,000 lines of code DVDRW:2,500,000 lines of
code Most consumer devices, washing-machines and so on have a few K
of software. F/A-22 (Raptor) fighter: 1.7 million lines of code
Avionics for Boeing 787 Dreamliner: 6.5 million lines
Slide 6
Embedded Systems Note many of these have no keyboard, display
Known as embedded systems
Slide 7
Embedded Systems Note many of these have no keyboard, display
Known as embedded systems Low-end automobiles: 20 to 30
microprocessors High end: 100 million lines of code Going to
200-300 million Next generation air bags: predict who injured and
where
Slide 8
How these systems work Alice: programming Defined methods: Each
object has methods Properties: color, opacity, vehicle Real
programming Same concepts: sequence, if, repetition Generally pure
text: graphics.draw_rectangle(1, 1, 200, 400); But programming isnt
the whole story!
Slide 9
Software Engineering Software Engineering: the application of
sound engineering principles and techniques to gather and analyze
the requirements for, design/architect, develop, test, and maintain
software systems.
Slide 10
Software Engineering Software Engineering: the application of
sound engineering principles and techniques to gather and analyze
the requirements for, design/architect, develop, test, and maintain
software systems. Just one part of a project!
Slide 11
Software Engineering Software Engineering: the application of
sound engineering principles and techniques to gather and analyze
the requirements for, design/architect, develop, test, and maintain
software systems.
Slide 12
Software Engineering Software Engineering: the application of
sound engineering principles and techniques to gather and analyze
the requirements for, design/architect, develop, test, and maintain
software systems.
Slide 13
Software Engineering Software Engineering: the application of
sound engineering principles and techniques to gather and analyze
the requirements for, design/architect, develop, test, and maintain
software systems.
Slide 14
Software Engineering Software Engineering: the application of
sound engineering principles and techniques to gather and analyze
the requirements for, design/architect, develop, test, and maintain
software systems.
Slide 15
Software Engineering Software Engineering: the application of
sound engineering principles and techniques to gather and analyze
the requirements for, design/architect, develop, test, and maintain
software systems.
Slide 16
Software Engineering Software Engineering: the application of
sound engineering principles and techniques to gather and analyze
the requirements for, design/architect, develop, test, and maintain
software systems.
Slide 17
Software Engineering: the application of sound engineering
principles and techniques to gather and analyze the requirements
for, design/architect, develop, test, and maintain software
systems. Software Engineering
Slide 18
CS vs. SE Computer Science Applying scientific method to study
of computation & computers Developing new domains, new
technologies Software Engineering Applying best practices to solve
real problems Often: safety critical areas, large teams
Slide 19
Why large teams? Most software systems are extremely complex
Often: over 100,000,000 lines of code Thousands of person-years!
Must have a solid design, architecture and plan before programming
starts
Slide 20
Job Prospects Bureau of Labor Statistics 2008-2018 Employment
Projections for STEM: SE: 19% 1 SE for every other engineer Total
pie: > million jobs
Slide 21
Skills needed Solid math skills More importantly: creative
problem-solving Requirements: what does the customer need? Design:
satisfying the need Development: infinite ways to implement any
design want one that is clear, maintainable Testing: finding errors
Other great things Flexible many telecommute; set hours (within
limits) New technologies, languages Learn lots about different
areas
Slide 22
SE @ UWP Focus on creating safe, reliable, & usable systems
built by large teams on time and within budget Emphases:
Engineering management, user interfaces Industrial Engineering
Embedded systems: real-time, control Electrical or Mechanical
Engineering
Slide 23
What UWP SE grads are doing Many industries, both within WI and
around the world: Mission critical avionics systems for military,
Boeing 777 and 787, and Airbus 340 and 380 aircraft Automated
warehouse control systems Virtual reality systems for large
construction equipment
Slide 24
What UWP SE grads are doing Intelligent farm equipment
auto-piloted tractors implements that dynamically adjust to the
field Medical devices pacemakers, implantable defibrillator bionic
limbs Satellite tracking and control software Medical information
systems
Slide 25
Review SE: systems development in the whole Tasks:
requirements, design, test, implement Implementation less than 30%
of total effort Areas @ UWP: Embedded systems, Controls, Management
Wide variety of careers available Solving real problems for real
people!