Software Engineering What is Software Engineering? Clearly: developing software But what software? Obvious: PCs, phones … but not all computers have keyboards

Embed Size (px)

Citation preview

  • 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!