CPSC 871 John D. McGregor Module 0 Session 1 Introduction.

Slides:



Advertisements
Similar presentations
International Academy Design and Technology Technology Classes.
Advertisements

Systems Analysis, Prototyping and Iteration Systems Analysis.
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 1 The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its.
June 1, 2004Computer Security: Art and Science © Matt Bishop Slide #18-1 Chapter 18: Introduction to Assurance Overview Why assurance? Trust and.
7M822 Software Engineering Introduction 7 September 2010.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
Fundamentals of Information Systems, Second Edition
SE 555 – Software Requirements & Specifications Introduction
Reusability and Portability Chapter 8 CSCI Reusability and Portability  The length of the development process is critical.  No matter how high.
Lecture 1.
CPSC 371 John D. McGregor Session 1 Introduction.
CPSC 372 John D. McGregor Module 0 Session 1 Introduction.
Rapid Prototyping Model
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
Chapter 1 Introduction Yonsei University 2 nd Semester, 2014 Sanghyun Park.
1 Software Engineering CEN5035 copyright © 1996, 2001 R.S. Pressman & Associates, Inc.
Chapter 1- Introduction Lecture 1 Ready, fire, aim (the fast approach to software development). Ready, aim, aim, aim, aim... (the slow approach to software.
CPSC 871 John D. McGregor Processes – a first iteration Module 1 Session 1.
CPSC 871 John D. McGregor Module 7 Session 2 Agile Software Development.
CompSci 230 Software Design and Construction
Transaction Processing Systems and System Development Life Cycle
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
CPSC 871 John D. McGregor Module 1 Session 2 Requirements Elicitation/analysis.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CPSC 873 John D. McGregor Session 1 Introduction.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
CPSC 372 John D. McGregor Process Module 1 Session 1.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Lecture 1Software Engineering1 (Trimester I Session 2002/2003) Lecturer / Tutor Name : Mr. R. Logeswaran
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Lecture 08 – Documentation, debugging.  docstring  A special kind of string (text) used to provide documentation  Appears at the top of a module 
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Software Engineering. Introduction Objective To familiarize students to the fundamental concepts, techniques, processes, methods and tools of Software.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Click to add text Systems Analysis, Prototyping and Iteration.
Software Development Life Cycle (SDLC)
IS444: Modern tools for applications development Dr. Azeddine Chikh.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
INTRODUCTION TO SOFTWARE DEVELOPMENT (SOFTWARE ENGINEERING-I)
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Chapter 1- Introduction Lecture 1. Topics covered  Professional software development  What is meant by software engineering.  Software engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
1 slc5 TTYP – C++ revisited 1 Which of the following statements are reasonable after the following statement: char* fred = new char[5]; a. fred = bill;
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
Introduction to Software Engineering
Software Development.
Principles of Information Systems Eighth Edition
System Design, Implementation and Review
The Software Development Cycle
Chapter 18: Introduction to Assurance
Software Engineering (CSE 314)
Introduction to Software Engineering
Introduction To software engineering
Chapter 1 Introduction(1.1)
PPT1: Basics of software engineering
The Software Development Cycle
Presentation transcript:

CPSC 871 John D. McGregor Module 0 Session 1 Introduction

Course Checklist Read the syllabus Visit my website and the course’s site under that Load software – more shortly Browse:

Systems/Software Engineering Systems engineering considers the complete solution to a technical problem. A growing percentage of that solution is satisfied by software rather than hardware. For that reason systems engineers need to understand software engineering more than ever before. Hence this course.

Definition Software engineering - The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.

Content of SweBok

Standards vs Practice areas SweBok Appendix 3 has complete set

Related disciplines Computer engineering Computer science Management Mathematics Project management Quality management Software ergonomics Systems engineering

What’s different

Science and Engineering Science Basic knowledge about a domain Physics Action/reaction Engineering Solving problems by applying basic knowledge Aeronautical engineering lift

Software engineering vs computer science Computer science Basic knowledge about computation What can be computed using a Turing machine? Software engineering Solving computational problems by applying basic knowledge Identifying specific needs that can be solved computationally

Software engineers Apply basic knowledge – Halstead’s software science Develop and adhere to standards – ISO/ANSI/SAE standards Accept responsibility for their decisions – Sign off for architectural decisions Cooperate with others to solve problems – Work in teams and teams of teams

People in software Computer scientists – Relatively small group Software engineers – Rapidly growing group Programmers – Legacy of code writers Hackers – Anyone can buy a compiler Computer software engineers are among the occupations projected to grow the fastest and add the most new jobs over the decade, resulting in excellent job prospects. Employment of computer programmers is expected to decline by 3 percent through 2018.

Engineering a product Solve the problem correctly Solve it effectively, according to existing standards Solve it completely, including error conditions. Solve it efficiently, using smallest amount of resources to achieve maximum in quality

Types of systems Embedded real-time system Interactive, GUI-based system 3 to 4 tier ecommerce system Batch processing system

Types of systems Life critical Mission critical Strategic Tactical

If we make a mistake … June 4, Ariane 5 Flight 501. Working code for the Ariane 4 rocket is reused in the Ariane 5, but the Ariane 5's faster engines trigger a bug in an arithmetic routine inside the rocket's flight computer. The error is in the code that converts a 64-bit floating-point number to a 16-bit signed integer. The faster engines cause the 64-bit numbers to be larger in the Ariane 5 than in the Ariane 4, triggering an overflow condition that results in the flight computer crashing. First Flight 501's backup computer crashes, followed 0.05 seconds later by a crash of the primary computer. As a result of these crashed computers, the rocket's primary processor overpowers the rocket's engines and causes the rocket to disintegrate 40 seconds after launch.crashed computers disintegrate

Software engineering trends Time to market shortened Driven by specific qualities – Usability – Modifiability – Reliability Iterative, incremental process model Ubiquitous and mission critical

Iterative, incremental process Process – a defined set of activities that lead from a problem to a working software solution Iterative – successive passes through a short set of activities Incremental – a small portion of the system is built at a time. Increments are selected to have always running software.

Model-driven Class diagram – concepts in domain Activity diagram – detailed algorithms

Use cases Each “actor” is a user of the system. Each oval is a use of the system. These illustrate the behaviors of the system. Player plays until all pucks are used up. Player selects a next move. Player plays until all frames are completed. Player checks score periodically on the scoreboard Player selects to install the optional scoreboard feature Player selects the Bowling feature to play Player selects the Pong feature to play. Player selects the Brickles feature to play real Human Player > Optional AND Player plays until all pucks are used. Player plays until all Bricks are used. >

Conclusion This semester we will explore the practices of software engineering. We will study but we will also practice. Get ready to “do” software engineering.