Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Cost Estimation For Component Based Fourth-generation-language Software Applications 지능형시스템 연구실 김정민.

Similar presentations


Presentation on theme: "Software Cost Estimation For Component Based Fourth-generation-language Software Applications 지능형시스템 연구실 김정민."— Presentation transcript:

1 Software Cost Estimation For Component Based Fourth-generation-language Software Applications
지능형시스템 연구실 김정민

2 Contents Introduction Overview of The Existing Models
Component-based 4GL Applications Proposed Method Empirical Validation of The Proposed Method Conclusion Proposal

3 Introduction Accurate cost estimation is important
Help to classify and priorities development projects Determine what resources to commit to the project and how well these resources will be used Assess the impact of changes and support re-planning Projects can be easier to manage and control when resources are better matched to real needs Customers expect actual development costs to be in line with estimated costs Cost estimation issues Which software cost estimation model to use? Which software size measurement to use – lines of code(LOC), function points (FP) or feature point? What is a good estimate?

4 Overview of The Existing Models
SLOC (Source lines of code) based models Calculating expected SLOC Smallest possible SLOC – a Most likely SLOC – m Largest possible SLOC – b n: total number of pieces α: the marginal cost per thousand LOC (KLOC); β: an exponent of the KLOC and gamma, γ: the additional fixed cost of the project

5 Overview of The Existing Models
FP models Measure of the amount of function provided by the software system Originally developed as an alternative to SLOC to measure productivity in the later stages of software development Provides fives categories of functions to count: external inputs, external outputs, external inquiries, external interfaces and internal files ci: list of 14 general system characteristics

6 Overview of The Existing Models
FP models General system characteristics GSC Brief Description Data communications How many communication facilities are there to aid in the transfer or exchange of information with the application or system? Distributed data processing How are distributed data and processing functions handled? Performance Was response time or throughput required by the user? Heavily used configuration How heavily used is the current hardware platform where the application will be executed? Transaction rate How frequently are transactions executed daily, weekly, monthly, etc.? On-Line data entry What percentage of the information is entered On-Line? End-user efficiency Was the application designed for end-user efficiency? On-Line update How many ILF’s are updated by On-Line transaction? Complex processing Does the application have extensive logical or mathematical processing? Reusability Was the application developed to meet one or many user’s needs? Installation ease How difficult is conversion and installation? Operational ease How effective and/or automated are start-up, back-up, and recovery procedures? Multiple sites Was the application specifically designed, developed, and supported to be installed at multiple sites for multiple organizations? Facilitate change Was the application specifically designed, developed, and supported to facilitate change?

7 Component-based 4GL Applications
Cost estimation of fourth-generation languages Fourth-generation languages Component based languages which provide a rich set of components Visual Basic, VB.Net and Visual C# User can develop an application without writing single line of code When there is no line of code, SLOC based models cannot be used FP metrics can be used but the function categories defined for FP metrics do not exactly apply on 4GL applications

8 Component-based 4GL Applications
Koten and Grey’s model for data centered 4GL The minimal set of specifications completed for a software system Entity relationship diagram (ERD) Functional hierarchy diagram (FHD): functional specifications of the system’s user-interface components The system’s database is automatically generated from the ERD User interface components: forms, reports and graphs Developers’ effort would be primarily spent performing the two tasks Creating each component by using various readymade graphical user interface items such as text boxes and combo boxes Adding code to the items This model was developed to predict the software effort only for that software where data is accessed from database to forms, reports and graphs Use Bayesian Network for cost estimation For non-database application, this model is not suitable

9 Component-based 4GL Applications
Riquelme’s model for database-oriented software Analyses the relationship between a set of metrics for 4GL programs and the maintenance time for such programs which uses SQL statements Parameters of this model NS = total number of Select instructions in the considered program. NI = total number of Insert instructions in the considered program. ND = total number of Delete instructions in the considered program. NU = total number of Update instructions in the considered program. NT = total number of used Tables in the considered program. NN = total number of Nestings in the considered program. Where = total number of Where clauses in the considered program. Suitable only for database applications

10 Component-based 4GL Applications
Morgan Peeples’s model Calculates level of effort (LOE) of a project These calculations seem very illusive because complexity of development of each and every component has been taken as equal In practice, the LOE required to develop one form will not be equal to another one as the complexity of development will vary Same is true for reports, tables and modules LOEp: the number of person days of effort it takes to develop a software application project a: the y intercept b1: the number of person days for one form F; b2: the number of person days for one report R; b3: the number of person days for one table T; b4: the number of person days for one module M

11 Proposed Method Nominal effort for a given size project
Size: units of thousands of source lines of code (KSLOC) A: Constant B: scale factor

12 Proposed Method Modern software development environments are aggregates of forms, reports, tables and modules Forms: objects for interaction or navigation by the user The 4GL tool provides templates for the developer to use. The form templates can be used as menus that move the user through the application, or for use as data entry, querying screens or other forms required for the application. A form is actually a collection of different components. Reports: objects that retrieve data from tables, to format and present that data to the user The 4GL tool provides an easy way to use interface and readymade products for the developer to tailor and create specialized reports Some reports may be simple but some may be more complicated as they need extensive coding as well as higher level complicated database queries and stored procedures

13 Proposed Method Modern software development environments are aggregates of forms, reports, tables and modules Tables: objects created to store data. The 4GL tool provides features for the developer to define and generate data definition language and create tables automatically from design models The level of complexity also varies as some table may require only a few fields, whereas other will require hundreds of fields with integrity constraints. Modules: portion of a software development application that cannot otherwise be delivered, except to be created Might be computational algorithms, transaction handling, processes and code written for different events.

14 Proposed Method Size of the software
SizeC: size of components (forms, reports and tables) Sizem: size of Modules in KSLOC SizeF: the sum of sizes of all forms SizeR: the sum of size of all reports SizeT: the sum of size of all tables in database sum of size of its components

15 Empirical Validation of The Proposed Method
We applied the proposed method on 19 projects

16 Empirical Validation of The Proposed Method
We applied the proposed method on 19 projects Result of proposed method

17 Empirical Validation of The Proposed Method
We applied the proposed method on 19 projects Result of van Koten’s method

18 Conclusion Proposed approach gave a significant level of accuracy
Further research Apply in larger projects is required It is also required to identify more components as only four structural components, that is, forms, reports, tables and modules Calibration is likely to be essential in order to improve the level of accuracy This research will be a new direction for estimating cost of software application using component-based 4GL

19 Proposal 논문의 개선(안) Cost 계산 시 고려할 factor 추가 Cost 계산 모델 수정
Component별 라인 수에 쏠림이 있는지 고려 개발에 사용된 언어도 PM 계산에 반영 Cost 계산 모델 수정 Size 계산시 요소 별 가중치 부여 Size와 PM의 관계 학습 시 다른 학습 모델 사용 고려


Download ppt "Software Cost Estimation For Component Based Fourth-generation-language Software Applications 지능형시스템 연구실 김정민."

Similar presentations


Ads by Google