Documente Academic
Documente Profesional
Documente Cultură
Software Engineering
Teduh Dirgahayu
teduh.dirgahayu@fti.uii.ac.id
Outline
Software Engineering
Management scope
Focus (3Ps)
People
Software engineering work is intensive human work To succeed, understand the problem correctly Comprehensive communication with customers Plan and manage activities
Problem
Process
Software Engineering
People
Players
Senior managers : define business issues Project managers : organize practitioners Practitioners Customers End users : do technical work : specify requirements : use the software product
Software Engineering
Motivation
To encourage people to produce to their best ability To organize processes from an initial concept to a final product To encourage people to create and be creative within bounds
Software Engineering May 16, 2011 5
Organization
Innovation
Problem
Scope
Context
What is the larger system? What is the business context? What constraints are imposed? What information is produced (output)? What information is required (input)? What functions are needed? What performance characteristics have to be addressed?
Software Engineering May 16, 2011 6
Information objectives
Problem decomposition
Complex problem is partitioned into smaller problems that are more manageable.
The functionality to be delivered The process to deliver the functionality (eg. analysis, design, code, test, maintenance)
Software Engineering
Process
Process model
decides which process model is most appropriate for the project defines a plan base on the activities of the choosen process model.
Software Engineering
Project
at the beginning, to establish a realistic plan during the project, to monitor the plan throughout the project, to control quality and change.
Software Engineering
Planning
Objectives
Planing objective is achieved through a process of information discovery about the project.
See page 6.
Software Engineering May 16, 2011 10
Observation on estimating
Project complexity
Relative: familiarity with past efforts Size increases, interdependency grows. Problem decomposition becomes more difficult. Changing user requirements Nature of information
Software Engineering May 16, 2011 11
Project size
Uncertainty
Software scope
Software Engineering
12
Questions about the customer, goals, and benefits. Questions to understand the problem and customer perception about a solution.
Software Engineering
13
Resources allocation
Environmental resources
Software Engineering
14
Software sizing
Function-point sizing Fuzzy logic sizing Standard component sizing Change sizing
Software Engineering
15
Estimation models
E : effort (person month) E = -13.39 + 0.0545 FP (Albrecht & Gaffney) E = 60.62 x 7.728 x 10-8 FP3 (Kemerer) E = 585.7 + 15.12 FP (Matson et.al)
Software Engineering
16
Make-buy decision
Options
Off-the-shelf software Full or partial experience software components Custom-built by an outside contractor
Software Engineering
17
Guidelines to buy
Develop specification for function and performance. Define measurable characteristics. Estimate internal cost to develop and delivery date Select 3 or 4 candidate applications that best meet specification Develop comparison matrix or conduct benchmark test Evaluate based on quality, support, reputation, Contact other users for opinions.
Software Engineering May 16, 2011 18
Summary
Software Engineering
19