software engineering what is software engineering? clearly: developing software but what software?...
TRANSCRIPT
- Slide 1
- 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!