Dillon: CSE470: INTRO1 Introduction to Software Engineering Computer Science and Engineering 470.

Slides:



Advertisements
Similar presentations
Developed by Reneta Barneva, SUNY Fredonia
Advertisements

© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
SBSE Course 3. EA applications to SE Analysis Design Implementation Testing Reference: Evolutionary Computing in Search-Based Software Engineering Leo.
Department of Mathematics and Computer Science
Software Engineering CSE470: Intro Software Engineering CSE470 (Fall 1999) Instructor: Dr. B. Cheng (Sect. 1) TAs: Jack Brown Durga Prasad.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Requirements.
Introduction to Programming Programming. COMP102 Prog. Fundamentals I: Introduction / Slide 2 Objectives l To learn fundamental problem solving techniques.
Parallel and Distributed Simulation Introduction and Motivation By Syed S. Rizvi.
Introduction to Programming. COMP104 Introduction / Slide 2 Objectives * To learn fundamental problem solving techniques * To learn how to design a program.
Software Engineering CSE470 (Fall 2001) Instructors: Dr. B. Cheng (Sect. 1-3) Dr. W. McUmber (Sect. 4-6)
Spring 2008 CSE 591 Compilers for Embedded Systems Aviral Shrivastava Department of Computer Science and Engineering Arizona State University.
Ch.11 Software Engineering A Preview. Ch.12 Outline Definitions of software engineering (SE) Historical origins of SE SE as part of systems engineering.
© 2001 by Prentice Hall8-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 8 Client/Server Architecture.
Course: Introduction to Computers
07/14/08. 2 Points Introduction. Cluster and Supercomputers. Cluster Types and Advantages. Our Cluster. Cluster Performance. Cluster Computer for Basic.
Software Project Management
Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.
MCS 270 Spring 2014 Object-Oriented Software Development.
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
Why is software engineering worth studying?  Demand for software is growing dramatically  Software costs are growing per system  Many projects have.
Why do so many chips fail? Ira Chayut, Verification Architect (opinions are my own and do not necessarily represent the opinion of my employer)
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
The Evolution of the Object Model OOAD. The Evolution of the Object Model software engineering trends observed The shift in focus from programming-in-the-small.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Generational Computing CSCI 1060 Fall CSCI 1060 — Fall 2006 — 2 First Generation Large computers, difficult to program Primarily used by scientists.
Ch.1 1 Software Engineering A Preview Chapter 1. Ch.1 2 Outline My Background Definitions of software engineering (SE) Historical origins of SE SE as.
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
Parallel and Distributed Simulation Introduction and Motivation.
Software Engineering 1 Some Definitions Lesson 2.
3/5/2009Computer software1 Introduction Computer System Hardware Software HW Kernel/OS API Application Programs SW.
Parallel and Distributed Simulation Introduction and Motivation.
SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….
Estimation - Software Metrics Managers frequently have to measure the productivity of software engineers.
Introduction to Computing Muhammad Saeed. Topics Course Description Overview of Areas Contact Information.
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.
© TRESETarget Industry TRESE Group Department of Computer Science University of Twente P.O. Box AE Enschede, The Netherlands
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
KUFA UNIVERSITY Department of Computer Science 09/12/2015.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
CPSC 171 Introduction to Computer Science System Software and Virtual Machines.
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
More Computer Science in your Future? CSE 142 Autumn
Software Engineering Lecture # 1. What is Software? 2 Software is a set of items or objects that includes: programs data documents.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Intro to CSCI-130 Computing: Science & Applications (NS)
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Rating Very Very Extra Cost Drivers Low Low Nominal High High High Product Attributes Required software reliability Database size.
Software Cost Estimation By Deepika Chaudhary. In project planning process a project is split into a number of activities which are performed in parallel.
CS 2303 Systems Programming Concepts Bob Kinicki A08.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Software Engineering Facilitator Faisal Shafique Butt.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
بشرا رجائی برآورد هزینه نرم افزار.
Advanced Software Engineering Dr. Cheng
Why is software engineering worth studying?
CS 141 Introduction to Computer Science and Structured Programming
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Providing Security for Embedded Devices Through Virtualization
Introduction SOFTWARE ENGINEERING.
Advanced Software Engineering Dr. Cheng
1.1 Reasons to study concepts of PLs
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Overview: Software and Software Engineering
CS385T Software Engineering Dr.Doaa Sami
Presentation transcript:

Dillon: CSE470: INTRO1 Introduction to Software Engineering Computer Science and Engineering 470

Dillon: CSE470: INTRO2 What is Software Engineering ??? l The study of systematic and effective processes and technologies for supporting software development and maintenance activities  Improve quality  Reduce cost

Dillon: CSE470: INTRO3 Historical Perspective l 1940s: computers invented l 1950s: assembly language, Fortran l 1960s: COBOL, ALGOL, PL/1, operating systems 1969: First conference on S/W Eng l 1970s: multi-user systems, databases, structured programming

Dillon: CSE470: INTRO4 Historical Perspective (cont.) l 1980s: networking, personal computing, embedded systems, parallel architectures l 1990s: information superhighway, distributed systems, OO l 2000s: virtual reality, voice recognition, video conferencing, global computing,...

Dillon: CSE470: INTRO5 Hardware Costs vs Software Costs (% of overall costs) s/w costs h/w costs

Dillon: CSE470: INTRO6 Why is software so expensive? l Hardware has made great advances l But, software has made great advances... l Do the least understood tasks in software l When task is simple & understood, encode it in hardware l Demand more and more of software

Dillon: CSE470: INTRO7 Size of programs continues to grow l Trivial: 1 month, 1 programmer, 500 LOC, Intro programming assignments l Very small: 4 months, 1 programmer, 2000 LOC Course project l Small: 2 years, 3 programmers, 50K LOC Nuclear power plant, pace maker l Medium: 3 years, 10s of programmers, 100K LOC Optimizing compiler

Dillon: CSE470: INTRO8 Size of programs continues to grow l Large: 5 years, 100s of programmers, 1M LOC MS Word, Excel l Very large: 10 years, 1000s of programmers, 10M LOC Air traffic control, Telecommunications, space shuttle

Dillon: CSE470: INTRO9 Goals of this Course l Expose you to some of the problems typically encountered in s/w eng l Expose you to some of the techniques that have been found to be effective Requires more rigor Often appears “obvious” (but only after being learned )

Dillon: CSE470: INTRO10 What’s the problem? l Software cannot be built fast enough to keep up with »H/W advances »Rising expectations »Feature explosion l Increasing need for high reliability software

Dillon: CSE470: INTRO11 What’s the problem? l Software is difficult to maintain “aging software” l Difficult to estimate software costs and schedules l Too many projects fail »Arianne Missile »Denver Airport Baggage System

Dillon: CSE470: INTRO12 Why is software engineering needed? l To predict time, effort, and cost l To improve software quality l To improve maintainability l To meet increasing demand l To lower software costs l To successfully build large, complex software systems