1 / 25

Software Engineering

Software Engineering. What is Software Engineering? Clearly: developing software But what software? Obvious: PCs, phones … but not all computers have keyboards & displays. Software Systems. Software Systems. Software Systems. How big are these systems?.

Download Presentation

Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. SoftwareSystems

  3. SoftwareSystems

  4. SoftwareSystems

  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

  6. Embedded Systems • Note many of these have no keyboard, display • Known as embedded systems

  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

  8. How these systems work • Alice: programming • Properties: information • Methods: actions • “Real” programming • Same concepts: sequence, if, repetition • Most languages: objects = properties + methods • Generally pure text: graphics.draw_rectangle(1, 1, 200, 400); • But programming isn’t the whole story!

  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.

  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!

  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. Customer communication

  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. Problem solving Customer communication

  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. Problem solving Customer communication Getting things to work

  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. Problem solving Customer communication Detective work Getting things to work

  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. Problem solving Customer communication Detective work Getting things to work Exploration, understanding people

  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. Problem solving 30% Customer communication 40% Detective work Getting things to work Exploration, understanding people

  17. 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. Problem solving 30% Customer communication 30% 40% Detective work Getting things to work Exploration, understanding people

  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

  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

  20. Job Prospects • Bureau of Labor Statistics 2008-2018 Employment Projections for STEM: • SE: 19% • 1 SE for every other engineer • More recently: • 30% growth over 2010-2020

  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

  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

  23. What UWP SE gradsare 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

  24. What UWP SE gradsare 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

  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!

More Related