23
Software Economics Homework I Function Point Analysis and Effort Estimation of Web application plancake.com Kaupo Kuresson Bogdan Semiltko Anna Agafonova Risto Saar 1

Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Software Economics Homework I

Function Point Analysis and Effort Estimationof

Web application plancake.com

Kaupo KuressonBogdan SemiltkoAnna Agafonova

Risto Saar

1

Page 2: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Application Overview

Plancake (http://www.plancake.com) is an online task list management service. It allows usersto add new tasks, set tags and due dates for tasks, classify them into lists. Plancake displays anoverview of pending tasks, provides options to search tasks and change task statuses.

Scope

This document focuses on the Plancake web user interface. Plancake smartphone client andPlancake offline mode are not included in the scope for simplicity reasons.

Boundaries

Outside Inside

Account can be tied to a Google accountGmail integrationNewsIntro video on YouTubePaypal payment

Create accountLoginReset passwordSearch for tasksCreate taskUpdate taskView taskDelete taskCreate/Update/View/Delete ListCreate/Update/View/Delete TagCreate/Update/View/Delete NoteSend feedback/Ask for helpView guideView features / servicesView/change settingsExport data as XML/Import XML

2

Page 3: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Assumptions

The company wants to provide an online service for to­do list management and GTD(Getting things done)

Development team consists of the students that are doing this analysis. Agile life cycle development model is used. Some members have experience with developing similar applications. Company uses Paypal to verify and process the customer payment. Data model based on open­source code.

Data Model

The product’s main entities are User, List and Task. All the functionality is built around these 3main entities with a high number of references.

3

Page 4: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Functional Point Analysis

Transaction Type DETs FTRs Complexity FPs

Account Create account EI 6 1 Low 3

Delete account EI 3 6 Average 3

Authentication Logging in EQ 5 1 Low 3

Logging in withGoogle account

EQ 3 1 Low 3

Resetting password EQ 2 1 Low 3

Tags Add tag EI 2 1 Low 3

Edit tag EI 2 1 Low 3

Delete tag EI 1 1 Low 3

Lists Add list EI 3 1 Low 3

Edit list EI 3 1 Low 3

Delete list EI 1 1 Low 3

Tasks Add task via GUI EI 9 4 High 6

Add task viaCommand line

EI 5 4 High 6

Mark task completed EI 1 1 Low 3

Star a task EI 1 1 Low 3

Edit task EI 9 4 High 6

Delete task EI 1 2 Low 3

Filter tasks EQ 9 4 High 6

Feedback /Help

Send feedback EI 2 1 Low 3

Notebook Add note EI 19 1 Average 4

Edit note EI 19 1 Average 4

Delete note EI 1 1 Low 3

Settings Select date format EI 2 1 Low 3

Select time format EI 2 1 Low 3

Select time zone EI 3 1 Low 3

Select first day ofthe week

EI 2 1 Low 3

Select language EI 2 1 Low 3

Upload avatar EI 2 1 Low 3

4

Page 5: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Change password EI 3 1 Low 3

Change E­Mail EI 3 1 Low 3

Set reminders EI 2 1 Low 3

Upgrade account EI 3 1 Low 3

Backup data EQ 5+ 6 High 6

Import data EI 5+ 6 High 6

Change backgroundcolor

EI 2 1 Low 3

File Type DETs RETs Complexity FPs

User + settings ILF 14 2 Low 7

Google login data EIF <19 <5 Low 5

Tasks ILF 12 1 Low 7

Tags ILF 5 1 Low 7

Lists ILF 7 1 Low 7

Notes ILF 4 1 Low 7

Repetition ILF 9 1 Low 7

Subscription ILF 4 1 Low 7

Total FPs 179

EI ­ External Input, EQ ­ External Inquiry, EO ­ External Output, ILF ­ Internal Logical Files, EIF ­External Interface Files

Identified DETs, RETs and FTRs are added to the appendix.

Cost estimate

Software scale drivers

PREC Precedentedness ­ Very High

Organizational understanding of productobjectives

Thorough

Experience in working with related softwaresystems

Considerable

5

Page 6: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Concurrent development of associated newhardware and operational procedures

Moderate

Need for innovative data processingarchitectures, algorithms

Minimal

FLEX Flexibility ­ High

Need for software conformance with pre­established requirements

Considerable

Need for software conformance with externalinterface specifications

Considerable

Combination of inflexibilities above withpremium on early completion

Low

Architecture / Risk Resolution ­ Nominal

Risk Management Plan identifies all critical risk items, establishes milestones for resolving them by PDR or LCA.

Some

Schedule, budget, and internal milestones through PDR or LCA compatible with Risk Management Plan.

Some

Percent of development schedule devoted toestablishing architecture, given general product objectives.

20

Percent of required top software architects available to project.

20

Tool support available for resolving risk items,developing and verifying architectural specs.

Good

Level of uncertainty in key architecture drivers: mission, user interface, COTS, hardware, technology, performance.

Little

Number and criticality of risk items. 2­4 Critical

6

Page 7: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Team cohesion ­ High

Consistency of stakeholder objectives andcultures

Strong

Ability, willingness of stakeholders toaccommodate other stakeholders’ objectives

Strong

Experience of stakeholders in operating as ateam

Little

Stakeholder team­building to achieve sharedvision and commitments

Basic

Process maturity ­ High (EPML = 2,8)

Requirements Management Frequently

Software Project Planning Frequently

Software Project Tracking and Oversight Frequently

Software Subcontract Management Does not apply

Software Quality Assurance (SQA) Frequently

Software Configuration Management (SCM) Frequently

Organization Process Focus Occasionally

Organization Process Definition Occasionally

Training Program Frequently

Integrated Software Management Occasionally

Software Product Engineering About half

Intergroup Coordination Frequently

Peer Reviews Frequently

Quantitative Process Management About half

Software Quality Management About half

Defect Prevention Frequently

7

Page 8: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Technology Change Management Occasionally

Process Change Management Occasionally

Software cost drivers

Required Software Reliability ­ Very Low

Slight inconvenience.

Database size ­ Low

Amount of test data needed is very small compared to amount of SLOC of the application.

Product Complexity ­ Low

Control Operations Mostly simple nesting. Some intermodule control. Simplecallbacks or message passing, includingmiddleware­supported distributed processing.

Nominal

Computational Operations Evaluation of simple expressions. VeryLow

Device­dependentOperations

No cognizance needed of particular processor or I/Odevice characteristics. I/O done at GET/PUT level.

Low

Data ManagementOperations

Simple triggers activated by data stream contents.Complex data restructuring. Search optimization.

High

User InterfaceManagement Operations

Use of simple graphic user interface (GUI) builders (JqueryUI ).

Low

Developed for Reusability ­ Low

PHP framework “symfony” is used.

Documentation Match to Life­Cycle Needs ­ Very Low

Most life­cycles are uncovered. Partial documentation is provided through the code by usingmeaningful variable and method names, and code blocks comments.

Analyst capability ­ Nominal

8

Page 9: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Analysis and design ability 70%

Efficiency and thoroughness 70%

Ability to communicate and cooperate 50%

Programmer capability ­ High

Programming ability 80%

Efficiency and thoroughness 80%

Ability to communicate and cooperate 60%

Personnel continuity ­ High

Low turnover. Single development project team.

Platform Experience ­ High

The workload is divided by team member roles ( GUI & backend ). Frameworks are used on bothends ( Jquery & symfony, respectively ). Every developer is a specialist of the used framework.

Language and toolset Experience ­ High

3­4 years experience.

Applications Experience ­ Nominal

Aggregate team experience. Some team members have experience with developing timemanagement / planning applications.

Execution Time Constraint ­ Nominal

Application is intended to use ≤ 50% of available execution time.

Storage Constraint ­ Nominal

Application uses ≤ 50% of available storage. Relational database is the main storage consumer.

Platform Volatility ­ High

9

Page 10: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Major change every two months, minor change every week.

Use of software tools ­ Very High

General use of advanced tools such as full programming support library with configuration management aids, integrated documentation system, project control system, extended design tools, automated verification system.

Multisite development ­ High

Team is located in the same city, but not in the same building or complex.

Required development schedule ­ Nominal

No stretch­out or acceleration.

Results10

Page 11: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Software Development (Elaboration and Construction)

Software Labor Rates ­ $3500 per Person­MonthEffort = 8.4 Person­monthsSchedule = 7.4 MonthsCost = $29472Total Equivalent Size = 9540 SLOC

Acquisition Phase Distribution

Phase Effort(Person­months)

Schedule(Months)

AverageStaff

Cost(Dollars)

Inception 0.5 0.9 0.5 $1768

Elaboration 2.0 2.8 0.7 $7074

Construction 6.4 4.6 1.4 $22399

Transition 1.0 0.9 1.1 $3537

Project is too small to display a staffing profile due to truncation.

Software Effort Distribution for RUP/MBASE (Person­Months)

Phase/Activity Inception Elaboration Construction Transition

Management 0.1 0.2 0.6 0.1

Environment/CM 0.1 0.2 0.3 0.1

Requirements 0.2 0.4 0.5 0.0

Design 0.1 0.7 1.0 0.0

Implementation 0.0 0.3 2.2 0.2

Assessment 0.0 0.2 1.5 0.2

Deployment 0.0 0.1 0.2 0.3

Assuming 4 person development team, consisting of 2 backend PHP engineers and 1 front­endHTML / Jquery engineer, which all work in parallel ; additionally “as needed” database specialistand tester. Thus the project is easily doable in calculated timeframe (~ 4­5 months).

11

Page 12: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Appendix

Account ­ Create account

External Input ­ E­mail address and password are fed into the system by a user and are storedinto the database separate from the application.

Account ­ Delete accountExternal Input ­ When deleting an account, data is changed(removed in this instance) from thesystem.

6 RETs, 6 FTRs ­ Deleting an account also deletes all the associated data (tasks, lists, tags,notes, settings).Authentication ­ Logging in

12

Page 13: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

External Inquiry ­ User inserted email and password (input) are compared to the data stored intothe database and the user is presented with either a successful login screen or an errormessage screen telling the user that the login has failed. (output)

Authentication ­ Resetting password

External Inquiry ­ User inserts an e­mail address (input) to which, if the address exists, an e­mailwill be sent (output). No data is changed during this process.

13

Page 14: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Tags ­ Add tag

External Input ­ User inserts a name for the tag. When clicking ‘save’, a new record is stored intothe database.

Tags ­ Edit tagExternal Input ­ User inserts a new name for the tag. When clicking ‘save’, the record is updatedin the database.

Tags ­ Delete tagExternal Input ­ User deletes a tag. Data is changed(removed) from the database.

14

Page 15: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Lists ­ Add listExternal Input ­ User inserts a new name for the list. Also he might make this an header list.When clicking ‘save’, a new record is stored in the database.

Lists ­ Edit listExternal Input ­ User inserts a new name for the list. When clicking ‘save’, the record is updatedin the database.

Lists ­ Delete listExternal Input ­ User deletes a list. Data is changed(removed) from the database.

15

Page 16: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Tasks ­ Add task via GUIExternal Input ­ User inserts data for the task. When clicking ‘save’, a record is stored into thedatabase.

4 RETs, 4 FTRs ­ Tasks, Repetition, Tags, Lists

Tasks ­ Add task via Command lineExternal Input ­ User inserts a name and additional parameters for the task. When pressingEnter, a new record is stored into the database.

4 RETs, 4 FTRs ­ Tasks, Repetition, Tags, Lists

16

Page 17: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Tasks ­ Mark task completedExternal Input ­ User marks the task completed. The task record is updated in the database.

Tasks ­ Favorite a taskExternal Input ­ User marks the task as favorite. The task record is updated in the database.

Tasks ­ Edit taskExternal Input ­ User edits the task and changes parameters.When hitting save, the task recordis updated in the database.

4 RETs, 4 FTRs ­ Tasks, Repetition, Tags, Lists

17

Page 18: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Tasks ­ Delete taskExternal Input ­ User deletes the task.When hitting delete, the task record is changed(removed)in the database.

2 RETs, 2 FTRs ­ Tasks, Repetition

Tasks ­ Filter tasksExternal Inquiry ­ User can search for tasks based on completion, starring and date. No data ischanged during this process.

Notebook ­ Add/edit noteExternal Input ­ User creates/edits the note and changes formatting.When hitting save, (or byautosave function) the note record is inserted / updated in the database.

18

Page 19: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Notebook ­ Delete noteExternal Input ­ User deletes the note, the note record is deleted from the database.

Feedback / Help ­ Send feedbackExternal Input ­ User writes a feedback text and when hitting send message, a message is sent.(a record is created)

Settings ­ Select date formatExternal Input ­ User edits the date format. User settings record is updated.

Settings ­ Select time formatExternal Input ­ User edits the timeformat. User settings record is updated.

19

Page 20: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Settings ­ Select first day of the weekExternal Input ­ User selects first day of the week. User settings record is updated.

Settings ­ Select time zoneExternal Input ­ User edits the time zone. User settings record is updated.

Settings ­ Select languageExternal Input ­ User selects language. User settings record is updated.

Settings ­ Upload avatarExternal Input ­ User updates his or her avatar. User settings record is updated.

20

Page 21: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Settings ­ Change passwordExternal Input ­ User changes password. User settings record is updated.

Settings ­ Change E­MailExternal Input ­ User edits changes e­mail address. User settings record is updated.

Settings ­ Set remindersExternal Input ­ User sets reminders. User settings record is updated.

21

Page 22: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Settings ­ Upgrade accountExternal Input ­ User upgrades his or her account. User settings record is updated.

Settings ­ Backup dataExternal Inquiry­ User backs up data. XML file is exported, but no new data is derived. Doesn’tcontain any formulas.

22

Page 23: Software Economics Homework I - ut...Percent of required top software architects available to project. 20 Tool support available for resolving risk items, developing and verifying

Settings ­ Import dataExternal Input ­ User imports data from XML file. Data is saved to database.

Settings ­ Change background colorExternal Input ­ User changes background color of the application. User settings record isupdated.

23