Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 262 Software Engineering Keith Vander Linden Calvin College.

Similar presentations


Presentation on theme: "CS 262 Software Engineering Keith Vander Linden Calvin College."— Presentation transcript:

1 CS 262 Software Engineering Keith Vander Linden Calvin College

2 © Keith Vander Linden, Dilbert © United Feature Syndicate, Inc.

3 © Keith Vander Linden, 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.

4 © Keith Vander Linden, 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

5 © Keith Vander Linden, 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:

6 © Keith Vander Linden, 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:

7 © Keith Vander Linden, 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:

8 © Keith Vander Linden, 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:

9 © Keith Vander Linden, The Development Process Software Development includes the following phases: – Analysis – Design – Implementation – Testing – Maintenance

10 © Keith Vander Linden, Software Systems ● Software systems are becoming pervasive. ● Pervasiveness brings risk.

11 © Keith Vander Linden, Case Study: Therac-25 ● Medical linear accelerator ( ) ● The Problem: Two patients died of radiation overdoses. ● The Reason: image from kanboy.net

12 © Keith Vander Linden, Case Study: Patriot missile ● The 1991 Gulf War ● The Problem: A SCUD missile killed 28 Americans and wounded 98 others. ● The Reason: image from June, 2006

13 © Keith Vander Linden, 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 June, 2006

14 © Keith Vander Linden, Case Study: Netscape ● 1990s browser wars ● The Problem: NS lost market share to Microsoft IE. ● The Reason: image from June, 2006

15 © Keith Vander Linden, Case Study: MyDoom Worm ● Self-contained malware ● The Problem: A program, perhaps written for hire, got out of control. ● The Reason: image from June, 2006

16 © Keith Vander Linden, Case Study: Virtual Case File ● The Problem: FBI’s $100 million project was abandoned in ● The Reason: image from

17 © Keith Vander Linden, Case Study: Playstation Network ● The Problem: Sony’s Playstation network was hacked in 2011 compromising personal data. ● The Reason: image from sony.com

18 © Keith Vander Linden, Case Study: WSJ Mobile App ● The Problem: The Wall Street Journal’s iPhone application fails in ● The Reason: image from Sept, 2007

19 © Keith Vander Linden, images from: 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

20 © Keith Vander Linden, A Christian Perspective? ● Why do we do all this stuff? ● Is any of it uniquely Christian? What’s the Big Idea


Download ppt "CS 262 Software Engineering Keith Vander Linden Calvin College."

Similar presentations


Ads by Google