Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering: Construction

Similar presentations


Presentation on theme: "Software Engineering: Construction"— Presentation transcript:

1 Software Engineering: Construction
Romi Satria Wahono

2 Romi Satria Wahono SD Sompok Semarang (1987) SMPN 8 Semarang (1990)
Object-Oriented Programming Romi Satria Wahono SD Sompok Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara, Magelang (1993) S1, S2 dan S3 (on-leave) Department of Computer Sciences Saitama University, Japan ( ) Research Interests: Software Engineering, Intelligent Systems Founder dan Koordinator IlmuKomputer.Com Peneliti LIPI ( ) Founder dan CEO PT Brainmatics Cipta Informatika

3 Course Contents -1- Introduction to Software Engineering
What is Software What is Software Engineering Discipline and Curriculum of Software Engineering Software Engineering Profession Profession, Ethics and Certification Software Industry and Market Internet Business Model and Trends

4 Course Contents -2- Software Engineering Process Software Construction
Software Development Life Cycle (SDLC) Software Development Methodologies Software Development Notation (UML) and Tools Object-Oriented Paradigm Software Construction Software Construction Process: Case Study Estimating the Size of Software Project

5 Course Contents -3- Software Quality Assurance
The Uniqueness of Software Quality Assurance What is Software Quality Software Quality Factor Software Testing Software Engineering Research Computing Research Methodology Research Trends in Software Engineering Case Study: Developing Research Proposal in Software Engineering Field

6 Software Construction

7 Contents Software Construction Process
Case Study: Developing Software using UML and Java Identifying the Project Size

8 1. Software Construction Process: Case Study

9 SDLC and Deliverables Planning Analysis (System Specification)
Object-Oriented Programming SDLC and Deliverables Planning (System Proposal) Analysis (System Specification) Design (System Specification) Implementation (New System)

10 Planning

11 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

12 Elements of a System Request
Project Name The name of project Project sponsor Primary point of contact for the project Business need Reason prompting the project Business requirements Business capabilities the system will need to have Business value Benefits the organization can expect from the project Special issues Anything else that should be considered

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

14 Business Requirements
What the system will do High level explanation to the approval committee Tell about the features and capabilities

15 Business Value Tangible value Intangible 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

16 Exercise: Identify Tangible and Intangible Value
Dominion 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.

17 Identify special issues or constraints
Budget constraints Deadline Legal requirements

18 Elements of a System Request

19 Exercise: Membuat System Request
Lihat contoh System Request untuk Internet Order Project Pikirkan suatu sistem* yang saat ini dibutuhkan oleh perusahaan atau organisasi anda Buat System Request dari sistem tersebut * System request yang anda buat akan menjadi studi kasus dari pembelajaran kita selama course berlangsung

20 System Request—Internet order project
Project sponsor: Margaret Mooney, Vice President of Marketing Business 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: Search through the CD Selections’ inventory of products Identify the retail stores that have the product in stock Put a product on hold at a retail store and schedule a time to pick up the product Place an order for products not currently in stock or not carried by CD Selections 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: $750,000 in sales from new customers $1,875,000 in sales from existing customers $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.

21 Feasibility Analysis

22 Feasibility Analysis Detailing Expected Costs and Benefits
Technical feasibility Can we build it? Economic feasibility Should we build it? Organizational feasibility If we build it, will they come?

23 Feasibility Analysis Template

24 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

25 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

26 Economic Feasibility: Should We Build It?

27 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

28 Cost-Benefit Analysis - Cash Flow

29 Cash Flow Plan

30 Present Value (PV) PV = Amount (1 + Interest Rate)n
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

31 Net Present Value

32 Net Present Value (NPV)
The present value of benefit less the present value of cost NPV = PV Benefits – PV Costs

33 NPV Calculation

34 Return on Investment (ROI)
The Amount of revenue or cost savings results from a given investment ROI = Total Benefits – Total Costs Total Costs

35 ROI Calculation

36 Yearly NPV* – Cumulative NPV
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

37 Break Even Point (BEP)

38 Organizational Feasibility If 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

39 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

40 Stakeholder Analysis Considers

41 Feasibility Analysis Template
Technical Feasibility: Can We Build It? Familiarity with Application: Less familiarity generates more risk Familiarity with Technology: Less familiarity generates more risk Project Size: Large projects have more risk 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? Development costs Annual operating costs Annual benefits (cost savings and revenues) Intangible costs and benefits Organizational Feasibility: If We Build It, Will They Come? Project champion(s) Senior management Users Other stakeholders Is the project strategically aligned with the business?

42 Exercise: Membuat Feasibility Analysis
Lihat contoh Feasibility Analysis untuk Internet Order Project Perhatikan kembali System Request yang sebelumnya sudah kita buat Buat Feasibility Analysis dari system yang akan kita buat tersebut

43 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.

44 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.

45 2003 2004 2005 Total Increased sales from new customers 750,000 772,500 Increased sales from existing customers 1,875,000 1,931,250 Reduction in customer complaint calls 50,000 Total Benefits: 2,675,000 2,753,750 PV of Benefits: 2,521,444 2,520,071 5,041,515 PV of All Benefits: Labor: Analysis, Design and Implementation 162,000 Consultant Fees Office Space and Equipment 7,000 Software and Hardware 35,000 Total Development Costs: 254,000 Labor: Webmaster 85,000 87,550 90,177 Labor: Network Technician 60,000 61,800 63,654 Labor: Computer Operations 51,500 53,045 Labor: Business Manager 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 Hardware upgrades 5,000 3,000 User training 2,000 Communications charges 20,000 Marketing expenses 25,000 Total Operational Costs: 446,000 452,700 464,751 Total Costs: 700,000 PV of Costs: 679,612 426,713 425,313 1,531,638 PV of all Costs: 1,106,325 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: 1,415,119 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

46 Analysis and Design

47 System Analysis and Design with UML
Business Process Identification Use Case Diagram Business Process Modeling Activity Diagram or Business Process Modeling Notation (BPMN) Business Process Realization Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity) System Design Program Design Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun) Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E) Deployment Diagram (arsitektur software dari sistem yang dibangun) User Interface Design (Buat UI design dari Boundary Class) Entity-Relationship Model (Buat ER diagram dari Entity Class)

48 Use Case Diagram

49 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

50 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

51 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 <<includes>> <<extends>>

52 Use Case Use Case A major piece of system functionality
Can extend other Use Cases Placed inside system boundary Labeled with descriptive verb - noun phrase Use Case

53 System Boundary Boundary
Includes the name of the system inside or on top Represents the scope of the system Actors are outside the scope of the system Boundary

54 Actor A person or another system that interacts with the current system A role, not a specific user Provides input, receives output, or both actor Actor/Role

55 Association Relationship
Links actor and the Use Case Shows two-way communication If one-way, arrows are used * is for "multiplicity of the Association" * *

56 extend Extends Relationship
Extends Use Case to include Optional behavior Arrow points from the extension Use Case to the base Use Case extend Make Pmt Arrangements extend Make Appointment

57 include Include Relationship
Include one Use Case from within another Arrow points from base Use Case to the included Use Case include Record Availability include Manage Schedule

58 Generalization Relationship
A specialized Use Case to a more generalized Use Case Arrow points from specialized to general Use Case Make Old Appointment Make Appointment

59 Use Case Diagram for Appointment System

60 Use Case Diagram with Specialized Actor

61 Extend and Include Relationships

62 Studi Kasus: ATM System

63 ATM System

64 ATM System Layar Kotak Uang Kotak Kartu Kotak Kuitansi
Object-Oriented Programming ATM System Layar Kotak Uang Kotak Kartu Kotak Kuitansi

65 Masukkan PIN: Kotak Uang Kotak Kartu Kotak Kuitansi
Object-Oriented Programming Masukkan PIN: Kotak Uang Kotak Kartu Kotak Kuitansi

66 Menu Utama Melihat Saldo Mentransfer Uang Mengambil Uang Logout
Object-Oriented Programming Menu Utama Melihat Saldo Mentransfer Uang Mengambil Uang Logout Kotak Uang Kotak Kartu Kotak Kuitansi

67 Saldo anda adalah …. Menu Melihat Saldo Kotak Uang Kotak Kartu
Object-Oriented Programming Menu Melihat Saldo Saldo anda adalah …. Kotak Uang Kotak Kartu Kotak Kuitansi

68 No Account Penerima: Menu Mentransfer Uang Kotak Uang Kotak Kartu
Object-Oriented Programming Menu Mentransfer Uang No Account Penerima: Kotak Uang Kotak Kartu Kotak Kuitansi

69 Jumlah uang yang dikirim:
Object-Oriented Programming Menu Mentransfer Uang Jumlah uang yang dikirim: Kotak Uang Kotak Kartu Kotak Kuitansi

70 Uang berhasil terkirim
Object-Oriented Programming Menu Mentransfer Uang Uang berhasil terkirim Kotak Uang Kotak Kartu Kotak Kuitansi

71 Jumlah uang yang diambil:
Object-Oriented Programming Menu Mengambil Uang Jumlah uang yang diambil: Kotak Uang Kotak Kartu Kotak Kuitansi

72 Uang berhasil diambil Menu Mengambil Uang Kotak Uang Kotak Kartu
Object-Oriented Programming Menu Mengambil Uang Uang berhasil diambil Kotak Uang Kotak Kartu Kotak Kuitansi

73 Use Case Diagram

74 Use Case Diagram (Alternatif)

75 Exercise: Business Process Identification
Lihat kembali System Request yang sudah anda buat Lakukan business process identification dengan membuatkan Use Case Diagram untuk System Request tersebut

76 Business Process Modeling
Object-Oriented Programming Business Process Modeling

77 System Analysis and Design with UML
Business Process Identification Use Case Diagram Business Process Modeling Activity Diagram or Business Process Modeling Notation (BPMN) Business Process Realization Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity) System Design Program Design Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun) Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E) Deployment Diagram (arsitektur software dari sistem yang dibangun) User Interface Design (Buat UI design dari Boundary Class) Entity-Relationship Model (Buat ER diagram dari Entity Class)

78 Business Process Modeling with Activity Diagrams
Elements of an Activity Diagram Guidelines for Creating Activity Diagrams

79 BPM With Activity Diagrams
A number of activities support a business process across several departments Activity diagrams model the behavior in a business process

80 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

81 Object Nodes Activity and Actions usually modify objects
Object nodes model these objects Objects represent a flow of information from between activities or actions

82 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

83 Control Nodes Initial – Only one, at top left
Final Activity – Stop the process Final Flow – Stop this flow only Decision – Guarded test conditions Merge – Following decisions Fork – Split parallel execution Join – Join parallel execution

84 Swimlanes The business process may be broken into persons of responsibility Identify this with swimlanes

85 Activity Diagram Example

86 Creating Activity Diagrams
Set the context or scope of the activity being modeled Identify the activities and control/object flows between activities Identify any decisions made Look for opportunities for parallelism Draw the diagram

87 Business Process Modeling with BPMN

88

89

90

91

92 Credit Application

93 Purchase Request

94 Shipment Process of a Hardware Retailer

95 The Pizza Collaboration

96 Order Fulfillment and Procurement

97 Studi Kasus: ATM System

98 Activity Diagram: Memasukkan Kartu

99 Activity Diagram: Memasukkan PIN

100 Activity Diagram: Mengecek Saldo

101 Activity Diagram: Mentransfer Uang

102 Activity Diagram: Mengambil Uang

103 Activity Diagram: Melakukan Logout

104 Exercise: Business Process Modeling
Lihat kembali System Request yang sudah anda buat Lakukan business process modeling dengan membuatkan Activity Diagram untuk System Request tersebut

105 Business Process Realization
Object-Oriented Programming Business Process Realization

106 System Analysis and Design with UML
Business Process Identification Use Case Diagram Business Process Modeling Activity Diagram or Business Process Modeling Notation (BPMN) Business Process Realization Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity) System Design Program Design Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun) Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E) Deployment Diagram (arsitektur software dari sistem yang dibangun) User Interface Design (Buat UI design dari Boundary Class) Entity-Relationship Model (Buat ER diagram dari Entity Class)

107 Sequence Diagram

108 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

109 Sequence Diagram Syntax
AN ACTOR AN OBJECT A LIFELINE A FOCUS OF CONTROL A MESSAGE OBJECT DESTRUCTION anObject:aClass aMessage() x

110 Sequence Diagram Susun Sequence Diagram untuk setiap Use Case yang dibuat 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

111 Jenis Class Boundary Class: Control Class: Entity Class:
Class yang berinteraksi dengan aktor langsung (user interface) Form, input, UI ini masuk di sini Control Class: Class yang berhubungan dengan pemrosesan, penghitungan, kalkulasi, komputasi, query, dst Entity Class: Class yang berhubungan dengan data, penyimpanan data/file

112 Studi Kasus: ATM System

113 Sequence Diagram: Memasukkan Kartu

114 Sequence Diagram: Memasukkan PIN

115 Sequence Diagram: Mengecek Saldo

116 Sequence Diagram: Mentransfer Uang

117 Sequence Diagram: Mengambil Uang

118 Sequence Diagram: Melakukan Logout

119 Exercise: Sequence Diagram
Lihat kembali System Request, Use Case Diagram, dan Activity Diagram yang sudah anda buat Lengkapi diagram tersebut dengan Sequence Diagram pada setiap Use Case yang dibuat

120 2. Identifying the Project Size

121 Cost Schedule Performance Trade-offs
Project management involves balancing trade-offs among the three key project parameters Cost Project Schedule Performance

122 Estimation Trade-offs
Size Function points Lines of code Use case points Effort Person-months Time Hours Months

123 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)

124 1. Simply Method (Industry Standard Percentages)
Use the time spent for planning Along with industry standard percentages Estimate the overall time for the project

125 Time Estimation of SDLC (Industry Standard)

126 Time Spent for Planning Phase
We are given that so

127 Time Spent for Analysis Phase
We are also given that so

128 Estimate the Overall Time
Planning Analysis Design Implementation Industry Standard For Web 15% % % % Applications Effort Required in Person (Actual) (Estimated) (Estimated) (Estimated) Months Example: Analysis

129 2. Function Point Approach
(Allen Albrecht, 1979)

130 1. Function Points Estimation -- Step One
Complexity Description Low Medium High Total 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 ____

131 Unadjusted Function Points (TUFP)

132 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) _____

133 Processing Complexity (PC)

134 Function Point Estimation -- Step Three
Processing Complexity (PC): ________ (From Step Two) Adjusted Processing Complexity (PCA) = (0.01 * ____ ) Total Adjusted Function Points (TAFP): _____ * ____ = (From Step One)

135 Adjusted Processing Complexity
Choose standard Adjusted Project Complexity (PCA) from the range: Simple systems 1.0 "Normal" systems Complex systems

136 Total Adjusted Function Points
Processing Complexity (PC) = 7 (From Step Two) Adjusted Processing Complexity (PCA) = (0.01 * 7 ) = 0.72 Total Adjusted Function Points (TAFP): 338 * = 243 (From Step One)

137 Converting Function Points to Lines of Code
Language LOC/Function Code Point C COBOL JAVA C++ Turbo Pascal Visual Basic PowerBuilder HTML Packages (e.g., Access, Excel) 130 110 55 50 30 15 10-40 Source: Capers Jones, Software Productivity Research

138 Lines of Codes (LOC) Line of Codes (LOC) = TAFP * LOC/TAFP Example:
If TAFP = 243 Then we build the software using Java LOC = (243 * 55) = line of codes

139 COCOMO model (Barry Boehm)
2. Estimating Effort Effort is a function of System Size Production Rates amount of work per a given time unit COCOMO model (Barry Boehm) Converts lines of code into person months

140 2. COCOMO Estimation Calculation
Effort = 1.4 * thousands-of- lines-of-code (in Person- Months) Example: If LOC = 2000 Then... Effort = (1.4 * 2) = Person Months If LOC = Then... Effort = (1.4 * ) = Person Months

141 3. Estimating Schedule Time
Time = * person-months1/3 (in Months) Example: If LOC = 2000 Then... Effort = (1.4 * 2) = person-months Time = * 2.8 1/3 = month If LOC = Then... Effort = (1.4 * ) = person-months Time = 3.0 * /3 = month

142 Exercise: Calculate System Size using FP
Hitung system size secara kasar dari artikel berikut dengan menggunakan Function Point TUFP dihitung dari fitur yang muncul secara explicit TAFP dihitung hanya dari perkalian kompleksitas system (pilih apakah simple, average or complex) Hitung effort dan schedule time

143 Exercise: Calculate System Size
Imagine 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.

144 Estimating Project Size with Use Case Points

145 Alternative to Function Point Approach
Use Case Points Alternative to Function Point Approach Classify actors and use cases as: Simple Average Complex (Gustav Karner, 1993)

146 Actor and Use Case Weighting Tables
Unadjusted Actor Weighting (UAW) Actor Type Description Weighting Factor Simple External System with well-defined API 1 Average External System using a protocol-based interface, e.g., HTTP, TCT/IP, SQL 2 Complex Human 3 Unadjusted Use Case Weighting (UUCW) Use-Case Type Description Weighting Factor Simple 1-3 transactions 5 Average 4-7 transactions 10 Complex More than 7 transactions 15 Unadjusted Use Case Points (UUCP) = UAW + UUCW

147 Technical Complexity Factors
Factor Number Description Weight T1 Distributed system 2.0 T2 Response time or throughput performance objectives 1.0 T3 End-user online efficiency T4 Complex internal processing T5 Reusability of code T6 Easy to install 0.5 T7 Ease of use T8 Portability T9 Ease of change Technical Complexity Factor (TCF) = (0.01 * TFactor)

148 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 E5 Motivation E6 Requirements stability 2.0 E7 Part time staff -1.0 E8 Difficulty of programming language Environmental Complexity Factor (ECF) = (-0.03 * EFactor)

149 Computing Use Case Points
Adjusted Use Case Points (UCP) = UUCP * TCF * ECF Effort in Person Hours = UCP * PHM

150 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 = 20 Else 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 28 Else Rethink project; it has too high of a risk for failure

151 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 <= 2 PHM = 20 Else if F1 + F2 = 3 or 4 PHM = 28 Else Scrap the project

152 Use Case Points in EA

153

154 Effort Estimation from Time Defined
PM = 520/8/22 = 2.95 P/M TIME = 3.0 * PM 1/3 TIME = 3.0 * /3 TIME = 3.0 * 1.43 TIME = 4.3 month

155 Effort Estimation from Time Defined
PM = 9 P/M TIME = 3.0 * PM 1/3 TIME = 3.0 * 9 1/3 TIME = 3.0 * 2 TIME = 6 month

156 Budget (Custom Software)
Pekerjaan Man-Month Month Budget Total Planning 1 Analysis 2 Design Implementation 4 Training

157 Budget (Generic Software)
Product Total LMS Teleconference Chatting eLibrary

158 Tugas Selesaikan Sistem Request dan Feasilibility Analysis untuk suatu sistem yang diperlukan di organisasi kita Lanjutkan dengan melakukan System Analysis and Design dengan membuat: Use Case Diagram Sequence Diagram Activity Diagram Class Diagram Data Model User Interface Design (Netbeans)

159 Tugas Pahami business process dari sistem di bawah, buat use case diagramnya: OFFLINE ONLINE Pilih software berdasar digit terakhir dari NIM Aplikasi Manajemen Klinik Aplikasi Bengkel Mobil Aplikasi Sirkulasi Perpustakaan Aplikasi Pengelolaan Apotik Aplikasi Manajemen Sekolah SD Aplikasi Penjualan Tiket Bioskop Aplikasi Rental Mobil Online Aplikasi Penjualan Laptop Online Aplikasi eLearning 0. Aplikasi Penjualan Tiket Kereta Online

160 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) to: dengan subject [SE2-UNIVERSITAS] NIM - Nama Deadline: 3 minggu Nyontek dan kerjasama = 0 Aplikasi Rental DVD Aplikasi Penjualan Tiket Bioskop Aplikasi Penjualan Handphone Aplikasi Peminjaman Komik Aplikasi Rental Motor Aplikasi Penjualan Buku Aplikasi Rental Kendaraaan Aplikasi Registrasi Mata Kuliah Aplikasi Peminjaman Buku 0. Aplikasi Penjualan Tiket Kereta

161 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,

162 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

163 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


Download ppt "Software Engineering: Construction"

Similar presentations


Ads by Google