Software Engineering: Construction Romi Satria Wahono [email protected] +6281586220090.

163
Engineering: Construction Romi Satria Wahono [email protected] http://romisatriawahono.net +6281586220090

Transcript of Software Engineering: Construction Romi Satria Wahono [email protected] +6281586220090.

Page 1: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Software Engineering: Construction

Romi Satria [email protected]://romisatriawahono.net

+6281586220090

Page 2: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

SD Sompok Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara, Magelang (1993) S1, S2 dan S3 (on-leave)

Department of Computer SciencesSaitama University, Japan (1994-2004)

Research Interests: Software Engineering,Intelligent Systems

Founder dan Koordinator IlmuKomputer.Com Peneliti LIPI (2004-2007) Founder dan CEO PT Brainmatics Cipta Informatika

Romi Satria Wahono

Page 3: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Course Contents -1-

1. Introduction to Software Engineering1. What is Software2. What is Software Engineering3. Discipline and Curriculum of Software Engineering

2. Software Engineering Profession1. Profession, Ethics and Certification2. Software Industry and Market3. Internet Business Model and Trends

Page 4: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Course Contents -2-

3. Software Engineering Process1. Software Development Life Cycle (SDLC)2. Software Development Methodologies3. Software Development Notation (UML) and Tools4. Object-Oriented Paradigm

4. Software Construction1. Software Construction Process: Case Study2. Estimating the Size of Software Project

Page 5: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Course Contents -3-

5. Software Quality Assurance1. The Uniqueness of Software Quality Assurance2. What is Software Quality3. Software Quality Factor4. Software Testing

6. Software Engineering Research1. Computing Research Methodology2. Research Trends in Software Engineering3. Case Study: Developing Research Proposal in Software

Engineering Field

Page 6: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Software Construction

Page 7: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Contents

1. Software Construction Process2. Case Study: Developing Software using UML

and Java3. Identifying the Project Size

Page 8: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

1. Software Construction Process: Case Study

Page 9: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

SDLC and Deliverables

Planning(System Proposal)

Analysis(System

Specification)

Design(System

Specification)

Implementation

(New System)

Page 10: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Planning

Page 11: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

When Do Projects Begin?

When someone sees an opportunity to create business value from using information technology

Then he or she creates a system request

Page 12: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Elements of a System Request

1. Project Name• The name of project

2. Project sponsor• Primary point of contact for the project

3. Business need• Reason prompting the project

4. Business requirements• Business capabilities the system will need to have

5. Business value• Benefits the organization can expect from the project

6. Special issues• Anything else that should be considered

Page 13: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Business Need

Describes why the system should be built Why the project should be funded Should be clear and concise Probably not completely defined

Page 14: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Business Requirements

What the system will do High level explanation to the approval

committee Tell about the features and capabilities

Page 15: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Business Value

Tangible value• A quantifiable value• E.g.: 2 % reduction in operating cost

Intangible value• Intuitive believe why the system will help the company• E.g.: improved customer service, a better competitive

position

Page 16: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Exercise: Identify Tangible and Intangible ValueDominion Virginia Power is one of the nation’s ten largest investor-owned electric utilities. The company delivers power to more than two million homes and businesses in Virginia and North Carolina. In 1997, the company overhauled some of its core processes and technology. The goal was to improve customer service and cut operations costs by developing a new workflow and geographic information system. When the project was finished, service engineers who used to sift through thousands of paper maps could pinpoint the locations of electricity poles with computerized searches. The project helped the utility improve management of all its facilities, records, maps, scheduling, and human resources. That, in turn, helped increase employee productivity, improve customer response times, and reduce the costs of operating crews.

Page 17: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Special Issues

Identify special issues or constraints•Budget constraints•Deadline•Legal requirements

Page 18: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Elements of a System Request

Page 19: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Exercise: Membuat System Request

1. Lihat contoh System Request untuk Internet Order Project

2. Pikirkan suatu sistem* yang saat ini dibutuhkan oleh perusahaan atau organisasi anda

3. Buat System Request dari sistem tersebut

* System request yang anda buat akan menjadistudi kasus dari pembelajaran kita selama course berlangsung

Page 20: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

System Request—Internet order projectProject sponsor: Margaret Mooney, Vice President of MarketingBusiness Need: This project has been initiated to reach new Internet customers and to better serve

existing customers using Internet sales support.

Business Requirements:Using the Web, customers should be able to search for products and identify the brick-and-mortar stores that have them in stock. They should be able to put items on hold at a store location or place an order for items that are not carried or not in stock. The functionality that the system should have is listed below:1. Search through the CD Selections’ inventory of products2. Identify the retail stores that have the product in stock3. Put a product on hold at a retail store and schedule a time to pick up the product4. Place an order for products not currently in stock or not carried by CD Selections5. Receive confirmation that an order can be placed and when it will be in stock

Business Value:We expect that CD Selections will increase sales by reducing lost sales due to out-of-stock or nonstocked items and by reaching out to new customers through its Internet presence. We expect the improved services will reduce customer complaints, primarily because 50 percent of all customer complaints stem from out of stocks or nonstocked items. Also, CD Selections should benefit from improved customer satisfaction and increased brand recognition due to its Internet presence.

Conservative estimates of tangible value to the company includes:1. $750,000 in sales from new customers2. $1,875,000 in sales from existing customers3. $50,000 yearly reduction in customer service calls Special Issues or Constraints:The Marketing Department views this as a strategic system. This Internet system will add value to our current business model, and it also will serve as a proof of concept for future Internet endeavors. For example, in the future, CD Selections may want to sell products directly over the Internet.

The system should be in place for the holiday shopping season next year.

Page 21: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Feasibility Analysis

Page 22: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Feasibility Analysis

Detailing Expected Costs and Benefits1. Technical feasibility

Can we build it?

2. Economic feasibility Should we build it?

3. Organizational feasibilityIf we build it, will they come?

Page 23: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Feasibility Analysis Template

Page 24: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Technical Feasibility: Can We Build It?

Familiarity with application• Knowledge of business domain• Need to understand improvements• Need to recognize pitfalls and bad ideas

Familiarity with technology• Is technology new to this organization?• Is this a brand new technology?• Extension of existing firm technologies

Page 25: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Technical Feasibility: Can We Build It?

Project size• Number of people, time, and features

Compatibility with existing systems• Systems are not built in a vacuum• Needs to integrate with current systems and data

Page 26: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Economic Feasibility: Should We Build It?

Page 27: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Cost-Benefit Analysis - Cash Flow

Project costs and benefits over several years(3–5)

Use normal growth rates for sales etc. Total added to determine Overall Benefits = Total Benefits – Total Costs Higher number is better

Page 28: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Cost-Benefit Analysis - Cash Flow

Page 29: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Cash Flow Plan

Page 30: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Present Value (PV)

The amount of an investment today compared to the same amount n years in the future

Taking into account inflation and time

PV = Amount

(1 + Interest Rate)n

Page 31: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Net Present Value

395,463

03.01

201,5375

Page 32: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Net Present Value (NPV)

The present value of benefit less the present value of cost

NPV = PV Benefits – PV Costs

Page 33: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

NPV Calculation

3,204,752 2,575,331

629,421

Page 34: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Return on Investment (ROI)

The Amount of revenue or cost savings results from a given investment

ROI = Total Benefits – Total Costs

Total Costs

Page 35: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

ROI Calculation

2444.0

331,575,2

331,575,2752,204,3

Page 36: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Break Even Point (BEP)

The point in time when the costs of the project equal the value it has delivered

BEP =

* Use the yearly NPV amount from the first year in which project has positive cash flow

Yearly NPV* – Cumulative NPV

Yearly* NPV

Page 37: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Break Even Point (BEP)

Page 38: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Organizational FeasibilityIf we build it, will they come?

Strategic Alignment• How well does the project match up with the

business strategy?

Stakeholder analysis considers• Project champion(s)• Organizational management• System users• Anybody affected by the change

Page 39: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Stakeholder Analysis Considers

Project champion(s)• High-level non-IS executive• Shepherds project to completion• It's good to have more than one

Organizational management• Need this support to sell system to organization

System users• In the loop so end system meets needs

Page 40: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Stakeholder Analysis Considers

Page 41: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Feasibility Analysis TemplateTechnical Feasibility: Can We Build It?

1. Familiarity with Application: Less familiarity generates more risk 2. Familiarity with Technology: Less familiarity generates more risk 3. Project Size: Large projects have more risk 4. Compatibility: The harder it is to integrate the system with the company’s

existing technology, the higher the risk

Economic Feasibility: Should We Build It?

1. Development costs 2. Annual operating costs 3. Annual benefits (cost savings and revenues) 4. Intangible costs and benefits

Organizational Feasibility: If We Build It, Will They Come?

1. Project champion(s) 2. Senior management 3. Users 4. Other stakeholders 5. Is the project strategically aligned with the business?

Page 42: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Exercise: Membuat Feasibility Analysis

1. Lihat contoh Feasibility Analysis untuk Internet Order Project

2. Perhatikan kembali System Request yang sebelumnya sudah kita buat

3. Buat Feasibility Analysis dari system yang akan kita buat tersebut

Page 43: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Internet Order Feasibility Analysis Executive Summary Margaret Mooney and Alec Adams created the following feasibility analysis for the CD Selections Internet Order System Project. The System Proposal is attached, along with the detailed feasibility study. The highlights of the feasibility analysis are:

Technical Feasibility The Internet Order System is feasible technically, although there is some risk. CD Selections’ risk regarding familiarity with Internet order applications is high

• The Marketing Department has little experience with Internet-based marketing and sales. • The IT Department has strong knowledge of the company’s existing order systems; however, it has

not worked with Web-enabled order systems. • Hundreds of retailers that have Internet Order applications exist in the marketplace.

CD Selections’ risk regarding familiarity with the technology is medium • The IT Department has relied on external consultants and an Information Service Provider to

develop its existing Web environment. • The IT Department has gradually learned about Web systems by maintaining the current Web site. • Development tools and products for commercial Web application development are available in the

marketplace, although the IT department has little experience with them. • Consultants are readily available to provide help in this area.

The project size is considered medium risk • The project team likely will include less than ten people. • Business user involvement will be required. • The project timeframe cannot exceed a year because of the Christmas holiday season

implementation deadline, and it should be much shorter.The compatibility with CD Selections’ existing technical infrastructure should be good

• The current Order System is a client-server system built using open standards. An interface with the Web should be possible.

• Retail stores already place and maintain orders electronically. • An Internet infrastructure already is in place at retail stores and at the corporate headquarters. • The ISP should be able to scale their services to include a new Order System.

Page 44: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Economic Feasibility

A cost–benefit analysis was performed; see attached spreadsheet for details. A conservative approach shows that the Internet Order System has a good chance of adding to the bottom line of the company significantly.

• ROI over 3 years: 229 percent • Total benefit after three years: $3.5 million (adjusted for present value) • Break-even occurs: after 1.7 years

Intangible Costs and Benefits • Improved customer satisfaction • Greater brand recognition

Organizational Feasibility From an organizational perspective, this project has low risk. The objective of the system, which is to increase sales, is aligned well with the senior management’s goal of increasing sales for the company. The move to the Internet also aligns with Marketing’s goal to become more savvy in Internet marketing and sales. The project has a project champion, Margaret Mooney, Vice President of Marketing. Margaret is well positioned to sponsor this project and to educate the rest of the senior management team when necessary. To date, much of senior management is aware of and supports the initiative. The users of the system, Internet consumers, are expected to appreciate the benefits of CD Selections’ Web presence. And, management in the retail stores should be willing to accept the system, given the possibility of increased sales at the store level.

Additional Comments: • The Marketing Department views this as a strategic system. This Internet system will add value to our

current business model, and it also will serve as a proof of concept for future Internet endeavors. • We should consider hiring a consultant with expertise in similar applications to assist with the project. • We will need to hire new staff to operate the new system, from both the technical and business operations

aspects.

Page 45: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

2003 2004 2005 Total

Increased sales from new customers 0 750,000 772,500 Increased sales from existing customers 0 1,875,000 1,931,250 Reduction in customer complaint calls 0 50,000 50,000 Total Benefits: 0 2,675,000 2,753,750 PV of Benefits: 0 2,521,444 2,520,071 5,041,515 PV of All Benefits: 0 2,521,444 5,041,515 Labor: Analysis, Design and Implementation 162,000 0 0 Consultant Fees 50,000 0 0 Office Space and Equipment 7,000 0 0 Software and Hardware 35,000 0 0 Total Development Costs: 254,000 0 0 Labor: Webmaster 85,000 87,550 90,177 Labor: Network Technician 60,000 61,800 63,654 Labor: Computer Operations 50,000 51,500 53,045 Labor: Business Manager 60,000 61,800 63,654 Labor: Assistant Manager 45,000 46,350 47,741 Labor: 3 Staff 90,000 92,700 95,481 Software upgrades and licenses 4,000 1,000 1,000 Hardware upgrades 5,000 3,000 3,000 User training 2,000 1,000 1,000 Communications charges 20,000 20,000 20,000 Marketing expenses 25,000 25,000 25,000 Total Operational Costs: 446,000 452,700 464,751 Total Costs: 700,000 452,700 464,751 PV of Costs: 679,612 426,713 425,313 1,531,638 PV of all Costs: 679,612 1,106,325 1,531,638 Total Project Costs Less Benefits: (700,000) 2,222,300 2,288,999 Yearly NPV: (679,612) 2,094,731 2,094,758 3,509,878 Cumulative NPV: (679,612) 1,415,119 3,509,878 Return on Investment: 229.16% (3,509,878/1,531,638) Break-even Point: 1.32 years (break-even occurs in year 2; [2,094,731 – 1,415,119] / 2,094,731 = 0.32)

Intangible Benefits: Greater brand recognition Improved customer satisfaction

Page 46: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Analysis and Design

Page 47: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

System Analysis and Design with UML1. System Analysis

1. Business Process Identification Use Case Diagram

2. Business Process Modeling Activity Diagram or Business Process Modeling Notation (BPMN)

3. Business Process Realization Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity)

2. System Design1. Program Design

1. Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun)

2. Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E)

3. Deployment Diagram (arsitektur software dari sistem yang dibangun)

2. User Interface Design (Buat UI design dari Boundary Class)

3. Entity-Relationship Model (Buat ER diagram dari Entity Class)

Page 48: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Use Case Diagram

Page 49: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Use Case

A formal way of representing how a business interacts with its environment

The discrete activities performed by the user

Use cases are logical models that describe the activities of a system

Used to document the As-Is system, or to develop the To-Be system

Page 50: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Use Case Diagrams

Summarized into a single picture All of the use cases for the part of the

system being modeled Use Case Diagram tells what the system

will do Good for communicating with users

Page 51: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Use Case Diagram Syntax Actor

• person or system that derives benefit from and is external to the subject

Use Case• Represents a major piece of system

functionality

Association Relationship Include Relationship Extend Relationship Generalization Relationship

<<extends>>

<<includes>>

Page 52: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Use Case

A major piece of system functionality

Can extend otherUse Cases

Placed inside system boundary Labeled with descriptive

verb - noun phrase

Use Case

Page 53: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

System Boundary Includes the name

of the systeminside or on top

Represents thescope of the system

Actors are outside the scope of the system

Boundary

Page 54: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Actor

A person or anothersystem that interactswith the current system

A role, not a specific user Provides input,

receives output, or both actorActor/Role

Page 55: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Association Relationship

Links actor and the Use Case Shows two-way communication

• If one-way, arrows are used * is for "multiplicity of the Association"

* *

Page 56: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Extends Relationship

Extends Use Case to include Optional behavior

Arrow points from the extension Use Case to the base Use Case

extend

extend MakeAppointmen

t

Make PmtArrangement

s

Page 57: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Include Relationship

Include one Use Case from within another

Arrow points from base Use Case to the included Use Case

include

include ManageSchedule

RecordAvailability

Page 58: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Generalization Relationship

A specialized Use Case to a more generalized Use Case

Arrow points from specialized to general Use Case

MakeAppointmen

t

Make OldAppointment

Page 59: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Use Case Diagram for Appointment System

Page 60: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Use Case Diagram with Specialized Actor

Page 61: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Extend and Include Relationships

Page 62: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Studi Kasus: ATM System

Page 63: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

ATM System

Page 64: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

ATM System

Layar

Kotak Uang Kotak Kartu

Kotak Kuitansi

Page 65: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Masukkan PIN:

Kotak Uang Kotak Kartu

Kotak Kuitansi

Page 66: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Menu Utama1. Melihat Saldo2. Mentransfer Uang3. Mengambil Uang4. Logout

Kotak Uang Kotak Kartu

Kotak Kuitansi

Page 67: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Menu Melihat Saldo

1. Saldo anda adalah ….

Kotak Uang Kotak Kartu

Kotak Kuitansi

Page 68: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Menu Mentransfer Uang

1. No Account Penerima:

Kotak Uang Kotak Kartu

Kotak Kuitansi

Page 69: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Menu Mentransfer Uang

1. Jumlah uang yang dikirim:

Kotak Uang Kotak Kartu

Kotak Kuitansi

Page 70: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Menu Mentransfer Uang

1. Uang berhasil terkirim

Kotak Uang Kotak Kartu

Kotak Kuitansi

Page 71: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Menu Mengambil Uang

1. Jumlah uang yang diambil:

Kotak Uang Kotak Kartu

Kotak Kuitansi

Page 72: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Menu Mengambil Uang

Uang berhasil diambil

Kotak Uang Kotak Kartu

Kotak Kuitansi

Page 73: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Use Case Diagram uc UCD - Sistem ATM

Pengguna

Sistem ATM

Memasukkan Kartu Memasukkan PIN

Mengecek Saldo

Mentransfer Uang

Mengambil UangMelakukan Logout

«include»

Page 74: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Use Case Diagram (Alternatif) uc Sistem ATM

Sistem ATM

Pengguna

Memasukkan Kartu Memasukkan PIN

Memilih Transaksi

Melihat Saldo

Mengirim Uang

Mengambil Uang

Melakukan Logout

Admin

Mengganti Kotak Deposit

«include»

«extend»

«extend»

«extend»

Page 75: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Exercise: Business Process Identification

1. Lihat kembali System Request yang sudah anda buat

2. Lakukan business process identification dengan membuatkan Use Case Diagram untuk System Request tersebut

Page 76: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Business Process Modeling

Page 77: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

System Analysis and Design with UML1. System Analysis

1. Business Process Identification Use Case Diagram

2. Business Process Modeling Activity Diagram or Business Process Modeling Notation (BPMN)

3. Business Process Realization Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity)

2. System Design1. Program Design

1. Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun)

2. Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E)

3. Deployment Diagram (arsitektur software dari sistem yang dibangun)

2. User Interface Design (Buat UI design dari Boundary Class)

3. Entity-Relationship Model (Buat ER diagram dari Entity Class)

Page 78: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Elements of an Activity DiagramGuidelines for Creating Activity

Diagrams

Business Process Modeling with Activity Diagrams

Page 79: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

BPM With Activity Diagrams

A number of activities support a business process across several departments

Activity diagrams model the behavior in a business process

Page 80: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Actions and Activities Performed for a specific business reason Names begin with a verb and end with a noun

• “Make Appointment” Each activity normally associated with a use case

Page 81: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Object Nodes Activity and Actions usually modify objects Object nodes model these objects Objects represent a flow of information from

between activities or actions

Page 82: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Control & Object Flows Control Flows (solid line)

• Paths of execution through the business process• Can only be attached to actions or activities

Object Flows (dashed line)• Model the flow of objects through a business process• Show actual objects entering and exiting the system• An object is on one end, an action or activity is on the other

end

Page 83: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Control Nodes

1. Initial – Only one, at top left2. Final Activity – Stop the process3. Final Flow – Stop this flow only4. Decision – Guarded test conditions5. Merge – Following decisions6. Fork – Split parallel execution7. Join – Join parallel execution

Page 84: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Swimlanes The business process may be broken into persons

of responsibility Identify this with swimlanes

Page 85: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Activity Diagram Example

Page 86: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Creating Activity Diagrams

1. Set the context or scope of the activity being modeled

2. Identify the activities and control/object flows between activities

3. Identify any decisions made4. Look for opportunities for parallelism5. Draw the diagram

Page 87: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Business Process Modeling with BPMN

Page 88: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.
Page 89: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.
Page 90: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.
Page 91: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.
Page 92: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Credit Application

Page 93: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Purchase Request

Page 94: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Shipment Process of a Hardware Retailer

Page 95: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

The Pizza Collaboration

Page 96: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Order Fulfillment and Procurement

Page 97: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Studi Kasus: ATM System

Page 98: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Activity Diagram: Memasukkan Kartu act AD1 - Memasukkan Kartu

Mulai

Pengguna Sistem ATM

Menyiapkan Kartu

Memasukkan Kartu Memv alidasi Kartu

kartu valid?

Menampilkan MenuPIN

Mengeluarkan Kartu

Selesai

tidak

ya

Page 99: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Activity Diagram: Memasukkan PIN act AD2 - Memasukkan PIN

Pengguna Sistem ATM

Mulai

Memasukkan PIN

Memv alidasi Account

pin valid?

Menampilkan MenuUtama

lebih dari 3x?

Memblokkir Kartu

Selesai

ya

tidak

tidak

ya

Page 100: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Activity Diagram: Mengecek Saldo act AD3 - Mengecek Saldo

Pengguna Sistem ATM

Mulai

Memilih Mengecek Saldo di Menu Utama

Memproses Pengecekan Saldo

Menampilkan Saldo di Menu Saldo

Selesai

Page 101: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Activity Diagram: Mentransfer Uang act AD4 - Mentransfer Uang

Pengguna Sistem ATM

Mulai

Memilih Mentransfer Uang di Menu Utama

Memasukkan Account Tujuan

Memasukkan Jumlah Uang yang dikirim

Menghitung Kecukupan Saldo Pengirim

Memv alidasi Account Tujuan

Account Tujuan Valid?

Saldo Cukup?

Mentransfer Uang

Selesai

tidak

ya

tidak

ya

Page 102: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Activity Diagram: Mengambil Uang act AD5 - Mengambil Uang

Pengguna Sistem ATM

Mulai

Memilih Menu Mengambil Uang di Menu Utama

Memasukkan Jumlah Uang

Mengecek Ketercukupan Saldo

Saldo Cukup?

Memproses Pengambilan Uang

Mengeluarkan Uang di Kotak Uang

Mengambil Uang di Kotak Uang

Selesai

tidak

ya

Page 103: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Activity Diagram: Melakukan Logout act AD6 - Melakukan Logout

Sistem ATMPengguna

Mulai

Memilih Keluar di Menu Utama

Memproses Logout

Mengeluarkan Kuitansi

Mengeluarkan KartuMengambil Kuitansi

Mengambil Kartu

Selesai

Page 104: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Exercise: Business Process Modeling

1. Lihat kembali System Request yang sudah anda buat

2. Lakukan business process modeling dengan membuatkan Activity Diagram untuk System Request tersebut

Page 105: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Business Process Realization

Page 106: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

System Analysis and Design with UML1. System Analysis

1. Business Process Identification Use Case Diagram

2. Business Process Modeling Activity Diagram or Business Process Modeling Notation (BPMN)

3. Business Process Realization Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity)

2. System Design1. Program Design

1. Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun)

2. Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E)

3. Deployment Diagram (arsitektur software dari sistem yang dibangun)

2. User Interface Design (Buat UI design dari Boundary Class)

3. Entity-Relationship Model (Buat ER diagram dari Entity Class)

Page 107: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Sequence Diagram

Page 108: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Sequence Diagrams

Illustrate the objects that participate in a use case

Show the messages that pass between objects for a particular use-case over time

Page 109: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Sequence Diagram Syntax

AN ACTOR

AN OBJECT

A LIFELINE

A FOCUS OF CONTROL

A MESSAGE

OBJECT DESTRUCTION

anObject:aClass

aMessage()

x

Page 110: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Sequence Diagram

1. Susun Sequence Diagram untuk setiap Use Case yang dibuat

2. Mulai dari menarik Actor yang ada di Use Case Diagram, lanjutkan dengan membuat sequence detail dari berjalannya Use Case

Catatan: Objek dari Lifeline di Sequence Diagram akan menjadi kandidat Class

Page 111: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Jenis Class

1. Boundary Class:1. Class yang berinteraksi dengan aktor langsung (user

interface)2. Form, input, UI ini masuk di sini

2. Control Class:1. Class yang berhubungan dengan pemrosesan,

penghitungan, kalkulasi, komputasi, query, dst

3. Entity Class:1. Class yang berhubungan dengan data, penyimpanan

data/file

Page 112: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Studi Kasus: ATM System

Page 113: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Sequence Diagram: Memasukkan Kartu sd SD1 - Memasukkan Kartu

Pengguna

(from 1 Use Case Diagram)

KotakKartu ProsesValidasiKartu MenuPIN

alt kartu v alid?

[ya]

[tidak]

memasukanKartu()

validasiKartu()

tampilkan()

mengeluarkanKartu()

Page 114: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Sequence Diagram: Memasukkan PIN sd SD2 - Memasukkan PIN

Pengguna

(from 1 Use Case Diagram)

MenuPIN ProsesValidasiAccount LoginAccount MenuUtama

alt PIN v alid?

[ya]

[tidak]

alt lebih dari 3x?

[tidak]

[ya]

memasukkanPIN()

validasi(id, pin)

getIDLogin()

getPIN()

tampilkan()

tampilkan()

blokirAccount()

errorKartuDiblokir()

Page 115: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Sequence Diagram: Mengecek Saldo sd SD3 - Mengecek Saldo

Pengguna

(from 1 Use Case Diagram)

MenuUtama MenuMengecekSaldoProsesMengecekSaldo Account Balance Transaksi

memil ihMengecekSaldo()

l ihatSaldo(id)

getIDBalance()

getSaldo()

setTransaksi(tgl, jenis)

tampilkanHasil(saldo)

Page 116: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Sequence Diagram: Mentransfer Uang sd SD4 - Mentransfer Uang

Pengguna

(from 1 Use Case Diagram)

MenuUtama MenuMentransferUang ProsesMentransferUang Account pengirim:Balance penerima:Balance Transaksi

alt saldo cukup?

[ya]

[tidak]

memil ihMentransferUang()

tampilkan()

memasukkanJumlahUang()

memasukkanAccountTujuan()

transferUang(id, jumlah)

getIDBalance()

getSaldo()

setSaldo(saldo)

setSaldo(saldo)

setTransaksi(tgl, jenis)

tampilkanUangBerhasilDikirim()

tampilkanErrorSaldoTidakCukup()

Page 117: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Sequence Diagram: Mengambil Uang sd SD5 - Mengambil Uang

Pengguna

(from 1 Use Case Diagram)

MenuUtama MenuMengambilUang ProsesMengambilUang Account Balance KotakUangTransaksi

alt saldo cukup?

[ya]

[tidak]

memil ihMengambilUang()

tampilkan()

memasukkanJumlah()

ambilUang(id, jumlah)

getIDBalance()

getSaldo()

setSaldo(saldo)

keluarkanUang(jumlah)

setTransaksi(tgl, jenis)

TampilkanUangBerhasilDiambil()

TampilkanErrorSaldoTidakCukup()

Page 118: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Sequence Diagram: Melakukan Logout sd SD6 - Melakukan Logout

Pengguna

(from 1 Use Case Diagram)

MenuUtama MenuLogout ProsesLogout KotakKuitansi KotakKartu

memil ihKeluar()

tampilkan()

logout()

keluarkanKuitansi()

keluarkanKartu()

tampilkanTelahKeluar()

Page 119: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Exercise: Sequence Diagram

1. Lihat kembali System Request, Use Case Diagram, dan Activity Diagram yang sudah anda buat

2. Lengkapi diagram tersebut dengan Sequence Diagram pada setiap Use Case yang dibuat

Page 120: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

2. Identifying the Project Size

Page 121: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Cost Schedule Performance Trade-offs

Cost

Schedule Performance

Project management involves balancing trade-offs among the three key project parameters

Project

Page 122: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Estimation Trade-offs

1. Size• Function points• Lines of code• Use case points

2. Effort• Person-months

3. Time• Hours• Months

Page 123: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Project Estimation Methods

Simply Method(Industry Standard

Percentages)

• Use the time spent for planning

• Along with industry standard percentages

• Estimate the overall time for the project

Function Point(Allen Albrecht, 1979)

• Estimate System Size (Function Point)

• Estimate Effort Required (PM)

• Estimate Time Required (M)

Use Case Point(Gustav Karner, 1993)

• Estimate System Size (Use Case Points)

• Estimate Time Required (Hours/Month)

• Estimate Effort Required (PM)

Page 124: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

1. Simply Method (Industry Standard Percentages)

1. Use the time spent for planning2. Along with industry standard

percentages3. Estimate the overall time for the

project

Page 125: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Time Estimation of SDLC (Industry Standard)

Page 126: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Time Spent for Planning Phase

We are given that

so timeOverall0.15 timePlanning

0.15

timePlanning timeOverall

Page 127: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Time Spent for Analysis Phase

We are also given that

so

timeOverall0.2 timeAnalysis

0.15

timePlanning0.2 timeAnalysis

Page 128: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Estimate the Overall Time

Planning Analysis Design Implementation

IndustryStandardFor Web 15% 20% 35% 30%Applications

EffortRequired 4 5.33 9.33 8in Person (Actual) (Estimated) (Estimated) (Estimated)

Months

Example: Analysis

33.515.0

42.0

Page 129: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

2. Function Point Approach

(Allen Albrecht, 1979)

Page 130: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

1. Function Points Estimation-- Step One

Complexity

Description Low Medium HighTotal

Inputs __x 3 __x 4 __x 6 ____

Outputs __x 4 __x 5 __x 7 ____

Queries __x 3 __x 4 __x 6 ____

Files __x 7 __x 10 __x 15 ____

Program __x 5 __x 7 __x 10 ____Interfaces

TOTAL UNADJUSTED FUNCTION POINTS ____

Page 131: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Unadjusted Function Points (TUFP)

Page 132: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Function Points Estimation-- Step Two

Scale of 1 to 3

Data Communications _____Heavy Use Configuration _____Transaction Rate _____

End-User efficiency _____

Complex Processing _____

Installation Ease _____Multiple sites _____Performance _____Distributed functions _____

On-line data entry _____

On-line update _____Reusability _____Operational Ease _____Extensibility _____

Processing Complexity (PC) _____

Page 133: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Processing Complexity (PC)

Page 134: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Function Point Estimation-- Step Three

Processing Complexity (PC): ________(From Step Two)

Adjusted Processing Complexity (PCA) = 0.65 + (0.01 * ____ )

Total Adjusted Function Points (TAFP): _____ * ____ = (From Step One)

Page 135: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Adjusted Processing Complexity

Choose standard Adjusted Project Complexity (PCA) from the range:

1. 0.65 Simple systems2. 1.0 "Normal" systems3. 1.35 Complex systems

Page 136: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Total Adjusted Function Points

Processing Complexity (PC) = 7(From Step Two)

Adjusted Processing

Complexity (PCA) = 0.65 + (0.01 * 7 ) = 0.72

Total Adjusted

Function Points (TAFP): 338 * 0.72 = 243 (From Step One)

Page 137: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Converting Function Points to Lines of Code

Source: Capers Jones, Software Productivity Research

Language LOC/Function Code Point

CCOBOLJAVAC++Turbo PascalVisual BasicPowerBuilderHTMLPackages (e.g., Access, Excel)

130110 55 50 50 30 15 1510-40

Page 138: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Lines of Codes (LOC)

Line of Codes (LOC) = TAFP * LOC/TAFP

Example:

If TAFP = 243 Then we build the software using JavaLOC = (243 * 55) = 13365 line of codes

Page 139: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

2. Estimating Effort

Effort is a function of 1. System Size2. Production Rates

amount of work per a given time unit

COCOMO model (Barry Boehm)• Converts lines of code into person months

Page 140: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

2. COCOMO Estimation Calculation

Effort = 1.4 * thousands-of- lines-of-code(in Person- Months)

Example:

If LOC = 2000 Then...Effort = (1.4 * 2) = 2.8 Person Months

If LOC = 13365 Then...Effort = (1.4 * 13.365) = 18.711 Person Months

Page 141: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

3. Estimating Schedule Time

Time = 3.0 * person-months1/3

(in Months)

Example:

If LOC = 2000 Then...Effort = (1.4 * 2) = 2.8 person-monthsTime = 3.0 * 2.8 1/3 = 4.2 month

If LOC = 13365 Then...Effort = (1.4 * 13.365) = 18.711 person-monthsTime = 3.0 * 18.711 1/3 = 7.9 month

Page 142: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Exercise: Calculate System Size using FP

1. Hitung system size secara kasar dari artikel berikut dengan menggunakan Function Point

2. TUFP dihitung dari fitur yang muncul secara explicit

3. TAFP dihitung hanya dari perkalian kompleksitas system (pilih apakah simple, average or complex)

4. Hitung effort dan schedule time

Page 143: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Exercise: Calculate System SizeImagine that job hunting has been going so well that you need to develop a system to support your efforts. The system should allow you to input information about the companies with which you interview, the interviews and office visits that you have scheduled, and the offers that you receive. It should be able to produce reports, such as a company contact list, an interview schedule, and an office visit schedule, as well as produce thank-you letters to be brought into a word processor to customize. You also need the system to answer queries, such as the number of interviews by city and your average offer amount. The system will be developed using Java.

Page 144: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Estimating Project Size withUse Case Points

Page 145: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Use Case Points

Alternative to Function Point Approach Classify actors and use cases as:

1. Simple2. Average3. Complex

(Gustav Karner, 1993)

Page 146: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Actor and Use Case Weighting Tables

Actor Type

Description Weighting Factor

Simple External System with well-defined API

1

Average

External System using a protocol-basedinterface, e.g., HTTP, TCT/IP, SQL

2

Complex

Human 3Use-Case Type

Description Weighting Factor

Simple 1-3 transactions 5

Average 4-7 transactions 10

Complex More than 7 transactions

15Unadjusted Use Case Points (UUCP) = UAW + UUCW

Unadjusted Use Case Weighting (UUCW)

Unadjusted Actor Weighting (UAW)

Page 147: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Technical Complexity FactorsFactor Number

Description Weight

T1 Distributed system 2.0

T2 Response time or throughput performance objectives

1.0

T3 End-user online efficiency 1.0

T4 Complex internal processing 1.0

T5 Reusability of code 1.0

T6 Easy to install 0.5

T7 Ease of use 0.5

T8 Portability 2.0

T9 Ease of change 1.0Technical Complexity Factor (TCF) = 0.6 + (0.01 * TFactor)

Page 148: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Environmental Compexity Factors

Factor Number

Description Weight

E1 Familiarity with system development process in use

1.5

E2 Application experience 0.5

E3 Object-oriented experience 1.0

E4 Lead analyst capability 0.5

E5 Motivation 1.0

E6 Requirements stability 2.0

E7 Part time staff -1.0

E8 Difficulty of programming language -1.0Environmental Complexity Factor (ECF) = 1.4 + (-0.03 * EFactor)

Page 149: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Computing Use Case Points

Adjusted Use Case Points (UCP) = UUCP * TCF * ECF

Effort in Person Hours = UCP * PHM

Page 150: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Person Hour Multiplier (PHM)

If the sum of (number of Efactors E1 through E6 assigned value < 3) and (number of Efactors E7 and E8 assigned value > 3) ≤ 2

PHM = 20Else If the sum of (number of Efactors E1 through E6

assigned value < 3) and (number of Efactors E7 and E8 assigned value > 3) = 3 or 4

PHM 28Else

Rethink project; it has too high of a risk for failure

Page 151: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Person Hour Multiplier (PHM)

Let F1 = Number of E1 to E6 that are < 3 Let F2 = Number of E7 and E8 that are > 3

If F1 + F2 <= 2PHM = 20

Else if F1 + F2 = 3 or 4PHM = 28

ElseScrap the project

Page 152: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Use Case Points in EA

Page 153: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.
Page 154: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Effort Estimation from Time Defined

PM = 520/8/22 = 2.95 P/MTIME = 3.0 * PM 1/3

TIME = 3.0 * 2.95 1/3

TIME = 3.0 * 1.43TIME = 4.3 month

Page 155: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Effort Estimation from Time Defined

PM = 9 P/MTIME = 3.0 * PM 1/3

TIME = 3.0 * 9 1/3

TIME = 3.0 * 2TIME = 6 month

Page 156: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Budget (Custom Software)Pekerjaan Man-Month Month Budget Total

Planning 1 1 5000.000 10.000.000

Analysis 2 1 10.000.000 20.000.000

Design 2 1 4000.000 32.000.000

Implementation 4 2 3000.000 24.000.000

Training 2 1 4000.000 8000.000

94.000.000

Page 157: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Budget (Generic Software)Product Total

LMS 10.000.000

Teleconference 2.000.000

Chatting 4.000.000

eLibrary 20.000.000

Page 158: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Tugas Selesaikan Sistem Request dan Feasilibility Analysis

untuk suatu sistem yang diperlukan di organisasi kita

Lanjutkan dengan melakukan System Analysis and Design dengan membuat:1. Use Case Diagram2. Sequence Diagram3. Activity Diagram4. Class Diagram5. Data Model6. User Interface Design (Netbeans)

Page 159: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Tugas Pahami business process dari sistem di bawah, buat use case

diagramnya:

OFFLINE ONLINE

Pilih software berdasar digit terakhir dari NIM

1. Aplikasi Manajemen Klinik2. Aplikasi Bengkel Mobil3. Aplikasi Sirkulasi Perpustakaan4. Aplikasi Pengelolaan Apotik5. Aplikasi Manajemen Sekolah SD

6. Aplikasi Penjualan Tiket Bioskop7. Aplikasi Rental Mobil Online8. Aplikasi Penjualan Laptop Online9. Aplikasi eLearning 0. Aplikasi Penjualan Tiket Kereta Online

Page 160: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Tugas Lakukan pengembangan software dengan mengikuti 10 proses

pengembangan software, untuk studi kasus di bawah:

Pilih software berdasar digit terakhir dari NIM Buat laporan lengkap pengembangan software dalam format DOC,

dengan disertai folder project netbeans, file design (.EAP), dan dumped database (.SQL)

Email to: [email protected] dengan subject email: [SE2-UNIVERSITAS] NIM - Nama

Deadline: 3 minggu Nyontek dan kerjasama = 0

1. Aplikasi Rental DVD2. Aplikasi Penjualan Tiket Bioskop3. Aplikasi Penjualan Handphone4. Aplikasi Peminjaman Komik5. Aplikasi Rental Motor

6. Aplikasi Penjualan Buku7. Aplikasi Rental Kendaraaan8. Aplikasi Registrasi Mata Kuliah 9. Aplikasi Peminjaman Buku0. Aplikasi Penjualan Tiket Kereta

Page 161: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Referensi (Foundation) Roger S. Pressman, Software Engineering: A Practitioner’s

Approach Sevent Edition, McGraw-Hill, 2009 Ian Sommerville, Software Engineering 9th Edition,

Addison-Wesley, 2010 Albert Endres dan Dieter Rombach, A Handbook of

Software and Systems Engineering, Pearson Education Limited, 2003

Yingxu Wang, Software Engineering Foundations: A Software Science Perspective, Auerbach Publications, Taylor & Francis Group, 2008

Guide to the Software Engineering Body of Knowledge 2004 Version (SWEBOK), IEEE Computer Society, http://www.swebok.org, 2004

Page 162: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Referensi (Process) Alan Dennis et al, Systems Analysis and Design with UML – 3rd

Edition, John Wiley and Sons, 2010 Dan Pilone and Russ Miles, Head First Software Development,

O’Reilly Media, 2008 Barclay and Savage, Object-Oriented Design with UML and Java,

Elsevier, 2004 Paul Kimmel, UML Demystified, McGraw-Hill, 2005 Kim Hamilton and Russell Miles, Learning UML 2.0, O'Reilly, 2006 Howard Podeswa, UML for the IT Business Analyst, Course

Technology, 2009 Deloitte, Business Process Modeling – Basic Guideline and Tips,

2008

Page 163: Software Engineering: Construction Romi Satria Wahono romi@romisatriawahono.net  +6281586220090.

Referensi (Quality Assurance) Daniel Galin, Software Quality Assurance, Addison-

Wesley, 2004 Jeff Tian, Software Quality Engineering, John Wiley &

Sons, Inc., 2005 G. Gordon Schulmeyer, Handbook of Software Quality

Assurance Fourth Edition, Artech House, 2008 Kshirasagar Naik and Priyadarshi Tripathy, Software

Testing and Quality Assurance, John Wiley & Sons, Inc., 2008