RPL Team Program Studi Teknik Informatika

Slides:



Advertisements
Similar presentations
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 6/e and are provided with permission by R.S.
Advertisements

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.
Lecture 2 1 Introduction to Software Engineering.
IF-ITB/YW+WPS/Juli 2003 IF2261 Introduction Page 1 IF2261 Software Engineering Departemen Teknik Informatika Institut Teknologi Bandung.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
1 SWE Introduction to Software Engineering Lecture 3 Introduction to Software Engineering.
SWE Introduction to Software Engineering
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CSEB233: Fundamentals of Software Engineering Introduction to Software & Software Engineering.
Module 1 Introduction to Software Engineering Badariah Solemon 2010 CSEB233 Fundamentals of Software Engineering.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6/e.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 1 Software and Software Engineering. A Quick Quiz 1. What percentage of large projects have excess schedule pressure? 25% 50% 75% 100% 2. What.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering. Introduction Objective To familiarize students to the fundamental concepts, techniques, processes, methods and tools of Software.
SWE311_Ch01 (071) Software & Software Engineering Slide 1 Chapter 1 Software and Software Engineering Chapter 1 Software and Software Engineering.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter.
CMSC 345 Fall 2000 Software Design and Development.
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
Software Engineering Introduction.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
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.
PI2134 Software Engineering IT Telkom.  Software definition  Characteristic of software  Software myths  Software Engineering definition  Generic.
CS 281 Intro to Software Engineering Lecture 02 Software Engineering (1)
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Rekayasa Perangkat Lunak Kuliah 2. Outline of this presentation Attributes of Good Software Why Software Engineering ? What is Software Product ? Software.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
Part 1 Introduction to Software Engineering 1 copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 1 Introduction to Software Engineering.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 7th edition by Roger S. Pressman.
Advanced Software Engineering Dr. Cheng
Overview Software Maintenance and Evolution Definitions
Rekayasa Perangkat Lunak Part-2
Chapter 18 Maintaining Information Systems
Chapter 2 Software Engineering
Software What Is Software?
Software Engineering (CSE 314)
Software Myths Deep Mann.
CS 425/625 Software Engineering Software Evolution
Chapter 2 Software Engineering
Rekayasa Perangkat Lunak
For University Use Only
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
An Introduction to Software Engineering
Overview: Software and Software Engineering
Software Testing and Maintenance Maintenance and Evolution Overview
Chapter 1 Software & Software Engineering
Chapter 1 Software & Software Engineering
For University Use Only
Software Engineering (CSI 321)
CS385T Software Engineering Dr.Doaa Sami
Software Engineering Practice: A Generic View
What is Software? Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures.
Rekayasa Perangkat Lunak
Software and Software Engineering
Lecture 1 & 2 Software Engineering Tutor: Dr. Nadeem Ahmad Ch.
Chapter 1 Software & Software Engineering
Chapter 1 Software & Software Engineering
Introduction Software Engineering.
Introduction Software maintenance:
Chapter 2 Software Engineering
Presentation transcript:

RPL Team Program Studi Teknik Informatika Introduction RPL Team Program Studi Teknik Informatika

What is Software ? Software is collection of items or objects form configuration involving programs, documents, data and others.

What is Software ? Software definition based on IEEE : Computer programs, procedures, and possibly associated, documentation and data partaining to the operation of a computer system ( IEEE Standard Glossary of Software Engineering Therminology, 1990 )

What is Software ? Software is designed and built by software engineers Software is used by virtually everyone in society Software engineers have a moral obligation to build reliable software that does no harm to other people Software users are only concerned with whether or not software products meet their expectations and make their tasks easier to complete

What is Software ? Software adalah dua hal, produk dan kendaraan untuk menyampaikan sebuah produk (informasi)

Software Evolution Unified theory for software evolution (Lehman) : The Law of Contuining Change (1974) Systems must be continually adapted or they become progressively unsatisfactory The Law of Increasing Complexity ( 1974) As system evolves its complexity increases unless work is done to reduce the complexity The Law of Self-Regulation (1974) System evolution is self-regulating with its process and product measures following near normal distributions The Law of Conservation of Organizational Stability (1980) The Law of Conservation of familiarity ( 1980) *SEPA 6th ed.Roger S.Pressman

Software Problems (1) Software used after modification 3% Software used, but criticized or dropped 19% Software paid for but never delivered 29.7% Software delivered and used as it is 2% Software delivered but never used 47% 1982: Nine DOD contracts amounting to $6.8 million (source: GAO, quoted in CMU/SEI-93-EM-8)

Software Problems (2) Distribution of effort : what happens Distribution of effort : what is believed specification testing specification design encoding testing design encoding maintenance

The Cost of Change Definition development After release

Failure Curve Failure curve Failure curve For software For hardware rate time time Failure curve For software Failure curve For hardware *Software Engineering. Module 3. Richard Conn. University of Cincinnati, May 1993

Software Application Type System Software Application Software Embedded Software Engineering/ Scientific Software Product Software Web Application Software Artificial Intelligence Software *SEPA 6th ed.Roger S.Pressman Hal 37, Pressman edisi 8

New Software Challenges Ubiquitous computing Creating software to allow machines of all sizes to communicate with each other across vast networks Netsourcing Architecting simple and sophisticated applications that benefit targeted end-user markets worldwide Open Source Distributing source code for computing applications so customers can make local modifications easily and reliably New economy Building applications that facilitate mass communication and mass product distribution using evolving concepts *SEPA 8th ed.Roger S.Pressman

Legacy Software The software must be adapted to meet the needs of new computing environments or technology. The software must be enhanced to implement new business requirements. The software must be extended to make it interoperable with more modern systems or databases. The software must be re-architectures to make it variable within a network environment. *SEPA 8th ed.Roger S.Pressman Many programs still provide a valuable business benefit, even though they are one or even two decades old

The essence of Software Engineering Understand the problems (communication and analysis) Plan a solution (modeling n software design) Carry out the plan (code generation) Examine the result for accuracy (testing n quality assurance)

1. Understand the problems “I understand, let’s get on with solving this thing” Unfortunately,understanding isn’t always that easy. Who has a stake in the solution to the problem ? (who are the stakeholder ?) What are the unknowns ? What data, functions, and features are required to properly solve the problem ? Can the problem be compartmentalized ?

2. Plan the Solution Have you seen similar problems before ? Has a similar problem been solved ? Can subproblems be defined ? Can you represent a solution in a manner that lead to effective implementation ? Can a design model be created ?

3. Carry out the plan Does the solution conform to the plan ? Is source code traceable of the design mode ? Is each component part of the solution provably correct ? Has design and code been reviewed, or better, have correctness proofs been applied to the algorithem ?

4. Examine the Result Is it posible to test each component ? Does the soltion produce result that conform to the data, functions and features that are required ?

Software Myths Still believed by many managers and practitioners Insidious because they do have elements of truth Every practitioner and manager should understand the reality of the software business *SEPA 6th ed.Roger S.Pressman

Software Myths: Customer Myths A general statement of objective is sufficient to begin writing programs, fill in the details later Project requirements continually change, but change can be easily accomodated because software is flexible Reality : Poor up-front definition of the requirements is THE major cause of poor and late software. Cost of the change to software in order to fix an error increases dramatically in later phases of the life of the software

Software Myths : Practitioner’s myths Once a program is written and works, the practitioner’s job is done Until a program is running, there is no way to assess its quality The only deliverable work product for Reality : 60%-80% of effort expended on a program occurs after it is delivered to the customer. Software is reviews can be more effective in finding errors than testing for certain classes of errors

Software Mhyts Management myhts Myths : Books of standards exist inhouse so software will be developed Satisfactorily. Computers and software tools that are available inhouse are sufficient. We can always add more programmers if the project gets behind. Reality : Books may exist, but they are usually not up to date and not used. CASE(**) tools are needed but are not usually obtained or used. "Adding people to a late software project makes it later." -- Brooks

“ You said I should spend more time with our children, so I turned their faces into icons “

What is Software Engineering ? Software Engineering is technology should be used by any person who will build the software, with a series of processes, using a set of methods and tools (Pressman, 1997)

Why Software Engineering ? To get the right software and to make the software right Complexity of Software: Domain problem: Business Rule Data size: Digital and Non Digital Solution: Algorithm Place or Sites

Why Software Engineering ? Software must be correct : Based on business rule Sejalan dengan segala sesuatu dan semua pihak yang terkait Software correctness have to be maintained

How should SE be applied ? There are 2 things to be considered in SE: Product = Software: Programs Documents Data Process of how the software is build: Management process Technical process

Difference of Software Engineering and Computer Science Computer science is concerned with theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software. Computer science theories are still insufficient to act as a complete underpinning for software engineering. * Software Engineering 7th ed, Ian Sommerville

Difference of Software Engineering and System Engineering System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering Software engineering is part of this process concerned with developing the software infrastructure, control, applications and databases in the system. System engineers are involved in system specification, architectural design, integration and deployment. * Software Engineering 7th ed, Ian Sommerville

Important Questions for Software Engineer Why does it take so long to get software finished ? Why are development cost so high ? Why can’t we find all errors before we give the software to our customers ? Why do we spend so much time and effort maintaining existing programs ? Why do we continue to have difficulty in measuring progress as software is being developed and maintained ? *SEPA 6th ed.Roger S.Pressman