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

Slides:



Advertisements
Similar presentations
Computer Software 3 Section A Software Basics CHAPTER PARSONS/OJA
Advertisements

Systems Analysis, Prototyping and Iteration Systems Analysis.
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
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,
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
CPSC 371 John D. McGregor Session 1 Introduction.
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.
USS Yorktown (1998) A crew member of the guided-missile cruiser USS Yorktown mistakenly entered a zero for a data value, which resulted in a division by.
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.
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
Dr. Tom WayCSC What is Software Engineering? CSC 4700 Software Engineering Lecture 1.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
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
CPSC 871 John D. McGregor Module 1 Session 2 Requirements Elicitation/analysis.
SYSE 802 John D. McGregor Module 0 Session 1 Course Introduction.
CPSC 871 John D. McGregor Module 0 Session 1 Introduction.
What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.
CS 160 Introduction to Computer Science Andrew Scholer
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.
CSC-115 Introduction to Computer Programming
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
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.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
CSE 219 Computer Science III Program Design Principles.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
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.
An Introduction to Software Engineering (Chapter 1 from the textbook)
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.
Intermediate 2 Computing Unit 2 - Software Development.
Click to add text Systems Analysis, Prototyping and Iteration.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
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.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
CPSC 372 John D. McGregor Module 1 Session 2 Process Measurement.
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.
Appendix B Agile Methodologies
Lecture 1 What is Software Engineering? CSC 4700 Software Engineering
The Software Development Cycle
Introduction to Software Process
Software Engineering (CSE 314)
Introduction to Software Engineering
Introduction To software engineering
Chapter 1 Introduction(1.1)
PPT1: Basics of software engineering
Appendix B Agile Methodologies
The Software Development Cycle
Presentation transcript:

CPSC 372 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 Read:

Introduction 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 Service-oriented

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. >

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

Infrastructure Install Topcased: ntsSynthesis=y&Itemid=59 ntsSynthesis=y&Itemid=59 Go through the first tutorial under Documents