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
Processing & Java An Introduction to Computing. © Calvin College, Computer Science is no more about computers than astronomy is about telescopes.
PROCESSING Designing and developing a program. Objectives Understand programming as the process of writing computer instructions that achieve a goal Understand.
© Keith Vander Linden, Dilbert © United Feature Syndicate, Inc.
CSC 354 – Software Engineering, Spring 2013, Week 2 Mythical Man-Month Ch. 1-5 Tar Pit, Mythical Man-Month, Surgical Team, Aristocracy / Democracy & System.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2006 The Unified Modeling Language Patrick Bailey Keith Vander Linden Calvin College.
© Keith Vander Linden, 2005 IS 341 Database Administration Keith Vander Linden.
3-Jul-15Software Engineering1 IS F341 : Software Engineering Dr. Yashvardhan Sharma Assistant Professor, CSIS Department, BITS-Pilani.
Chapter 8 Representing Information Digitally.
BIT 286: Web Applications Software Design Documents.
© Calvin College, You can get stuck at the object-based level because you can quickly get there and you get a lot of benefit without much mental.
Software Engineering Disasters
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Saroj Saengphongumphai, May Thank you to every teachers, books, websites, posts, articles, etc.
“A ‘Physics’ of Notations”? Ideas of Daniel L. Moody Presented by J. David Andrews Ph.D. Candidate School of Computing.
6-January-2003cse Introduction © 2003 University of Washington1 Introduction CSE 403, Winter 2003 Software Engineering
Syllabus Case Histories WW III Almost Medical Killing Machine
JAVA Object Oriented Programming. Objectives Be able to implement inheritance using extends, super, and abstract Be able to describe differences between.
Introduction 1 (Read Chap. 1) What is Programming? For some given problem: design a solution for it -- identify, organize & store the problem's data --
© Keith Vander Linden, Graphs and Charts ● Quantitative data can frequently be illustrated in a compelling way using charts and graphs. – see
© 2017 SlidePlayer.com Inc. All rights reserved.