TOGAF 9 Fundamental: 3. Core Concepts Romi Satria Wahono [email protected] .
Software Engineering: Construction Romi Satria Wahono [email protected] +6281586220090.
-
Upload
zackery-braggs -
Category
Documents
-
view
224 -
download
0
Transcript of Software Engineering: Construction Romi Satria Wahono [email protected] +6281586220090.
Software Engineering: Construction
Romi Satria [email protected]://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
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
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
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
Software Construction
Contents
1. Software Construction Process2. Case Study: Developing Software using UML
and Java3. Identifying the Project Size
1. Software Construction Process: Case Study
SDLC and Deliverables
Planning(System Proposal)
Analysis(System
Specification)
Design(System
Specification)
Implementation
(New System)
Planning
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
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
Business Need
Describes why the system should be built Why the project should be funded Should be clear and concise Probably not completely defined
Business Requirements
What the system will do High level explanation to the approval
committee Tell about the features and capabilities
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
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.
Special Issues
Identify special issues or constraints•Budget constraints•Deadline•Legal requirements
Elements of a System Request
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
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.
Feasibility Analysis
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?
Feasibility Analysis Template
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
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
Economic Feasibility: Should We Build It?
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
Cost-Benefit Analysis - Cash Flow
Cash Flow Plan
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
Net Present Value
395,463
03.01
201,5375
Net Present Value (NPV)
The present value of benefit less the present value of cost
NPV = PV Benefits – PV Costs
NPV Calculation
3,204,752 2,575,331
629,421
Return on Investment (ROI)
The Amount of revenue or cost savings results from a given investment
ROI = Total Benefits – Total Costs
Total Costs
ROI Calculation
2444.0
331,575,2
331,575,2752,204,3
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
Break Even Point (BEP)
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
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
Stakeholder Analysis Considers
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?
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
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.
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.
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
Analysis and Design
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)
Use Case Diagram
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
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
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>>
Use Case
A major piece of system functionality
Can extend otherUse Cases
Placed inside system boundary Labeled with descriptive
verb - noun phrase
Use Case
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
Actor
A person or anothersystem that interactswith the current system
A role, not a specific user Provides input,
receives output, or both actorActor/Role
Association Relationship
Links actor and the Use Case Shows two-way communication
• If one-way, arrows are used * is for "multiplicity of the Association"
* *
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
Include Relationship
Include one Use Case from within another
Arrow points from base Use Case to the included Use Case
include
include ManageSchedule
RecordAvailability
Generalization Relationship
A specialized Use Case to a more generalized Use Case
Arrow points from specialized to general Use Case
MakeAppointmen
t
Make OldAppointment
Use Case Diagram for Appointment System
Use Case Diagram with Specialized Actor
Extend and Include Relationships
Studi Kasus: ATM System
ATM System
ATM System
Layar
Kotak Uang Kotak Kartu
Kotak Kuitansi
Masukkan PIN:
Kotak Uang Kotak Kartu
Kotak Kuitansi
Menu Utama1. Melihat Saldo2. Mentransfer Uang3. Mengambil Uang4. Logout
Kotak Uang Kotak Kartu
Kotak Kuitansi
Menu Melihat Saldo
1. Saldo anda adalah ….
Kotak Uang Kotak Kartu
Kotak Kuitansi
Menu Mentransfer Uang
1. No Account Penerima:
Kotak Uang Kotak Kartu
Kotak Kuitansi
Menu Mentransfer Uang
1. Jumlah uang yang dikirim:
Kotak Uang Kotak Kartu
Kotak Kuitansi
Menu Mentransfer Uang
1. Uang berhasil terkirim
Kotak Uang Kotak Kartu
Kotak Kuitansi
Menu Mengambil Uang
1. Jumlah uang yang diambil:
Kotak Uang Kotak Kartu
Kotak Kuitansi
Menu Mengambil Uang
Uang berhasil diambil
Kotak Uang Kotak Kartu
Kotak Kuitansi
Use Case Diagram uc UCD - Sistem ATM
Pengguna
Sistem ATM
Memasukkan Kartu Memasukkan PIN
Mengecek Saldo
Mentransfer Uang
Mengambil UangMelakukan Logout
«include»
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»
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
Business Process Modeling
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)
Elements of an Activity DiagramGuidelines for Creating Activity
Diagrams
Business Process Modeling with Activity Diagrams
BPM With Activity Diagrams
A number of activities support a business process across several departments
Activity diagrams model the behavior in a business process
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
Object Nodes Activity and Actions usually modify objects Object nodes model these objects Objects represent a flow of information from
between activities or actions
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
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
Swimlanes The business process may be broken into persons
of responsibility Identify this with swimlanes
Activity Diagram Example
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
Business Process Modeling with BPMN
Credit Application
Purchase Request
Shipment Process of a Hardware Retailer
The Pizza Collaboration
Order Fulfillment and Procurement
Studi Kasus: ATM System
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
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
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
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
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
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
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
Business Process Realization
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)
Sequence Diagram
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
Sequence Diagram Syntax
AN ACTOR
AN OBJECT
A LIFELINE
A FOCUS OF CONTROL
A MESSAGE
OBJECT DESTRUCTION
anObject:aClass
aMessage()
x
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
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
Studi Kasus: ATM System
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()
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()
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)
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()
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()
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()
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
2. Identifying the Project Size
Cost Schedule Performance Trade-offs
Cost
Schedule Performance
Project management involves balancing trade-offs among the three key project parameters
Project
Estimation Trade-offs
1. Size• Function points• Lines of code• Use case points
2. Effort• Person-months
3. Time• Hours• Months
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)
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
Time Estimation of SDLC (Industry Standard)
Time Spent for Planning Phase
We are given that
so timeOverall0.15 timePlanning
0.15
timePlanning timeOverall
Time Spent for Analysis Phase
We are also given that
so
timeOverall0.2 timeAnalysis
0.15
timePlanning0.2 timeAnalysis
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
2. Function Point Approach
(Allen Albrecht, 1979)
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 ____
Unadjusted Function Points (TUFP)
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) _____
Processing Complexity (PC)
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)
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
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)
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
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
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
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
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
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
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.
Estimating Project Size withUse Case Points
Use Case Points
Alternative to Function Point Approach Classify actors and use cases as:
1. Simple2. Average3. Complex
(Gustav Karner, 1993)
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)
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)
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)
Computing Use Case Points
Adjusted Use Case Points (UCP) = UUCP * TCF * ECF
Effort in Person Hours = UCP * PHM
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
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
Use Case Points in EA
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
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
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
Budget (Generic Software)Product Total
LMS 10.000.000
Teleconference 2.000.000
Chatting 4.000.000
eLibrary 20.000.000
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)
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
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
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
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
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