Introduction to Software Engineering. Week 1



Similar documents
Introduction. Getting started with software engineering. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1

An Introduction to Software Engineering

An Introduction to Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

IF2261 Software Engineering. Introduction. What is software? What is software? What is software? Failure Curve. Software Applications Type

Software Engineering. What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville

An Introduction to Software Engineering

Introduction. Getting started with software engineering. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1

How To Write A Software Engineering Code Of Ethics And Professional Practice

SE 367 Software Engineering Basics of Software Engineering

Frank Tsui. Orlando Karam. Barbara Bernal. State. University. Polytechnic. Ail of Southern JONES & BARTLETT LEARNING

Chapter 1 Introduction

Software Process and Models

IEEE Computer Society Certified Software Development Associate Beta Exam Application

Lecture 2. Anis Koubaa

IT3205: Fundamentals of Software Engineering (Compulsory)

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

Introduction to Software Engineering. Adopted from Software Engineering, by Ian Sommerville

Chapter 1- Introduction. Lecture 1

Redesigned Framework and Approach for IT Project Management

Chapter 1- Introduction. Lecture 1

Implementing Models and Standards for Software Development Benefits and Risks

توصيف مقرر دراسي Description Course

Introduction to Software Engineering Professional Issues SWENET OSE2 Module June 2003

Agile Development: How to Define a Lean, Mean Software Process. Phil Robinson Lonsdale Systems lonsdale@iinet.net.au

ΗΜΥ 317 Τεχνολογία Υπολογισμού

Software Engineering Code of Ethics and Professional Practice

CS4507 Advanced Software Engineering

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

Weighted Total Mark. Weighted Exam Mark

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Business Analysis From Yes-M Systems LLC Length: Approx 7 weeks/55 hours Audience: Students with or without IT experience or knowledge Student

Introduction to Software Engineering

Plan-Driven Methodologies

What is a life cycle model?

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Test Cases Design for Software Database Provisioning Development

Requirements Management Practice Description

Application of software product quality international standards through software development life cycle

Applied Software Project Management

Lecture Notes #27: Software Risk Management

Software engineering has evolved

System development lifecycle waterfall model

Karunya University Dept. of Information Technology

PMBOK for Dummies. Sean Whitaker, PMP Vice President, PMINZ

Chapter 1 The Systems Development Environment

Systems Analysis and Design

Title: Topic 3 Software process models (Topic03 Slide 1).

Classical Software Life Cycle Models

RUP for Software Development Projects

Work Breakdown Structure (WBS) Emanuele Della Valle

Introduction to Software Engineering: Project Management ( Highlights )

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Unit 1 Learning Objectives

Software Engineering. Lecture 1 Introduction. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Chapter 3. Technology review Introduction

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Software Development Methodologies in Industry. By: Ahmad Deeb

THE INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Topics. Software development invariants. Stakeholders. The accidents of software development. The essence of software development

Software Engineering. Introduction. Lecturer: Giuseppe Santucci

A Review of an MVC Framework based Software Development

Don Gotterbarn, Keith Miller, and Simon Rogerson

The Software Life Cycle. CSE 308: Software Engineering

2. Analysis, Design and Implementation

NEOXEN MODUS METHODOLOGY

How To Design An Information System

RISK MANAGEMENT IN DISTRIBUTED SOFTWARE DEVELOPMENT: A PROCESS INTEGRATION PROPOSAL i

Agile Processes and Methodologies: A Conceptual Study

The Software Engineering Competency Model (SWECOM)

Phase 2 Systems Analysis. Dr. Feng-Jen Yang

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4

AD310 - Software Lifecycle

Chapter 1 System Development Environment

The SWEBOK Initiative and Software Measurement Intentions

Sistemi ICT per il Business Networking

Introduction to Agile Software Development

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

Thesis seminar THE7TF007

Software Engineering. An Introduction. Fakhar Lodhi

Draft Documents RFP 3.2.4

To introduce software process models To describe three generic process models and when they may be used

Processes in Software Development. Presented by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Overview of Software Engineering and the Software Development Process

NAVAL POSTGRADUATE SCHOOL THESIS

YIIP1100 PROJECT MANAGEMENT

CS4507 Advanced Software Engineering

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Minnesota Health Insurance Exchange (MNHIX)

A PROCESS APPROACH FOR SENIOR MANAGEMENT INVOLVEMENT IN SOFTWARE PRODUCT DEVELOPMENT

Chapter 7: Software Engineering

Standards & Practices for the software and system engineers /

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

A Capability Maturity Model (CMM)

Transcription:

Introduction to Software Engineering Week 1

Software Engineering Software engineering is "(1) the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application ofengineering to software, " and "(2) the study of approaches as in (1)." IEEE Standard 610.12 12 2

Software Engineering Software engineering is an engineered discipline in which the aim is the production of high quality software products, delivered on time and within a set budget, that satisfies the client s needs. 3

Myths and Realities about Software A general statement of objectives is sufficient to begin writing programs. The only deliverable for a successful project is the working program. Until I get the program running, I have no way of assessing its quality. Once we write the program and get it to work, our job is done. 4

Software Engineering SoftwareEngineering Body of Knowledge (SWEBOK) http://www.swebok.org/ org/ 11 key areas

6

7

CSUN Software Engineering Curriculum COMP 380/L INTRODUCTION TO SOFTWARE ENGINEERING (2/1) COMP 480/L SOFTWARE SYSTEM DEVELOPMENT (2/1) COMP 585 GRAPHICAL USER INTERFACES (3) COMP 586 OBJECT ORIENTED ORIENTED SOFTWAREDEVELOPMENT (3) COMP 587 COMP 589 SOFTWARE VERIFICATION AND VALIDATION(3) SOFTWARE METRICS COMP 595OSE OPEN SOURCE SOFTWARE ENGINEERING (3) COMP 595WEB WEB ENGINEERING (3) COMP 680 SOFTWARE ENGINEERING (3) COMP 682 SOFTWARE REQUIREMENTS ANALYSIS AND SPECIFICATION (3) COMP 684 SOFTWARE ARCHITECTUREANDAND DESIGN (3) COMP 686 SOFTWARE ENGINEERING MANAGEMENT (3) 8

Why software engineering is critical: software disasters TheVirtual Case File Project The Ariane Project Radiation i Project

Software Project Success Rate Data on 280,000 projects completed in 2000 Standish Group Data http://www.softwaremag.com/archive/2001feb/collaborativemgt.html

Why Software Projects Fails Over budget Exceed schedule and/or misses market window Miss stated customer requirement Lower quality than expected Performance does not meet expectations Too difficult to use.

Process/Project/Product/People Product People Project Process 12

Project A software project defines the activities and associated results needed to produce a software product PMBOK IEEEGuide Adoption of PMI Standard A Guide to the Project Management Body of Knowledge IEEE Std Sd1490 1998 998 IEEE Standard for Software Project Management Plans IEEE Std 1058 1998

Process/Project/Product/People People Project RFP Process Product Methods Tools 14

Process A software process is a framework for carrying out the activities of a project in an organized and disciplined manner. Software process models describe specific software process. Software life cycle process (SLCP). IEEE 1074

Software Process Models 1. Waterfall andwaterfall withfeedbacks 2. Rapid Prototype 3. Incremental 4. Spiral 5. Rational Unified Process (RUP) 6. Agile Process 7. Extreme Programming (XP) 8. Rapid Application Development (RAD) 9. Personal Software Process (PSP) 10. Team Software Process (TSP) 11. Capability Maturity Model Integrated (CMMI ) 16

Product The products of a software development effort consist of much more than the source and object code. Theyalso include project documentation, test plans and results, customer documentation, and productivity measurement.

People People are the most important resource on a software project. It is through their efforts that softwareis successfully constructed and delivered.

Software Engineering Principles Make quality number one Give products to customers early Use an appropriate software process Minimize intellectual distance Inspect code People are the key to success Among 201 principles

Ethics in Software Engineering PREAMBLE The short version of the code summarizes aspirations at a high level of the abstraction; the clauses that are included in the full version give examples and details of how these aspirations change the way we act as software engineering gprofessionals. Without the aspirations, the details can become legalistic and tedious; without the details, the aspirations can become high sounding but empty; together, the aspirations and the details form a cohesive code. Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, h safety and welfare of the public, software engineers shall hlladhere to the following Eight Principles: 1. PUBLIC Software engineers shall act consistently with the public interest. 2. CLIENT AND EMPLOYER Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest. 3. PRODUCT Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. 4. JUDGMENT Software engineers shall maintain integrity and independence in their professional judgment. 5. MANAGEMENT Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. 6. PROFESSION Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. 7. COLLEAGUES Software engineers shall be fair to and supportive of their colleagues. 8. SELF Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession. http://www.acm.org/about/se code

Do You Know? List of the 10 fastest growing jobs through 2014 in terms of salary http://www.cnn.com/2006/us/careers/01/26/cb. com/2006/us/careers/01/26/cb top.jobs.pay/index.html 21

Unified Modeling Language (UML) What UML Is UML is a visual modeling language that uses a combination of graphical and textual notation to express and document requirement, analysis, and design. UMLis anopen industry standard. What UML Is Not UML i t t i l UML is not a computer programming language http://www.omg.org

The Taxonomy of UML Diagrams Monday, January 24, 2011 23

UML Drawing Tools Microsoft Office Visio Pacestar UML Diagrammer Open source software tools

Lab Activities Organize a team. Note that each team consists of five students. Submit team information i including student names, student IDs, and email addresses. 25

(Team) Homework Assignment 1 StudyWaterfall Waterfall, Increment, Prototype software process models and prepare for presentation slides. Presentation slides should include, description, visualrepresentation (figure), advantages and disadvantages of each process model Due date is 1:00 pm on January 31 st