We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byCorinne Mayhall
Modified over 2 years ago
CS 262 Software Engineering Keith Vander Linden Calvin College
© Keith Vander Linden, 2012 2 Dilbert © United Feature Syndicate, Inc.
© Keith Vander Linden, 2012 3 Subject: Echoes of your Software Engineering class …just when I thought I was done with them for good after your class, I'm doing UML activity diagrams on a daily basis now. - A former student now at Boeing They’re actually using UML here. - An intern at Rapistan Co. In my software engineering class, I thought the strict methodology was a chore, but I realize that it is important and I’m beginning to see why. - An intern at Spartan Co.
© Keith Vander Linden, 2012 4 Introduction ● Software Engineering Software Engineering ● Course Outline (http://cs.calvin.edu/curriculum/cs/262/kvlinden/)http://cs.calvin.edu/curriculum/cs/262/kvlinden/ ● Christian Perspective Christian Perspective
© Keith Vander Linden, 2012 5 Software Engineering ● Software Engineering is the application of engineering principles to the development of software systems. engineering principles developmentsoftware systems ● Its goal is to produce systems that are:
© Keith Vander Linden, 2012 6 Art, Science or Engineering Is software development an artistic, scientific, or engineering discipline? “Computer Programming is an Art … Programmers who subconsciously view themselves as artists will enjoy what they do and will do it better.” - Donald Knuth, Turing Award Speech, 1974 “Computer Science is no more about computers than astronomy is about telescopes. … Science is not about tools, it is about how we use them and what we find out when we do.” - E.W. Dijkstra, Computing Research News, 1993 “Software in all of its forms and across all of its application domains should be engineered.” - Roger Pressman, Software Engineering: A Practitioner's Approach, 2010 image from: http://www.amazon.com/
© Keith Vander Linden, 2012 7 Art, Science or Engineering Is software development an artistic, scientific, or engineering discipline? “During software design, I’m an architect. While I’m designing the user interface, I’m an artist. During construction, I’m a craftsman. And during unit testing, I’m one mean SOB!” - S. McConnell, IEEE Software, 1998 image from: http://www.stevemcconnell.com/
© Keith Vander Linden, 2012 8 Software Development ● “…developing quality software is hard. In between the nice ideas, the requirements or the “vision,” and a working software product, there is much more than programming.” - P. Kruchten, Forward to Applying UML and Patterns, 2005, p. xix ● The required skills include:
© Keith Vander Linden, 2012 9 The Development Process Software Development includes the following phases: – Analysis – Design – Implementation – Testing – Maintenance
© Keith Vander Linden, 2012 10 Software Systems ● Software systems are becoming pervasive. ● Pervasiveness brings risk.
© Keith Vander Linden, 2012 11 Case Study: Therac-25 ● Medical linear accelerator (1985-87) ● The Problem: Two patients died of radiation overdoses. ● The Reason: image from kanboy.net
© Keith Vander Linden, 2012 12 Case Study: Patriot missile ● The 1991 Gulf War ● The Problem: A SCUD missile killed 28 Americans and wounded 98 others. ● The Reason: image from www.ieee-virtual-museum.org, June, 2006
© Keith Vander Linden, 2012 13 Case Study: Ariane-5 Rocket ● A 1996 space launch ● The Problem: The rocket exploded 39 seconds after liftoff, destroying the rocket and $.5 billion of cargo. ● The Reason: image from www.ariadne-mtc.de, June, 2006
© Keith Vander Linden, 2012 14 Case Study: Netscape ● 1990s browser wars ● The Problem: NS lost market share to Microsoft IE. ● The Reason: image from www.netscape.com, June, 2006
© Keith Vander Linden, 2012 15 Case Study: MyDoom Worm ● Self-contained malware ● The Problem: A program, perhaps written for hire, got out of control. ● The Reason: image from www.bsi.de, June, 2006
© Keith Vander Linden, 2012 16 Case Study: Virtual Case File ● The Problem: FBI’s $100 million project was abandoned in 2005. ● The Reason: image from www.ffbi.gov
© Keith Vander Linden, 2012 17 Case Study: Playstation Network ● The Problem: Sony’s Playstation network was hacked in 2011 compromising personal data. ● The Reason: image from sony.com
© Keith Vander Linden, 2012 18 Case Study: WSJ Mobile App ● The Problem: The Wall Street Journal’s iPhone application fails in 2011. ● The Reason: image from www.flightglobal.com, Sept, 2007
© Keith Vander Linden, 2012 19 images from: http://www.amazon.com/ Fredrick P. Brooks (1931- ) The Mythical Man-Month Joys of programming We enjoy designing things because we are created in the image of God. The computer is a powerful and rewarding tool to use. Woes of programming The “mindless” details can be excessively tedious. Products become obsolete too quickly. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. I think this delight must be an image of God's delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake. - F. P. Brooks, Jr. The Mythical Man-Month, 1975 What’s the Big Idea
© Keith Vander Linden, 2012 20 A Christian Perspective? ● Why do we do all this stuff? ● Is any of it uniquely Christian? What’s the Big Idea
IT in the Real World A look at IT in a Fortune 500 company Ed Nelson.
CML CML CS 230: Computer Organization and Assembly Language Aviral Shrivastava Department of Computer Science and Engineering School of Computing and Informatics.
© Keith Vander Linden, How did you ever do without it? - from the first VisiCalc ad, 1979.
By Tatiana Kosloffsky And Reagan Jury Spring 2012.
Syllabus Case Histories WW III Almost Medical Killing Machine
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
Software Engineering 1. Introduction 2. Course schedule.
Software Engineering Disasters
Chapter 8 Representing Information Digitally.
© Keith Vander Linden, Dilbert © United Feature Syndicate, Inc.
General information CSE 230 : Introduction to Software Engineering
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
ESD.83Cory R. A. Hallam1 An Introduction to Systems Engineering The Art of Managing Complexity Presented By Cory R. A. Hallam B.Eng., M.Eng., ISU SSP,
Presentations and Reports. Goal: to Communicate Both presentations and reports should have a purpose to inform to convince The content should.
Life Cycles Birth to death! i.e what happens to a piece of software from the first appearance of the need for it to the time when it is finally retired.
3-Jul-15Software Engineering1 IS F341 : Software Engineering Dr. Yashvardhan Sharma Assistant Professor, CSIS Department, BITS-Pilani.
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
Software Engineering Project Management (CS - 413)
CSE 230: Introduction to Software Engineering Topics covered: Introduction.
Principles of Software Engineering: Introduction COSI 120b, Spring 2005.
© 2017 SlidePlayer.com Inc. All rights reserved.