CS 732 Software Engineering Semester 1/2545 Dr.Choonhapong Thaiupathump.

Slides:



Advertisements
Similar presentations
Adaptive Processes Introduction to Software Engineering Adaptive Processes.
Advertisements

Developed by Reneta Barneva, SUNY Fredonia
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.
CIS 376 Bruce R. Maxim UM-Dearborn
Software Engineering Course Instructor: Aisha Azeem.
Information Systems in Business
CS3773 Software Engineering Lecture 01 Introduction.
LECTURE-2. Software Is a Product Designed by software engineers. Consists of : –Programs - that execute within a computer and provides desired functions.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Software Engineering II
General information CSE 230 : Introduction to Software Engineering
CS487 Software Engineering Omar Aldawud
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 5: Project Scope Management
Chapter : Software Process
Process: A Generic View
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
1 Software Engineering CEN5035 copyright © 1996, 2001 R.S. Pressman & Associates, Inc.
Chapter 9 Elements of Systems Design
System Analysis & Design Introduction: System Analysis and design course intents to help students understand its importance in developing systems that.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
SOFTWARE ENGINEERING MCS-2 LECTURE # 1. COMPULSORY READING MATERIAL  Software Engineering (6 th edition) by IAN Sommerville  Software Engineering; A.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Decision Support System Definition A Decision Support System is an interactive computer-based system or subsystem that helps people use computer communications,
Chapter 1 소프트웨어의 본질 The Nature of Software 임현승 강원대학교
Chapter 2 Process: A Generic View
Lecture 1 Introduction to Software Engineering
Software Engineering B.Tech Ii csE Sem-II Unit-1 PPT SLIDES By Hanumantha Rao.N Newton’s Institute of Engineering 1.
Chapter 10 Information Systems Analysis and Design
Lecture 1Software Engineering1 (Trimester I Session 2002/2003) Lecturer / Tutor Name : Mr. R. Logeswaran
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 1 Software and Software Engineering Discussion of the Software Product.
INPUT#3 SOFTWARE ENGINEERING. QUALITY SOFTWARE?  Satisfies the needs of the users and programmers involved with it.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
1M.Sc(I.T.) VNSGU, Surat. Software is instructions (computer programs) that when executed provide desired function and performance, data structures that.
1 Chapter 1 The Product. 2 What is Software?  Pressman Instruction (computer programs) Data Structures Documents  Sommerville Software is computer programs.
Chapter 4 프로세스 모델 Process Models
Computer Concepts 2014 Chapter 10 Information Systems Analysis and Design.
Process: A Generic View
Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
Amit Singh Introduction to Software Engineering. What is Software? The product that software professionals build and then support over the long term.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Software Engineering Introduction.
INTRODUCTION TO SOFTWARE DEVELOPMENT (SOFTWARE ENGINEERING-I)
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
CS 281 Intro to Software Engineering Lecture 01 Introduction to the Course The Nature of Software.
BUS OPERATOR WORKSTATION PROCUREMENT TEAM TRAINING T O ENHANCE BUS OPERATOR ERGONOMICS, HEALTH, AND SAFETY A TRAINING TEMPLATE FOR TRANSIT AGENCIES [ADD.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering.
Software and Software Engineering By bscshelp.com software engineering 1.
Software Project Management Unit 1. Evolving role of software S/w now a days resides in the mobile, mainframes The main role of the s/w is to transform.
Software Engineering B.Tech IT/II Sem-II
Chapter 1 The Nature of Software
CS4311 Spring 2011 Process Improvement Dr
The Product The Evolving Role of Software Dual role of software Product - It’s a information transformer producing, managing, acquiring, modifying, transmitting.
Software What Is Software?
Chapter 1 The Nature of Software
Chapter 1 The Nature of Software
Software Engineering B.E IT Sem-VII
Overview: Software and Software Engineering
What is Software? Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures.
Software and Software Engineering
Introduction Software Engineering.
Presentation transcript:

CS 732 Software Engineering Semester 1/2545 Dr.Choonhapong Thaiupathump

Grading MidtermExam.50% MidtermExam.50% Final Exam.30% Final Exam.30% Sun Sept 29 8:00-11:00 Sun Sept 29 8:00-11:00 Project & Presentation10% Project & Presentation10% Team project(20%) Team project(20%) Individual research & presentation (10%) Individual research & presentation (10%) Homework & Other Assignments10% Homework & Other Assignments10%

Textbook Pressman, Roger S. Software Engineering: A Practitioner’s Approach. 5th Edition. McGraw-Hill Companies, Inc. New York, NY 10020, Pressman, Roger S. Software Engineering: A Practitioner’s Approach. 5th Edition. McGraw-Hill Companies, Inc. New York, NY 10020, 2001.

Course Outline Part One – The Product and Process CHAPTER 1The Product CHAPTER 1The Product CHAPTER 2The Process CHAPTER 2The Process Part Two – Managing Software Project CHAPTER 3Project Management Concepts CHAPTER 3Project Management Concepts CHAPTER 4Software Process and Project Metrics CHAPTER 4Software Process and Project Metrics CHAPTER 5Software Project Planning CHAPTER 5Software Project Planning

Course Outline (Cont’d) CHAPTER 6Risk Analysis and Management CHAPTER 6Risk Analysis and Management CHAPTER 7Project Scheduling and Tracking CHAPTER 7Project Scheduling and Tracking CHAPTER 8Software Quality Assurance CHAPTER 8Software Quality Assurance CHAPTER 9Software Configuration Management CHAPTER 9Software Configuration Management Part Three – Conventional Methods for Software Engineering CHAPTER 10System Engineering CHAPTER 10System Engineering CHAPTER 11 Analysis Concepts and Principles CHAPTER 11 Analysis Concepts and Principles

Course Outline (Cont’d) CHAPTER 12Analysis Modeling CHAPTER 12Analysis Modeling CHAPTER 13Design Concepts and Principles CHAPTER 13Design Concepts and Principles CHAPTER 14Architectural Design CHAPTER 14Architectural Design CHAPTER 15User Interface Design CHAPTER 15User Interface Design CHAPTER 16Component-Level Design CHAPTER 16Component-Level Design CHAPTER 17Software Testing Techniques CHAPTER 17Software Testing Techniques CHAPTER 18Software Testing Strategies CHAPTER 18Software Testing Strategies CHAPTER 19Technical Metrics for Software CHAPTER 19Technical Metrics for Software

Sample Topics for Individual Research Business Process Engineering Business Process Engineering COCOMO and COCOMO II Model COCOMO and COCOMO II Model Alternative Analysis Methods Alternative Analysis Methods DSSD (Data Structured Systems Development ) DSSD (Data Structured Systems Development ) JSD (Jackson System Development) JSD (Jackson System Development) SADT (Structured analysis and design technique) SADT (Structured analysis and design technique) Interface Design Guidelines Interface Design Guidelines

Sample Topics for Individual Research (Cont’d) ISO 9000 for Software ISO 9000 for Software CASE Tools CASE Tools Reviewing OOA and OOD Models Reviewing OOA and OOD Models Component-based Software Engineering Component-based Software Engineering Process Improvement and SEI Capability Maturity Model (CMM) Process Improvement and SEI Capability Maturity Model (CMM) PSP (Personal Software Process) PSP (Personal Software Process) TSM (Team Software Process) TSM (Team Software Process)

Sample Topics for Individual Research (Cont’d) Object-Oriented Testing Object-Oriented Testing Assessing Quality of Web Applications Assessing Quality of Web Applications Model-Based (MBASE) Architecture & Software Engineering Model-Based (MBASE) Architecture & Software Engineering Object-oriented Software Development with UML Object-oriented Software Development with UML Adaptable Process Model (APM) Adaptable Process Model (APM)

Guidelines for Individual Research Topic submission date on Thurs 13/6. Topic submission date on Thurs 13/6. Final Report must contain a minimum of 3 references. Final Report must contain a minimum of 3 references. Presentation dates will be arranged after midterm exam. Presentation dates will be arranged after midterm exam.

Guidelines for Team Project 2 members per team 2 members per team Project Topic Submission Date on Thurs 13/6. Project Topic Submission Date on Thurs 13/6. Project Proposal Submission Date on Tue 18/6. Project Proposal Submission Date on Tue 18/6. Progress report required (will notify ahead of time). Progress report required (will notify ahead of time). Final Report must be submitted prior to Final Exam date. Final Report must be submitted prior to Final Exam date. Presentation date will be arranged after midterm exam. Presentation date will be arranged after midterm exam.

Chapter 1 Product

Software Engineering The technology encompasses a process, a set of methods, and an array of tools that we call software engineering. The technology encompasses a process, a set of methods, and an array of tools that we call software engineering.

Roles of Software A Product A Product The vehicle for delivering a product, such as The vehicle for delivering a product, such as Control computer (OS) Control computer (OS) Communication Communication Tools Tools Software delivers “information”

Questions from an Industry Perspective Why does it take so long to get software finished? Why does it take so long to get software finished? Why are development costs so high? Why are development costs so high? Why can’t we find all the errors before we give the software to customers? Why can’t we find all the errors before we give the software to customers? Why do we continue to have difficulty in measuring progress as software being developed? Why do we continue to have difficulty in measuring progress as software being developed?

An Aging Software Plant Software, produced over 20 years ago and modified over 40 times, was barely maintainable. Software, produced over 20 years ago and modified over 40 times, was barely maintainable. No one could understand the internal structure of old programs. No one could understand the internal structure of old programs. Embedded system (traffic, power plants, factories) was unable to removed or replaced despite malfunctions. Embedded system (traffic, power plants, factories) was unable to removed or replaced despite malfunctions.

Software Competitiveness Cost Cost Timeliness Timeliness Quality  Why India? Quality  Why India?

What is Software? Instructions (computer programs) that when executed provide desired function and performance. Instructions (computer programs) that when executed provide desired function and performance. Data structures that enable the programs to adequately manipulate information, and Data structures that enable the programs to adequately manipulate information, and Documents that describe the operation and use of programs. Documents that describe the operation and use of programs.

Software Characteristics 1. Software is developed or engineered, it is not manufactured in the classical sense. 2. Software does not “wear out”. 3. Although the industry is moving toward component-based assembly, most software continues to be custom built.

Wear vs. Deterioration

Software Applications Information content refers to the meaning and form of incoming and outgoing information. Information content refers to the meaning and form of incoming and outgoing information. For example, use highly structured input data (a database) and produce formatted reports. For example, use highly structured input data (a database) and produce formatted reports.

Software Applications System Software: a collection of programs written to service other programs. System Software: a collection of programs written to service other programs. Compilers, editors, and file management utilities. Compilers, editors, and file management utilities. Operating system components, drivers, telecommunications processors. Operating system components, drivers, telecommunications processors.

Software Applications Real-Time Software: Software that monitors/analyzes/control real world events as they occur. Elements include: Real-Time Software: Software that monitors/analyzes/control real world events as they occur. Elements include: Data gathering components Data gathering components Analysis component Analysis component Control/output component Control/output component Monitoring component Monitoring component

Software Applications Business Software: Business Software: Payroll Payroll Accounts receivable/payable Accounts receivable/payable Inventory Inventory Facilitate business operations or management decision making Facilitate business operations or management decision making Interactive client/server computing (point-of-sale transaction processing Interactive client/server computing (point-of-sale transaction processing MIS

Software Applications Engineering and Scientific Software: Engineering and Scientific Software: CAD CAD System simulation System simulation Interactive applications Interactive applications Embedded Software: Embedded Software: Embedded software resided in ROM Embedded software resided in ROM

Software Applications Personal Computer Software Personal Computer Software Web-based Software Web-based Software AI Software: AI Software: Expert Systems Expert Systems Knowledge-base Systems Knowledge-base Systems Pattern recognition (image and voice) Pattern recognition (image and voice) Artificial neural networks Artificial neural networks

Software Myths Management Myths Management Myths Customer Myths Customer Myths Practitioner’s Myths Practitioner’s Myths

Software In brief, software is composed of Programs Programs Data Data Documents Documents The intent of software engineering is to provide a framework for building software with higher quality.

The Cost of Change

Software Poses Challenges