Software Engineering. Introduction. Lecturer: Giuseppe Santucci

Save this PDF as:

Size: px
Start display at page:

Download "Software Engineering. Introduction. Lecturer: Giuseppe Santucci"

Transcription

1 Software Engineering Introduction Lecturer: Giuseppe Santucci

2 Summary Some useful pieces of information Introduction to Software Engineering Standardization of Software Process 2

3 Software Engineering Classes Course homepage Address: via Ariosto 25 Monday 14: Room: A2 Friday Room A2 Please have always a look at news on the teaching homepage Giuseppe Santucci teaching home page (news, exams, etc.) Or Google giuseppe santucci 3

4 Exams Two regular dates in June-July One recovery date in September Two recovery dates January-February Exercises and theoretical questions (true/false) On the course homepage you will find examples of test questions 4

5 Materials Lecture notes slides presented during classes Available online at the course homepage References on the course webpage Roger S. Pressman : Software Engineering A Practitioner s approach 5

6 How to communicate with me Office Hours: Tuesday Via Ariosto 25 room B218 After classes Always have a look at news before coming! 6

7 Course (rough) Outline Introduction and basic concepts Software process models Software Process Standardization Software Processes Agile Methodologies and Extreme Programming Project Management (exam s exercises) Methods for testing Software Testing and Quality Static and Dynamic Testing Black-Box testing (exam s exercises) White-Box Testing (exam s exercises) Cost estimation in software engineering Function point and COCOMO II (exam s exercises) Requirements analysis and specification Basic definitions Types of applications and specification languages Types of models Measure theory foundations exam s exercises Definitions and overview on statistics basic concepts Quality of metrics Systematic and random errors Inferential statistics Analysis of variance (ANOVA) Exercises 7

8 Software Software: is the collection of computer programs, procedures, rules, and associated documentation and data resulting from intellectual creations Software product is the complete set of programs, procedures, and associated documentation delivered to a customer, typically released for sale Software components A software component is a software product element offering a predefined service or event, and able to communicate with other components 8

9 Manufacture vs Software products There is a big difference between manufactured products and software products Manufactured products: they are built and eventually wore out once designed, their fabrication can be delegated to external industries without affecting the characteristics of the result parameters and techniques used for describing it are well known, reliable and effective Software products they are developed and do not wear out starting from the same design and specification details, two different people would produce two completely different products how to describe their functional and quality characteristics is still an open issue 9

10 Worsening and damages of hw and sw % damages hw % damages sw (theory) time time % damage sw Changes sw time

11 Classification of Software This is an example taken from the model North American Product Classification System NAPCS System Software Operating System Network Software Database Management Development tools and programming language software Other system software Application Software General business productivity applications Home use applications Cross-industry application Vertical market application Utilities Other application 11

12 Examples of System Software Operating System Client and network operating systems Network Software Network management software Server software Security and encryption software Development tools and programming language software Software testing tools Program development tools 12

13 Examples of Application Software General Business productivity applications Office suite applications Word processors Spreadsheets Simple databases Graphics applications Project management software Home use applications Games Home education 13

14 Examples of Application Software Cross-industry application software Professional accounting software Human resource management Customer relations management software Geographic Information System software Web page/site design software Vertical market application software Software for a specific industry (manufacturing, healthcare, telecom, etc.) Utilities software Compression programs Antivirus Search engines File viewers Voice recognition software 14

15 Software development Is there a problem? Some slides taken from MIT Open Course Ware

16 Risks and success percentage Development of large applications in excess of 5000 function points (~500,000 LOC) is one of the most risky business undertakings in the modern world Risks of cancellation or major delays rise rapidly as overall application size increases Failure or cancellation rate of large software systems is over 20% Average cancelled project in U.S. is about a year behind schedule and has consumed 200% of expected budget Of completed projects, 2/3 experience schedule delays and cost overruns (Caper Jones) 16

17 Death March Projects A project whose project parameters exceed the norm by at least 50% The scheduled has been compressed to less than half the amount estimated The staff has been reduced to half of people needed The budget and associated resources have been cut in half The functionality, features, performance requirements of the project are twice what they would be under normal circumstances (Edward Yurdon) 17

18 Death March Projects cont.d In other words: A death march project is one for which an unbiased, objective risk assessment determines that the likelihood of failure is more than 50 % (Edward Yurdon) 18

19 Death March Projects cont.d Why? Because corporation are insane and do the same thing again and again! (Edward Yurdon) 19

20 Understanding the problem Development costs are only the top of the iceberg 20

21 Understanding the problem cont.d 21

22 Software Engineering

23 What is Software Engineering? SWE is a methodological discipline. It studies development methods, the theories such methods are based on, effective tools and metrics for measuring the quality of complex software systems SWE is also an empirical discipline. It is based on personal experiences and past project stories If you don t know the history you will re-do it 23

24 Software Engineering Designing, building and maintaining large software systems (I.Sommerville) Multi-person construction of multi-version software (D.L. Parnas) Technological and managerial discipline of software products that are developed and modified on time and within cost estimates (R. Fairley) 24

25 Software Engineering The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. [NATO1969] The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. [IEEE Std ] The systematic activities involved in the design, implementation and testing of software to optimize its production and support. [Canadian Standards Association] 25

26 Software Engineering cont.d The term software engineering first appeared in the 1968 NATO Software Engineering Conference It was meant to provoke thought regarding the current software crisis at the time Software crisis refers to the difficulty of writing correct, understandable, and verifiable computer programs The major cause of the software crisis is that the machines have became several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem. (Edsger Dijkstra) 26

27 Software requirements Software Engineering subdisciplines the elicitation, analysis, specification, and validation of requirements for software Software design the design of software is usually done with Computer-Aided Software Engineering (CASE) tools and use standards for the format, such as the Unified Modeling Language (UML) Software development the construction of software through the use of programming languages Software testing Black box White box Software maintenance software systems often have problems and need enhancements for a long time after they are first completed. This subfield deals with those problems 27

28 Software Engineering sub-disciplines cont.d Software configuration management since software systems are very complex, their configuration (such as versioning and source control) have to be managed in a standardized and structured method Software engineering management the management of software systems borrows heavily from project management, but there are nuances encountered in software not seen in other management disciplines Software development process the process of building software is hotly debated among practitioners with the main paradigms being agile or waterfall Software engineering tools, see Computer Aided Software Engineering Software quality 28

29 Software Development Process

30 Software Development Process A set of structured and organized activities that are needed in order to develop a software product Analysis Design and Development Validation and Testing Evolution and Maintenance Corrective (20%): error resolution Adaptive (20%): changes and new requirements Improving (50%): non-functional and secondary functional requirements Preventing (10%): refactoring 30

31 Software Process Related Activities Project Management Project Revision (Contract revision) Quality Assurance Configuration Management Documentation Management Reusability Measures Risk Management 31

32 Principles of Software Engineering Changes foreseeing Rigorous and formal approach Separation of concerns Modularity Abstraction Generality Incremental approach 32

33 Standardization of Software Process CMMI ISO ISO

34 Capability Maturity Model Integration Created and maintained by the Software Engineering Institute of the Carnegie Mellon University Replaces the CMM which is not maintained anymore It is a process improvement approach that provides organizations with the essential elements of effective processes 34

35 ISO Produced by the International Organization for Standardization It establishes a common framework for software life cycle processes that can be referenced by the software industry It also provides a process that can be employed for defining, controlling, and improving software life cycle processes 35

36 ISO 9000 Produced by the International Organization for Standardization It specifies fundamentals of quality management systems It is intended to be applicable to all organizations, regardless of type, size and product provided 36

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

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document

More information

IT3205: Fundamentals of Software Engineering (Compulsory)

IT3205: Fundamentals of Software Engineering (Compulsory) INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design

More information

Weighted Total Mark. Weighted Exam Mark

Weighted Total Mark. Weighted Exam Mark CMP2101 Software Engineering Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 00 30 60 100 40 100 4 Rationale Software

More information

PESIT Bangalore South Campus. Department of MCA SOFTWARE ENGINEERING

PESIT Bangalore South Campus. Department of MCA SOFTWARE ENGINEERING PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lecturer: Adrian O Riordan Office: Room G.71 WGB Email: a.oriordan cs.ucc.ie Course Webpage: http://www.cs.ucc.ie/~adrian/cs4507.html CS4507 Overview 5 Credit course

More information

Software Process Improvement

Software Process Improvement Software Process Improvement V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Process Improvement I Management of the software process identified as important

More information

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

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 COURSE TITLE : SOFTWARE ENGINEERING COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 Software engineering discipline evolution

More information

Research Topics in Software Engineering

Research Topics in Software Engineering MAP-I Programa Doutoral em Informática Research Topics in Software Engineering Unidade Curricular em Paradigmas da Computação Paradigms of Computation (UCPC) UMinho, FEUP July 23, 2009 Abstract This document

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 2 Process What is it? A series of predictable steps

More information

ISO, CMMI and PMBOK Risk Management: a Comparative Analysis

ISO, CMMI and PMBOK Risk Management: a Comparative Analysis ISO, CMMI and PMBOK Risk Management: a Comparative Analysis Cristine Martins Gomes de Gusmão Federal University of Pernambuco / Informatics Center Hermano Perrelli de Moura Federal University of Pernambuco

More information

Lecture Notes #27: Software Risk Management

Lecture Notes #27: Software Risk Management EECS816: Object-Oriented Software Development Slide 2 Lecture Notes #27: Software Risk Management Software risks: What can go wrong? What is the likelihood? What will be the damage? What can be done about

More information

Ingegneria del Software. Gabriele Monfardini - Corso di Ingegneria del Software

Ingegneria del Software. Gabriele Monfardini - Corso di Ingegneria del Software Ingegneria del Software Presentazione del corso slide, esami e molto altro... Libri di testo C. Ghezzi, M. Jazayeri, D. Mandrioli, "Ingegneria del software. Fondamenti e principi", 2a ed., Pearson Education

More information

Practical Experiences of Agility in the Telecom Industry

Practical Experiences of Agility in the Telecom Industry Practical Experiences of Agility in the Telecom Industry Jari Vanhanen 1, Jouni Jartti 2, and Tuomo Kähkönen 2 1 Helsinki University of Technology, Software Business and Engineering Institute, P.O. Box

More information

Introduction and Overview

Introduction and Overview 1 Introduction and Overview INTRODUCTION Many companies, in their push to complete successful Level 2 Capability Maturity Model (CMM ) 1 or Capability Maturity Model Integration (CMMI ) 2 appraisals, have

More information

Software Engineering. An Introduction. Fakhar Lodhi

Software Engineering. An Introduction. Fakhar Lodhi Software Engineering An Introduction Fakhar Lodhi 1 Engineering The science concerned with putting scientific knowledge to practical use. Webster s Dictionary Physics versus Electrical Engineering 2 Software

More information

Introduction to Software Engineering. Week 1

Introduction to Software Engineering. Week 1 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

More information

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

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti Software Engineering Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical

More information

Small Group Software Development: A Case Study

Small Group Software Development: A Case Study Small Group Software Development: A Case Study Rob Jansen University of South Carolina University of Minnesota, Morris [phone number] jans0184@morris.umn.edu ABSTRACT The development process that a group

More information

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

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers CS 1632 SOFTWARE QUALITY ASSURANCE 2 Marks Sample Questions and Answers 1. Define quality. Quality is the degree of goodness of a product or service or perceived by the customer. Quality concept is the

More information

Software Quality Assurance: VI Standards

Software Quality Assurance: VI Standards Software Quality Assurance: VI Standards Room E 3.165 Tel. 60-3321 Email: hg@upb.de Outline I Introduction II Software Life Cycle III Quality Control IV Infrastructure V Management VI Standards VII Conclusion

More information

Engineering Standards in Support of

Engineering Standards in Support of The Application of IEEE Software and System Engineering Standards in Support of Software Process Improvement Susan K. (Kathy) Land Northrop Grumman IT Huntsville, AL susan.land@ngc.com In Other Words Using

More information

Software Engineering III B.Tech IT SEM-I

Software Engineering III B.Tech IT SEM-I Software Engineering III B.Tech IT SEM-I Term: 2014-2015 Unit-1 PPT SLIDES Text Books:1.Software Engineering, A practitioner s approach Roger s. Pressman 6 th edition McGraw-Hill 2.Software Engineering

More information

Lecture 8 About Quality and Quality Management Systems

Lecture 8 About Quality and Quality Management Systems Lecture 8 About Quality and Quality Management Systems Kari Systä 10.03.2014 10.03.2014 TIE-21100/21106; K.Systä 1 Content of today s lecture Two weeks ago we discussed about testing and inspections, that

More information

CMSC 435: Software Engineering Course overview. Topics covered today

CMSC 435: Software Engineering Course overview. Topics covered today CMSC 435: Software Engineering Course overview CMSC 435-1 Topics covered today Course requirements FAQs about software engineering Professional and ethical responsibility CMSC 435-2 Course Objectives To

More information

Software Engineering. Standardization of Software Processes. Lecturer: Giuseppe Santucci

Software Engineering. Standardization of Software Processes. Lecturer: Giuseppe Santucci Software Engineering Standardization of Software Processes Lecturer: Giuseppe Santucci Summary Introduction to Process Models The Capability Maturity Model Integration The ISO 12207 standard for software

More information

A Quick Overview of Software Engineering. Paul Klint

A Quick Overview of Software Engineering. Paul Klint A Quick Overview of Software Engineering Paul Klint g n i t o qu r o f s ie ch g o t l u o Ap me D pers so wspa ne 2 3 4 Software Engineering is about... Building large software systems Using state-of-the-art

More information

Software Engineering. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 16

Software Engineering. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 16 Software Engineering Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 16 Software Engineering Definition 3.2760 from ISO/IEC/IEEE 24765:2010(E)

More information

Lecture Softwareengineering-Vertiefung

Lecture Softwareengineering-Vertiefung Lecture Softwareengineering-Vertiefung 1 Introduction Summer term 2014 TU Chemnitz Department of Computer Science Dr. Dirk Müller Overview Introduction Organizational issues Process of software inspection,

More information

Project planning and scheduling

Project planning and scheduling Project planning and scheduling Project Planning Mel Rosso-Llopart (rosso@cs.cmu.edu) Version 1.1 Carnegie Mellon, 2005 1 Objectives 1. Introduce project planning 2. Examine the stages of project planning:

More information

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2). 0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems

More information

Advanced Software Engineering FYI!

Advanced Software Engineering FYI! Advanced Software Engineering Dr. Overview of Software Engineering and Development Processes! CSE870! CSE870: Advanced Software Engineering (): Intro to Software Engineering 1 FYI! Professor in CSE! Here

More information

Engineering. Software. Eric J. Braude. Michael E. Bernstein. Modern Approaches UNIVERSITATSBIBLIOTHEK HANNOVER ' TECHNISCHE INFORM ATIONSBIBLIOTHEK

Engineering. Software. Eric J. Braude. Michael E. Bernstein. Modern Approaches UNIVERSITATSBIBLIOTHEK HANNOVER ' TECHNISCHE INFORM ATIONSBIBLIOTHEK Software Engineering Modern Approaches SECOND EDITION Eric J. Braude Boston University, Metropolitan College Michael E. Bernstein Boston University, Metropolitan College TECHNISCHE INFORM ATIONSBIBLIOTHEK

More information

Process Improvement. From the Software Engineering Institute:

Process Improvement. From the Software Engineering Institute: Process Improvement From the Software Engineering Institute: The Software Capability Maturity Model (SW-CMM, CMMI) (Especially CMMI V1.1 Tutorial) The Personal Software Process (PSP) (Also see The Team

More information

SW Process Improvement and CMMI. Dr. Kanchit Malaivongs Authorized SCAMPI Lead Appraisor Authorized CMMI Instructor

SW Process Improvement and CMMI. Dr. Kanchit Malaivongs Authorized SCAMPI Lead Appraisor Authorized CMMI Instructor SW Process Improvement and CMMI Dr. Kanchit Malaivongs Authorized SCAMPI Lead Appraisor Authorized CMMI Instructor Topics of Presentation Why improvement? What is CMMI? Process Areas and Practices in CMMI

More information

Object-Oriented Software Engineering

Object-Oriented Software Engineering Slide 1.1 CHAPTER 1 Slide 1.2 Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 THE SCOPE OF OBJECT-ORIENTED SOFTWARE ENGINEERING Stephen R. Schach srs@vuse.vanderbilt.edu Outline Slide 1.3 Outline

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 16-17 Introduction to software process Software process models,

More information

Implementing Models and Standards for Software Development Benefits and Risks

Implementing Models and Standards for Software Development Benefits and Risks Implementing Models and Standards for Software Development Benefits and Risks Tsvetelina Kovacheva, Quality Manager Musala Soft June 19, 2007 Agenda Difference between Model and Standard Software Development

More information

A Report on The Capability Maturity Model

A Report on The Capability Maturity Model A Report on The Capability Maturity Model Hakan Bayraksan hxb07u 29 November 2009 G53QAT Table of Contents Introduction...2 The evolution of CMMI...3 CMM... 3 CMMI... 3 The definition of CMMI... 4 Level

More information

Basic Testing Concepts and Terminology

Basic Testing Concepts and Terminology T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts

More information

Protect Your Organization With the Certification That Maps to a Master s-level Education in Software Assurance

Protect Your Organization With the Certification That Maps to a Master s-level Education in Software Assurance Protect Your Organization With the Certification That Maps to a Master s-level Education in Software Assurance Sponsored by the U.S. Department of Homeland Security (DHS), the Software Engineering Institute

More information

Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr.

Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr. COM 401 Software Engineering Lecture Overview Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes Prof. Dr. Halûk Gümüşkaya haluk.gumuskaya@gediz.edu.tr

More information

IBM Rational systems and software solutions for the medical device industry

IBM Rational systems and software solutions for the medical device industry IBM Software August 2011 IBM Rational systems and software solutions for the medical device industry Improve processes, manage IEC 61508 and IEC 62304 standards, develop quality products Highlights Manage

More information

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

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when

More information

Organization. Introduction to Software Engineering

Organization. Introduction to Software Engineering Dr. Michael Eichberg Software Technology Group Department of Computer Science Technische Universität Darmstadt Introduction to Software Engineering Organization Teaser Background Information 3 As long

More information

Chapter 2 Software Processes

Chapter 2 Software Processes Chapter 2 Software Processes Chapter 2 Software Processes Slide 1 Topics covered Software processes and process models Generic models: Waterfall Incremental development Reuse-oriented software engineering

More information

The 10 Most Important Ideas in Software Development

The 10 Most Important Ideas in Software Development Construx Software Development Best Practices The 10 Most Important Ideas in Software Development 2006 Construx Software Builders, Inc. All Rights Reserved. www.construx.com Most Key Ideas Are Not New Q:

More information

Introduction to Software Engineering: Project Management ( Highlights )

Introduction to Software Engineering: Project Management ( Highlights ) Introduction to Software Engineering: Project Management ( Highlights ) John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from chapters 14, 15, and 16 of Object

More information

Fundamentals of Measurements

Fundamentals of Measurements Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role

More information

Software Estimation: Practical Insights & Orphean Research Issues

Software Estimation: Practical Insights & Orphean Research Issues Software Estimation: Practical Insights & Orphean Research Issues Alain Abran École de Technologie Supérieure, University of Québec, Montréal, Canada alain.abran@etsmtl.ca 9 th International Conference

More information

San José State University CS160, Software Engineering, Sections 1, 2, and 4, Fall, 2015

San José State University CS160, Software Engineering, Sections 1, 2, and 4, Fall, 2015 San José State University CS160, Software Engineering, Sections 1, 2, and 4, Fall, 2015 Course and Contact Information Instructor: Office Location: H. Chris Tseng MH213 Telephone: (408) 924-7255 Email:

More information

What do you think? Definitions of Quality

What do you think? Definitions of Quality What do you think? What is your definition of Quality? Would you recognise good quality bad quality Does quality simple apply to a products or does it apply to services as well? Does any company epitomise

More information

Models of Software Development

Models of Software Development October 28, 2015 Verification & Validation In many computer science courses, software is submitted once, graded, and thrown away. In real life, software development is an process. Some attempts to codify

More information

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

Introduction. Getting started with software engineering. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Introduction Getting started with software engineering Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Why? the Therac-25 Failure 1985-1987 Therac-25 Radiation Treatment Machine

More information

A Discipline for Software Engineering

A Discipline for Software Engineering A Discipline for Software Engineering (Humphrey, (Humphrey, 1995) 1995) Introduction Humphrey Preface - slide 1 Outline Software Development: Craft or Discipline? How SE is taught Humphrey s book s approach

More information

Increasing Development Knowledge with EPFC

Increasing Development Knowledge with EPFC The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,

More information

Software Engineering: Analysis and Design - CSE3308

Software Engineering: Analysis and Design - CSE3308 CSE3308/DMS/2004/25 Monash University - School of Computer Science and Software Engineering Software Engineering: Analysis and Design - CSE3308 Software Quality CSE3308 - Software Engineering: Analysis

More information

Requirements Definition and Management Processes

Requirements Definition and Management Processes Software Engineering G22.2440-001 Session 1 Sub-Topic 1 Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

Software Engineering Compiled By: Roshani Ghimire Page 1

Software Engineering Compiled By: Roshani Ghimire Page 1 Unit 7: Metric for Process and Product 7.1 Software Measurement Measurement is the process by which numbers or symbols are assigned to the attributes of entities in the real world in such a way as to define

More information

the state of the practice Variations in Software Development Practices

the state of the practice Variations in Software Development Practices focus the state of the practice invited article Variations in Software Development Practices Capers Jones, Software Productivity Research My colleagues and I at Software Productivity Research gathered

More information

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction CS 3141: Team Software Project Introduction Ali Ebnenasir Department of Computer Science Michigan Technological University Acknowledgement Betty H.C. Cheng Software Engineering Systematic approach for

More information

Developing CMMI in IT Projects with Considering other Development Models

Developing CMMI in IT Projects with Considering other Development Models Developing CMMI in IT Projects with Considering other Development Models Anahita Ahmadi* MSc in Socio Economic Systems Engineering Organizational Process Development Engineer, International Systems Engineering

More information

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.) The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling

More information

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

SOFTWARE ENGINEERING INTERVIEW QUESTIONS SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering

More information

There is no software engineering crisis

There is no software engineering crisis There is no software engineering crisis Alex Colburn Jonathan Hsieh Matthew Kehrt Aaron Kimball January 16, 2008 Introduction There is no software engineering crisis. In order to determine what is meant

More information

Outline. Definitions. Course schedule

Outline. Definitions. Course schedule SENG480A/CSC576A Topics in Software Engineering Software Development, Architecture & Evolution Lectures, Sep 17, 20, 2001 Hausi A. Müller University of Victoria Outline Assignment 1 due Sep 27 Last week

More information

Industry-Driven Testing: Past, Present, and Future Activities at Simula

Industry-Driven Testing: Past, Present, and Future Activities at Simula Industry-Driven Testing: Past, Present, and Future Activities at Simula Shaukat Ali Research Scientist Certus Software V & V Center Simula Research Lab Myself Affiliated with Simula since 2007 Have been

More information

SOFTWARE PROCESS MODELS

SOFTWARE PROCESS MODELS SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation

More information

Introduction to Software Engineering

Introduction to Software Engineering What is Software Engineering Introduction to Software Engineering Prof. Lyle N. Long lnl@psu.edu http://www.personal.psu.edu/lnl Sources of Material What is software? Software Engineering, 7 th Edition,

More information

ICT Benchmarking: Better Practice Roadmap

ICT Benchmarking: Better Practice Roadmap ICT Benchmarking: Better Practice Roadmap PART 1 VERSION 1.0 ICT Benchmarking: Better Practice Roadmap 1 Licensing The Department of Finance and Deregulation is licensed to use, reproduce, adapt, modify,

More information

Using Rational Software Solutions to Achieve CMMI Level 2

Using Rational Software Solutions to Achieve CMMI Level 2 Copyright Rational Software 2003 http://www.therationaledge.com/content/jan_03/f_cmmi_rr.jsp Using Rational Software Solutions to Achieve CMMI Level 2 by Rolf W. Reitzig Founder, Cognence, Inc. Over the

More information

Software Engineering

Software Engineering 1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software

More information

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

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

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

Topics. Software development invariants. Stakeholders. The accidents of software development. The essence of software development MACIASZEK, L.A. (2005): Requirements Analysis and System Design, 2 nd ed. Addison Wesley, Harlow England, 504p. ISBN 0 321 20464 6 Chapter 1 Software Process Topics The nature of software development System

More information

Risk Management 102. Mike Helton Senior Risk Manager July 23, 2013. ASQ Software SIG. Enterprise Risk Management

Risk Management 102. Mike Helton Senior Risk Manager July 23, 2013. ASQ Software SIG. Enterprise Risk Management Risk 102 ASQ Software SIG Mike Helton Senior Risk Manager July 23, 2013 Agenda Fundamentals of Risk (RSKM). Advised preparations for doing Risk. Brief guidelines for identifying the right risks in any

More information

Introduction to Agile Software Development

Introduction to Agile Software Development Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)

More information

A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies www.spacewx.

A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies www.spacewx. A Software Engineering Process for Operational Space Weather Systems S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies www.spacewx.com Transitioning Research Models into Operations Software

More information

A Case study based Software Engineering Education using Open Source Tools

A Case study based Software Engineering Education using Open Source Tools A Case study based Software Engineering Education using Open Source Tools Sowmya B J Dept. of CSE M. S. Ramaiah Institute of Technology sowmyabj@msrit.edu Srinidhi Hiriyannaiah Dept. of CSE M.S. Ramaiah

More information

Lecture 1: Introduction to Software Quality Assurance

Lecture 1: Introduction to Software Quality Assurance Lecture 1: Introduction to Software Quality Assurance Software Quality Assurance (INSE 6260/4-UU) Winter 2009 Thanks to Rachida Dssouli for some slides Course Outline Software Quality Overview Software

More information

Course intro, Overview Agile Processes & Philosophy. Lecture 1, EDA397/DIT191, Agile Dev Processes Robert Feldt, 2011-03-21

Course intro, Overview Agile Processes & Philosophy. Lecture 1, EDA397/DIT191, Agile Dev Processes Robert Feldt, 2011-03-21 Course intro, Overview Agile Processes & Philosophy Lecture 1, EDA397/DIT191, Agile Dev Processes Robert Feldt, 2011-03-21 What is Agile Development Processes? [Dictionary.com 2011] Agile Dev Processes

More information

Windows Data Management Client The WDMC. Archiving Unstructured User Data A Technical White Paper

Windows Data Management Client The WDMC. Archiving Unstructured User Data A Technical White Paper Windows Data Management Client The WDMC Archiving Unstructured User Data A Technical White Paper May 2009 Introduction Storage needs have been growing at an explosive rate over the last several years.

More information

Web Applications Development and Software Process Improvement in Small Software Firms: a Review

Web Applications Development and Software Process Improvement in Small Software Firms: a Review Web Applications Development and Software Process Improvement in Small Software Firms: a Review Haroon Tarawneh Al-balqa Applied University haroon@teacher.com Sattam Allahawiah Al-balqa Applied University

More information

IT/Software Project Management Core Functions

IT/Software Project Management Core Functions IT/Software Project Management Core Functions By: Prof. Dr. Eng. Ghazy Assassa, CMC-IMC Certified Management Consultant, Institute of Management Consultancy, UK Email: ghazy@ccis.ksu.edu.sa Mobile: 0502862400

More information

Statistical Tune-Up of the Peer Review Engine to Reduce Escapes

Statistical Tune-Up of the Peer Review Engine to Reduce Escapes Statistical Tune-Up of the Peer Review Engine to Reduce Escapes Tom Lienhard, Raytheon Missile Systems Abstract. Peer reviews are a cornerstone to the product development process. They are performed to

More information

CS212: HARD SKILLS Announcements

CS212: HARD SKILLS Announcements CS212: HARD SKILLS Announcements Overview motivation solitary programming engineering and software engineering software life cycle development models modularity documentation quality, legality, 1. Motivation

More information

Software Development. Craft or Engineering?

Software Development. Craft or Engineering? Software Development Craft or Engineering? Dr. Neil Roodyn Developing software for too long! Founded 5 software companies Teaching and mentoring around the world since 1991 Mission: Increase the value

More information

The 10 Best Ideas in Software Development

The 10 Best Ideas in Software Development The 10 Best Ideas in Software Development 2006 Construx Software Builders, Inc. All Rights Reserved. www.construx.com Special Bonus: The 8 Worst Ideas! Most Key Ideas Are Not New Q: What are the most exciting/promising

More information

2. Overview of Software Engineering Definitions and Software Quality

2. Overview of Software Engineering Definitions and Software Quality Miguel Angel Syll Development of an Android Application for Photogrammetric 3D Reconstruction Duration of the Thesis: 6 months Completion: July, 2014 Supervisor & Examiner: Prof. Dr. Ing. Dieter Fritsch

More information

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development Methodologies and Its Quality Assurance Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed

More information

Re: SEC Proposed Rule Regulation SCI SEC File No. S7 01 13; Release No. 34 69077

Re: SEC Proposed Rule Regulation SCI SEC File No. S7 01 13; Release No. 34 69077 Ms. Elizabeth M. Murphy Securities and Exchange Commission 100 F Street, NE Washington, D.C. 20549 Re: SEC Proposed Rule Regulation SCI SEC File No. S7 01 13; Release No. 34 69077 Dear Ms. Murphy, I write

More information

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

IF2261 Software Engineering. Introduction. What is software? What is software? What is software? Failure Curve. Software Applications Type IF2261 Software Engineering Introduction Program Studi Teknik Informatika STEI ITB What is software? Definitions: Computer programs, procedures, and possibly associated documentation and data pertaining

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 EXAMINERS REPORT Friday 2 nd October 2015 Answer any THREE

More information

Graduate Students' Perceptions of Computer-Based Project and Systems Engineering Management Methods

Graduate Students' Perceptions of Computer-Based Project and Systems Engineering Management Methods Graduate Students' Perceptions of Computer-Based Project and Systems Engineering Management s Amira Sharon Technion Israel Institute of Technology Haifa 32000, Israel amirash@technion.ac.il Olivier L.

More information

Risk Knowledge Capture in the Riskit Method

Risk Knowledge Capture in the Riskit Method Risk Knowledge Capture in the Riskit Method Jyrki Kontio and Victor R. Basili jyrki.kontio@ntc.nokia.com / basili@cs.umd.edu University of Maryland Department of Computer Science A.V.Williams Building

More information

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

Product Derivation Process and Agile Approaches: Exploring the Integration Potential Product Derivation Process and Agile Approaches: Exploring the Integration Potential Padraig O Leary, Muhammad Ali Babar, Steffen Thiel, Ita Richardson Lero, the Irish Software Engineering Research Centre,

More information

Software Development Process Selection Approaches

Software Development Process Selection Approaches The Journal of Applied Science Vol. 11 No. Vol. 2:45-50 11 No. 2 [2012] ISSN 1513-7805 Printed in Thailand Review Article Software Development Process Selection Approaches Phongphan Danphitsanuphan Department

More information

LECTURE # 2. 4 P s in Project Management

LECTURE # 2. 4 P s in Project Management SOFTWARE PROJECT MANAGEMENT LECTURE # 2 4 P s in Project Management 15 th September, 2011 Contact Information 2 Instructor: Lecturer Department of Software Engineering U.E.T Taxila Email: ali.javed@uettaxila.edu.pk

More information

EMPIRICAL STUDY OF THE EVOLUTION OF AGILE-DEVELOPED SOFTWARE SYSTEM IN JORDANIAN'S TELECOM

EMPIRICAL STUDY OF THE EVOLUTION OF AGILE-DEVELOPED SOFTWARE SYSTEM IN JORDANIAN'S TELECOM EMPIRICAL STUDY OF THE EVOLUTION OF AGILE-DEVELOPED SOFTWARE SYSTEM IN JORDANIAN'S TELECOM Dr.Walid Qassim Qwaider Majmaah University College of Science and Humanities in Ghat Management Information Systems

More information

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room

More information