Introduction to Software Engineering (1/2) Moonzoo Kim KAIST (slides adapted from CS550 ‘06 taught by prof. D. Bae)

Slides:



Advertisements
Similar presentations
Ch.1 Introduction to Software Engineering The Evolution 1.1 The Evolving Role of Software 1/15 In the early days: User Computer Software = Place a sequence.
Advertisements

IT INFRASTRUCTURE AND EMERGING TECHNOLOGIES
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
Europe’s Failure to Innovate: Is the venture capital industry to blame? Colin Mason Hunter Centre for Entrepreneurship University of Strathclyde Presentation.
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
What is Software Engineering? And why is it so hard?
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Crisis It was in late 1960’s Many software projects failed.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Live for today as if it is your last day but plan for tomorrow as if it will last forever!
Chapter 4 - Software – Part 2 Dr. V.T. Raja Oregon State University.
 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.
SMARTPHONE OPERATION SYSTEM MARKET IN U.S. Ryan (Jang-Hoon) Doo ISM 158.
Module 2: Information Technology Infrastructure
Lecture 3.
1.Training and education 2.Consulting 3.Travel 4.Hardware 5.Software Which of the following is not included in a firm’s IT infrastructure investments?
Information Technology
Introduction to Management of Technology (MOT)
1 Challenges Facing Modeling and Simulation in HPC Environments Panel remarks ECMS Multiconference HPCS 2008 Nicosia Cyprus June Geoffrey Fox Community.
Copyright © 2009 On The Edge Software Consulting Advanced Enterprise Java Instructional Plan Presentation Tier Design using an Event Driven Design Methodology.
Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.
CIS 100a TEKnology – High Tech Exploration More on High Tech Careers.
Introduction to Software Engineering (2/2) Moonzoo Kim KAIST (slides from CS550 ‘06 taught by prof. D. Bae)
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
INTRODUCTION What is software? What is software engineering?
University of Kansas Electrical Engineering Computer Science WPDRTS 2004 Tuesday April 27, 2004 Challenge Problem Session.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved McGraw-Hill/Irwin Chapter 8 Entrepreneurship and Innovation.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering 1.
PDE3 – Frameworks for interoperability of Product Data in SME based environment Lecturer: Ricardo Gonçalves.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
1 EE29B Feisal Mohammed EE29B: Introduction to Software Engineering Feisal Mohammed Ph: x3156.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
Barriers to Industry HPC Use or “Blue Collar” HPC as a Solution Presented by Stan Ahalt OSC Executive Director Presented to HPC Users Conference July 13,
Rotterdam, March 31, 2004 Group 8 - Section B Oscar Bernaldez / Pablo Franzini / Masa Kijima Alessandro Piloni / Nikolaos Platis / Iris Tang.
Object-Oriented Software Engineering Chapter 1 Software and Software Engineering.
Introduction to Management of Technology (MOT) Chapter 1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering Facilitator Faisal Shafique Butt.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
Chapter 1: Software and Software Engineering The Nature of Software... Software is intangible  Hard to understand development effort Software.
CompSci 280 S Introduction to Software Development
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Introduction to Software Engineering (1/2)
Building SENAI’s Model of Technological Forecasting
Introduction to Software Engineering (2/2)
Introduction SOFTWARE ENGINEERING.
Software What Is Software?
Software Testing and Maintenance Introduction
Critical Factors in Managing Technology
Why PC Based Control ?.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Usability and user Interfaces
Overview: Software and Software Engineering
ASSESS Initiative Update
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Central Topic: EMBEDDED SYSTEM
Chapter 1: Software and Software Engineering
SOFTWARE ENGINEERING CS-5337: Introduction
Presentation transcript:

Introduction to Software Engineering (1/2) Moonzoo Kim KAIST (slides adapted from CS550 ‘06 taught by prof. D. Bae)

A Main Theme of Software Engineering SE involves various assets of technical/social/economic issues for SE involves various assets of technical/social/economic issues for Profit (money) Profit (money) Productivity Productivity How fast How fast Maintenance Maintenance Reliability Reliability 2

Role of S/W: Increased in Everywhere 3 자료출처 : Watts Humphrey 2002 F-35 (8 Mloc) 2012 년

Role of S/W: Increased in Everywhere(2/2) 4 From Deborah Shapely “The Universal Cell Phone” MIT Technology Review, 2001

World S/W Market (4Times larger than Semiconductor) 5 unit : US100M ’ top 10 industry growth rate: IT equipment 29%, S/W 46% Market growth expectation for next 5 years : H/W 5.1%, S/W 11.8%

World SW Companies Recent Trends(1/2) MS, IBM, Oracle, SAP: a few global companies dominating MS, IBM, Oracle, SAP: a few global companies dominating Top 10 companies market share : 1995, 6%  2000, 28% Top 10 companies market share : 1995, 6%  2000, 28% Fierce competition among IT companies due to IT market stagnation. Fierce competition among IT companies due to IT market stagnation. Large enterprise centered SW industry restructuring through M&A Large enterprise centered SW industry restructuring through M&A R&D investment increased to accommodate fast technology change R&D investment increased to accommodate fast technology change High S/W companies investment on R&D: R&D/Revenue, 18% High S/W companies investment on R&D: R&D/Revenue, 18% 6

World SW Companies Recent Trends(2/2) Platform competition in ubiquitous environment among international companies Platform competition in ubiquitous environment among international companies MS’s.NET framework, Sun’ Java, IBM’s Linux support MS’s.NET framework, Sun’ Java, IBM’s Linux support New players entering HW & SW market in Post PC era New players entering HW & SW market in Post PC era Android OS from Google phone and iOS from Apple Android OS from Google phone and iOS from Apple New addition: Blurred boundaries between SI companies and traditional embedded system companies New addition: Blurred boundaries between SI companies and traditional embedded system companies Nokia and MS lost in the smartphone OS competition Nokia and MS lost in the smartphone OS competition Government’s SW industry supporting policy in R&D, standardization, trading policy, technology education, intellectual property rights, etc Government’s SW industry supporting policy in R&D, standardization, trading policy, technology education, intellectual property rights, etc Open source supported by government Open source supported by government 7

The Business Implications of Software Change 8 Rate of change Time When it takes longer to change the software than to change the business, the business is at risk Degree of risk Business Software Rate of change Time When software changes faster than the business, the business creates strategic opportunities Opportunities Business Software

Analogy of SE with Civil Engineering 9 There are various kinds of construction from a house to a building complex

Analogy with Civil Engineering(Cont.) 10 When building a small house,... With simple tools By small group of novice workers From just a blueprint Some failures are endurable

Analogy with Civil Engineering(Cont.) 11 When constructing a building complex,... we must re-think everything

Analogy with Civil Engineering(Cont.) 12 With scalable tools as well as simple ones Use different materials

Analogy with Civil Engineering(Cont.) 13 By a big group of various technicians With collaborationsand guides Set of blueprintsAs well as careful plans

Forces Behind the Emergence of S/W Engineering The poor quality of the software. The poor quality of the software. The inability of organizations to predict the time, effort, and cost in software development. The inability of organizations to predict the time, effort, and cost in software development. Changes in the ratio of hardware to S/W costs Changes in the ratio of hardware to S/W costs The increasingly important role of maintenance The increasingly important role of maintenance Advances in hardware Advances in hardware Advances in software techniques Advances in software techniques Increased demands for software Increased demands for software The demand for larger and more complex S/W systems The demand for larger and more complex S/W systems 14

Software Crisis 15 A 2% B 3% C 45 % D 20% E 30% A: worked on delivery B: worked after some corrections C: delivered but never successfully used D: used but either extensively reworked or abandoned E: paid for, but never delivered

/58 16 Quoted from ``1. Information Technology: Transforming our Society' ‘ President's Information Technology Advisory Committee 1999 “… Furthermore, the Nation needs software that is far more usable, reliable, and powerful than what is being produced today. We have become dangerously dependent on large software systems whose behavior is not well understood and which often fail in unpredicted ways... We need scientifically sound approaches to software development … ” Software Crisis Quoted from “ Science for Global Ubiquitous Computing (GUC) “ A 15 year Grand Challenges for Computing Research Supported by UK Computing Research Committee 2004 “…unless we offer a mathematically sound methodology to supplant the practice of opportunist software creation there will be consequences of the kind we have illustrated, and a further mass of inscrutable legacy software. These consequences will be greatly more damaging than previously, because the GUC is pervasive, self-modifying and complex in the extreme…“

Why Software Project Fail ? 17 Lack of s/w mind Insufficient software project management Lack of appropriate SE skills

Why Software Development is so Difficult ? Characteristics Characteristics Complex Complex Flexible Flexible Cannot be fully automated; human being involved Cannot be fully automated; human being involved Relatively short history Relatively short history Difficulties Difficulties Hard to guarantee its correctness Hard to guarantee its correctness Scientific disciplines applied hardly in the field Scientific disciplines applied hardly in the field Hard to understand Hard to understand 18

Hardware v.s. Software Flexibility leads to low development cost Flexibility leads to low development cost Minimal costs for HW board manufacturing > 20K$ Minimal costs for HW board manufacturing > 20K$ Minimal costs for SW development = 0$ Minimal costs for SW development = 0$ Growing popularity leads to complex software systems Growing popularity leads to complex software systems Pentium IV (Willamette): 42 million transistors Pentium IV (Willamette): 42 million transistors Windows XP: hundreds million instructions Windows XP: hundreds million instructions Much harder to validate/verify (V&V) software Much harder to validate/verify (V&V) software HW design exploits symmetry, structure, and components HW design exploits symmetry, structure, and components Formal design and V&V tools (e.g. Verilog, VHDL, etc) are popular Formal design and V&V tools (e.g. Verilog, VHDL, etc) are popular Standard property spec. language: OVL, PSL, SVA, etc Standard property spec. language: OVL, PSL, SVA, etc SW design allows maximal degree of freedom in programs SW design allows maximal degree of freedom in programs Formal principles and techniques have been rarely applied to SW due to Formal principles and techniques have been rarely applied to SW due to Failure to manage (entire) SW complexity Failure to manage (entire) SW complexity Lack of commercial tools and supports Lack of commercial tools and supports (relatively) High learning curve (relatively) High learning curve Products of all engineering fields provide warranty except SW Products of all engineering fields provide warranty except SW Ex> Intel CPU provides 3 years warranty Ex> Intel CPU provides 3 years warranty Ex> Microsoft Windows® provides no warranty - Use it at your own risk!!! Ex> Microsoft Windows® provides no warranty - Use it at your own risk!!! 19

Role of Software Gluing/Integrating all hardware Gluing/Integrating all hardware 20 Software