Estimating The Cost Of New Systems Information Technology Essay

5038 words (20 pages) Essay

1st Jan 1970 Information Technology Reference this

Disclaimer: This work has been submitted by a university student. This is not an example of the work produced by our Essay Writing Service. You can view samples of our professional work here.

Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of UKEssays.com.

The objective of this coursework is to provide a software cost and estimation of the new system that is requested by the project manager of the following scenario. This document shall supply the necessary information that is required to make the desired product which is an enhanced website of the company, it will show the Function Point Analysis supported with a Line of Codes (LOC), a Risk Analysis report to show how the new product would affect the current system, and a Gantt chart where each member has their own assigned task that must completed before or at the day of the deadline.

Get Help With Your Essay

If you need assistance with writing your essay, our professional essay writing service is here to help!

Find out more

Travel Reservations and Automated Itinerary Navigator (TRAIN)

GoForIt Ltd is a rapidly growing travel company that has become a market leader in medium and long-distance national and international rail travel across northern Europe. Due to their success, GoForIt is seeking further improvements in their business by means of enhancing their web sit by offering comprehensive timetabling and ticket information facility for an on-line booking / reservation.

GoForIt Ltd operates a large fleet of trains with an extensive timetable for many journeys each day. It is important that a customer is notified of seat availability or unavailability on any given scheduled train, to their chosen destination on their requested dates and times, while on-line, and within an acceptably short response time. To satisfy this requirement, TRAIN requires the integration of two other systems, The Train Integrated Engineering System (TIES) and The Seat Enquiries and Assignment of Tickets System (SEATS). TIES hold information on the operational status of each physical train (locomotive carriages). SEATS are used for ticketing and seat reservations. Both are located centrally at the head office in Manchester, England.

The client should be able, on one page or form, to specify their train travel requirements including date, destination, preferred departure station and preferred seat place (including front/back of the train and forward/backward facing). This information is then used to check seat availability on the SEATS database and to verify train data from the TIES database.

Once a user has submitted their travel requirements, TRAIN should respond by presenting information including the availability or unavailability on the date of economy and business class tickets. Payments by credit card for seat bookings, using the Credit Online Invoices with Network Security (COINS) system, are to be incorporated into the design of this internet-based ticketing system. COINS are an existing package that GoForIt Ltd commissioned before the start of the TRAIN project.

At intervals TRAIN will provide a detailed report of customer profiles. This will consist of how many users have accessed the website, and what travel requirements they have selected (including class of travel and connecting train/ travel information).

Part 1: Software Cost and Timescale Estimation [30%]

You are to take on the role of the project manager at TRACER for developing a Reservation system. You are to prepare a series of reports for your manager at TRACER. Each of these reports will reflect different information needed by your manager. This process reflects how project plans evolve and develop over time prior to be submitted a final proposal to the customer.

Your Task:

For this assignment you should use the standard Function Point (FP) Analysis learnt from this course and explained in the recommended books and other sources.

Based on the information domain research on the similar e-commerce online system, customer requirements with valid assumptions (if any) to proceed to use Function Point Analysis technique.

Outcome

You are to submit a report that contains the following sections:

Derivation and step by step process of Function Point Estimation technique with support description on the values involving Cost, Effort, and Duration [10 marks]

Other support estimation methods (like LOC, COCOMO and so on) with reasonable justification are expected on the derived values of Cost, Effort and Duration.

[10 marks]

Overall cohesion and clarity [10 marks]

Part 2: Risk Analysis [30%]

You are to continue your role as the project manager at TRACER planning for the system that is to be developed by your company for the “TRAIN” System. You have completed your Estimate of Cost, Effort and Duration and submitted this as Assignment Part 1.

Now you must reflect upon the project and your plan and consider the risks to meeting the deadlines for this project and delivering a successful system on time and within the budget and complete a Risk Analysis.

Your Task

Complete a Risk Analysis on the project.

Give a Presentation (to your manager) on your risk analysis.

Support your presentation with a Short Report

Outcome

You are to support your presentation with a short report that contains the following:

Risk Analysis [TWO major risks] [20 marks]

Identify TWO major risk(s) to achieving success on this project and outline why you chose those risks to be monitored, managed and / or eliminated.

Tour report may cover the following:

Description of Risk;

Justification for the selection;

Likely impact of the risk on the project if it is not dealt with;

Risk management i.e. how you will manage it

Possible affect on costs and timescale of dealing with the risk.

Presentation [Group] [10 marks]

Part 3: Project Plan, Quality Control and Recommendations [40%]

Your Task

To date your activities have been concerned with planning and costing the development tasks. Now you must turn your thoughts to the quality assurance for this project. Your manager would like to see a new task list and an updated project plan which includes and highlights the quality assurance activities associated with the project.

Your boss is anxious about the project timescales as the User Requirements contains the following clause…

‘The system must be live within 8 months of the start of the project. They are prepared for the costs to be increased (within reason) in order to achieve this.’

Consider how to stage the project so it can be completed within 8 months even if it does involve increasing the costs. What new risks does this introduce?

Come to your own conclusions about how to schedule and cost this project and how to manage the risks. Use your analysis to make recommendations to your manager.

Outcome

You are to hand in to be assessed a report that contains the following sections:

The quality control tasks for this project [30 marks]

List the deliverables from each software development activity undertaken by TRACER (or subcontracted by TRACER). Describe the quality control task or activities for each deliverable.

Strategies for reducing timescales for this project

Describe your suggestion for how the project could be staged to meet the customer’s deadline of completing the project within 8 months (36 Weeks) supported with a risk assessment.

Your Recommendations and Conclusions

Come to your own conclusions and recommendations for this project. Outline your recommendations and justify them.

Overall cohesion and clarity [10 marks]

Table Of Contents

Estimations

As the project team of Travel Reservations and Automated Itinerary Navigator (TRAIN) system, we need to estimate the cost, effort and timescale as a part of final project proposal. In order to do the above estimation, we are going to use two standard techniques to measure the size of the software.

Function Points (FP)

FP is methodology to estimate and measure the time and the cost of development and maintenance of the software applications, which was developed by A.J. Albrecht of the IBM Corporation in the early 1980s. Functions in the system can be divided into different categories and complexity weights:

Category

Complexity weight factors

Simple

Average

Complex

Inputs

2

4

6

Outputs

3

5

7

Files

5

10

15

Inquires

2

4

6

Interfaces

4

7

10

Once the total function points calculated, plus several environmental factors, we could get an adjusted function point so that the total FP / men days could be measured.

Lines Of Codes (LOC)

Lines of code (often referred to as Source Lines of Code, SLOC or LOC) is a software metric used to measure the amount of code in a software program. LOC of each module will be estimated by assumption based on historical data, analysis of defined modules and experience. Below table shows the estimated relationship between function complexity and the required cost and effort.

Complexity

LOC per month

Cost per LOC

Simple

350

$ 30

Average

300

$ 60

Complex

200

$ 90

Assumptions

After analyzed the customer’s requirement, we have made the following assumptions to setup the scope and boundary of TRAIN system.

The scope of new system TRAIN is enable customers to book train ticket online and also generate reports of customer profiles.

It is not required to develop a centralized interface for staff to manage the 3 existing systems.

All customers must be registered before buying tickets.

The only payment method is pay by credit cards.

In order to build database connections and intra-system interfaces, GoForIt Ltd shall provide sufficient information and support about the 3 existing systems.

Besides modules for customers to book ticket, modules for staff to manage customer accounts and daily operation transactions will also included.

Function Point (FP) Analysis

In this section, the software will be break down into 10 different modules:

External Interface:

This interface is designed for external customers. They can enquire and buy the ticket through online process.

Modules:

Schedule Searching

Customer Login

New Member Registration

Reset password

Buy Ticket

Bill Payment

Internal Interface:

This interface is designed for internal staff. They can perform daily administration work and generate report for management review.

Modules:

Staff Login

Customer Maintenance

Generate Report

User Account Maintenance

Schedule Searching

Purpose : The new systems have features that are capable to help the customers with their inquiries. It presents the main page where the customer can select from the schedule text box to find their desired train schedule and show a seat plan to check if there are available seats left for ticket reservations.

Function Description :

Category

Description

Complexity

Inputs

A text box will be shown to customers allowing them to respond with a valid answer for searching schedule. The following text boxes and buttons will require SDK programs like Visual Studio.

Simple

Outputs

A new webpage will be shown to the customer after searching the result from the database being inquired. The result comprise of showing the customer their selected time and train schedules being inquired. Same settings will be generated by SDK like Visual Studio.

Average

Interfaces

Connection to TIES and SEATS is required for getting the reservation information.

Average

Inquiries

The text being inputted from the textbox will be used in query for the database. The input must be verified correctly to avoid data error.

Average

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

1

Files

Inquires

1

Interfaces

1

Customer Login

Purpose : Before a customer can buy tickets, the system will require customers to register their profile to our company database. Here they will input their user name and passwords for security procedures before they can have access to the Buy Ticket Page.

Function Description :

Category

Description

Complexity

Inputs

Customers will be asked to input their user name and passwords to the textboxes and click submit. Textbox and buttons are generated by SDK such as Visual Studio.

Simple

Inquiries

After customers have inputted their user name and passwords on to the textboxes, the system will use this 2 data as reference to check if it is registered inside the systems database. Data will be verified correctly to avoid error during comparison with the database.

Average

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

Files

Inquires

1

Interfaces

New Member Registration

Purpose : A customer must become a registered member before buying tickets. This module provide functions for customer to fill in personal and credit card information, , verify customer’s input, duplication checking on the database and crate new customer record on to the database.

Function Description :

Category

Description

Complexity

Inputs

A form for customer to input personal information. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.

Simple

Inquires

Verify customer’s input to avoid data type / data range error. Search the database to avoid duplicate registration. Include program logics to verify credit card information. This kind of function is common in many enterprise software.

Simple

Files

A database table for storing customer records. The code can reuse from previous project since it is common in enterprise software.

Simple

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

Files

1

Inquires

1

Interfaces

Reset password

Purpose : Enable customer to submit the request of reset password online. This module should automatically generate a new password and send an email to the specific customer’s email address.

Function Description :

Category

Description

Complexity

Inputs

A text box for customers to input their login ID (Same as registered email address). The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.

Simple

Inquires

Verify customer’s input to avoid data type / data range error. Search the database to verify login ID, retrieve customer’s account information and also updating the new password. Include program logics to generate new password, generate email contents and sending out by email.

Average

Function subtotal :

Category

Complexity weight factors

Simple

Average

Complex

Inputs

1

Outputs

Files

Inquires

1

Interfaces

Buy Ticket

Purpose : Customer can select which seat they want to buy. Customers have to select a train schedule first, and then he can see the available seat and select the one they want to sit. After the selection, there is an information on the selected seat and total amount.

Function Description :

Category

Description

Complexity

Inputs

A train seat plan will be shown to customers, with identification on available or being booked. The train seat plan can be generated by SDK like Visual Studio, but additional effort in layout accuracy is needed in order to let the customers have a better estimation.

Average

Outputs

After the customers selected a seat, a corresponding box below the seat plan will show the quantity of seat selected and the total amount. Those can be acquired from the Inputs with a pre-defined formula calculation.

Average

Inquires

As the train seat plan was source from SEATS system and train schedule was source from the TRAINS system, there are 2 queries from external systems. This can be done by database query tool.

Average

Interfaces

Since there are 2 external databases needed to be queries beforehand in order to allow customers have a up-to-date seat availability information, 2 interfaces are needed to bridge the buy page and the databases.

Average

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

1

Files

Inquires

1

Interfaces

1

Bill Payment

Purpose : After the customers selected the seat, they need to checkout in order to confirm the booking and make payment. The bill page is a summary of all the information, such as selected seat, train schedule, payment amount, method of payment and so on.

Function Description:

Category

Description

Complexity

Outputs

There is several of information to be displayed back to the customers. Once the data is queried from the database, they can be placed in to relevant description fields.

Simple

Files

Once the customers press the confirm button, the system will automatically update the SEATS system, COINS system and the TRAINS system.

Complex

Inquires

At this page, all information will be queried from the other databases and will be displayed to customers for their review. Thus, here involve more than one database to queries.

Average

Interfaces

Since there is a few query actions and databases update actions, interfaces needed to ensure all databases queried correctly and, after pressing the confirm button, all database are updated accordingly.

Complex

Function subtotal:

Category

Count

Simple

Average

Complex

Inputs

Outputs

1

Files

1

Inquires

1

Interfaces

1

Staff Login

Purpose : The new system will have a security procedure for their staff as well. Staffs are being given their own personal user name and password unlike the User Login for the customers, the module created for the staffs have different features like generate reports and manage customer accounts.

Function Description :

Category

Description

Complexity

Inputs

Staff members will be asked to input their user name and passwords to the textboxes and click submit. Textbox and buttons are generated by SDK such as Visual Studio.

Simple

Inquires

After the staff member has inputted his/her user name and password on to the textboxes, the system will use this 2 data as reference to check if it is registered inside the system’s database. Data will be verified correctly to avoid error during comparison with the database.

Simple

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

Files

Inquires

1

Interfaces

Customer Maintenance

Purpose : In the new system, it have a internal database to store all the Customer information for transaction or identification use, the admin/operate staff can use this function to modify any customer information, such as the contact address or phone, help customer to reset the password or update the credit card information.

Function Description :

Category

Description

Complexity

Inputs

A form for Staff to modify the customer information. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.

Simple

Outputs

The same from as the Input to Display the customer current information. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.

Simple

Files

A database table for storing customer records. The code can reuse from previous project since it is common in enterprise software.

Simple

Inquires

Searching the database to display or verify customer’s input to avoid data type / data range error. Compare the database to avoid duplicate registration. Include program logics to verify credit card information. This kind of function is common in many enterprise software.

Simple

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

1

Files

1

Inquires

1

Interfaces

Generate Report

Purpose : The Report page purpose is to provide the staff member to generate a summary report for their daily transaction and confirm how many tickets they have sold online. The summary comprise of all the information, such as selected seats, train schedule, amount and method of payment, etcetera.

Function Description :

Category

Description

Complexity

Inputs

A text box will be shown to staff users allowing them to respond with answers. The data being input will be used in the query. The following text boxes and buttons will require SDK programs like Visual Studio.

Simple

Outputs

The data will show the result of the staff user requested from the database, this result is considered valid and correct based on the comparison with the stored data.

Average

Inquires

Besides verifying input data, complex program logic and database SQL is required in order to select and calculate large amount of data from several databases for reporting.

Complex

Interfaces

Connection to the 3 external databases is required for reporting.

Complex

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

1

Files

Inquires

1

Interfaces

1

User Account Maintenance

Purpose : This Module is for the internal admin user to create and modify the staff information. It is separate into two parts, one is the User Account Maintenance and it can be only accessed by the admin user, the other one is the change password function, it can let any use modify his own password for security.

Function Description :

Category

Description

Complexity

Inputs

A form for Admin user to modify the staff login information and the access level. Another form for all users to modify their password. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.

Simple

Outputs

The same from as the Input to Display the staff current login information for modify. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.

Simple

Files

A database table for storing staff login information. The code can reuse from previous project since it is common in enterprise software.

Simple

Inquires

Searching the database to display or verify staff input to avoid data type / data range error. Compare the database to avoid duplicate registration.

Simple

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

1

Files

1

Inquires

1

Interfaces

Unadjusted Function Point

It is calculated by the total sum of multiply the function count and the function point.

Category

Complexity weight factors

Total Points

Simple

Average

Complex

Inputs

2 x 8

4 x 1

6 x 0

20

Outputs

3 x 3

5 x 3

7 x 0

24

Files

5 x 3

10 x 0

15 x 1

30

Inquires

2 x 4

4 x 5

6 x 1

34

Interfaces

4 x 0

7 x 2

10 x 2

34

Unadjusted Function Points

142

Technical Complexity Factor

There are many technical complexity factors can affect the development of the application software. It is rated from zero to five and can be calculated by the formula :

TCF = 0.65 + ( sum of factors ) / 100

Technical Complexity Factor

Weighting

Data Communications

5

Performance

4

Heavily Used Configuration

1

Transaction Rate

4

On-line Data Entry

1

End-User Efficiency

2

On-line Update

1

Complex Processing

3

Reusability

2

Installation Ease

1

Operational Ease

1

Degree Of Influence

25

TCF = 0.65 + (25 / 100) = 0.9

Final Function Point

It is calculated by the formula : UFP x TCF

FP = 142 x 0.9 = 127.8

Therefore, the final function point of the application software is 128 (Round to digit).

Cost, Effort and time estimation

In this section, we will estimate the cost, effort and time scale of the development of TRAIN system based on Total FP and historical data of our software house.

Total FP: 128

Historical data:

Description

Value

Average salary:

(in Hong Kong Dollar)

$ 15,000

Productivity:

10 FP / person-month

Cost, Effort and time estimation

Description

Value

Effort:

(Total FP / Productivity)

128 / 10

=13 person-months (rounded)

Overall cost estimation:

(Average salary X Effort)

$15,000 x 13

= $ 195,000

Cost (money) per function point:

(Overall cost / Total FP)

$195,000 / 128

= $ 1,523 (rounded)

Time estimation:

13 months ( 1 person)

or

1 month ( 13 pserons)

Lines of Codes

In this section, the Lines of Codes (LOC) are estimated by assumption based on historical data, analysis of defined modules and experience. Please refer to section 1.2 for the defined modules of TRAIN system.

Find out how UKEssays.com can help you!

Our academic experts are ready and waiting to assist with any writing project you may have. From simple essay plans, through to full dissertations, you can guarantee we have a service perfectly matched to your needs.

View our services

The following table is the historical data of our company, describes the average LOC per month and average cost per LOC. The overall complexity of each Module is weighted by the number of function it contains, the complexity of particular function and also the effort of building the function.

For example, the function of Customer Login is common on every system therefore the complexity is Simple because we can reuse the code from previous project. The function of Bill Payment should be considered as Complex because it is required to handle interfaces with three existing system and also the security requirement of payment transaction is very high.

Complexity

LOC per month

Cost per LOC

Simple

350

$ 30

Average

300

$ 60

Complex

200

$ 90

Once we got the above information, we can estimate the cost, effort and duration by the technique of LOC using the formula in the following table.

Item

Formula

Effort (person-month)

LOC / LOC per month

Cost

LOC x Cost per LOC

A table of LOC components can be generated by the above information and formulas:

Module

Complexity

LOC

LOC per month

Effort

Cost per LOC

Cost

Schedule Searching

Average

432

300

1.44

$ 60

$ 25,920

Customer Login

Simple

144

350

0.41

$ 30

$ 4,320

New Member Registration

Simple

216

350

0.61

$ 30

$ 6,480

Reset password

Simple

144

350

0.41

$ 30

$ 4,320

Buy Ticket

Average

480

300

1.60

$ 60

$ 28,800

Bill Payment

Complex

768

200

3.84

$ 90

$ 69,120

Staff Login

Simple

96

350

0.27

$ 30

$ 2,880

Customer Maintenance

Average

288

300

0.96

$ 60

$ 17,280

Generate Report

Average

552

300

2.76

$ 60

$ 33,120

User Account Maintenance

Average

288

300

0.96

$ 60

$ 17,280

Total

3408

13.26

$ 209,520

Conclusion

Based on the Function Point Analysis in section 1.2, the TRAIN system is estimated to be costing HKD $195,000. The effort of project team is 13 person-months, which means it could be completed in 13 months by single software engineer or one month by 13 engineers. The estimated Lines of Code of the software is 3408 using Visual Basic.

The LOC estimation strongly supports the estimation re

The objective of this coursework is to provide a software cost and estimation of the new system that is requested by the project manager of the following scenario. This document shall supply the necessary information that is required to make the desired product which is an enhanced website of the company, it will show the Function Point Analysis supported with a Line of Codes (LOC), a Risk Analysis report to show how the new product would affect the current system, and a Gantt chart where each member has their own assigned task that must completed before or at the day of the deadline.

Travel Reservations and Automated Itinerary Navigator (TRAIN)

GoForIt Ltd is a rapidly growing travel company that has become a market leader in medium and long-distance national and international rail travel across northern Europe. Due to their success, GoForIt is seeking further improvements in their business by means of enhancing their web sit by offering comprehensive timetabling and ticket information facility for an on-line booking / reservation.

GoForIt Ltd operates a large fleet of trains with an extensive timetable for many journeys each day. It is important that a customer is notified of seat availability or unavailability on any given scheduled train, to their chosen destination on their requested dates and times, while on-line, and within an acceptably short response time. To satisfy this requirement, TRAIN requires the integration of two other systems, The Train Integrated Engineering System (TIES) and The Seat Enquiries and Assignment of Tickets System (SEATS). TIES hold information on the operational status of each physical train (locomotive carriages). SEATS are used for ticketing and seat reservations. Both are located centrally at the head office in Manchester, England.

The client should be able, on one page or form, to specify their train travel requirements including date, destination, preferred departure station and preferred seat place (including front/back of the train and forward/backward facing). This information is then used to check seat availability on the SEATS database and to verify train data from the TIES database.

Once a user has submitted their travel requirements, TRAIN should respond by presenting information including the availability or unavailability on the date of economy and business class tickets. Payments by credit card for seat bookings, using the Credit Online Invoices with Network Security (COINS) system, are to be incorporated into the design of this internet-based ticketing system. COINS are an existing package that GoForIt Ltd commissioned before the start of the TRAIN project.

At intervals TRAIN will provide a detailed report of customer profiles. This will consist of how many users have accessed the website, and what travel requirements they have selected (including class of travel and connecting train/ travel information).

Part 1: Software Cost and Timescale Estimation [30%]

You are to take on the role of the project manager at TRACER for developing a Reservation system. You are to prepare a series of reports for your manager at TRACER. Each of these reports will reflect different information needed by your manager. This process reflects how project plans evolve and develop over time prior to be submitted a final proposal to the customer.

Your Task:

For this assignment you should use the standard Function Point (FP) Analysis learnt from this course and explained in the recommended books and other sources.

Based on the information domain research on the similar e-commerce online system, customer requirements with valid assumptions (if any) to proceed to use Function Point Analysis technique.

Outcome

You are to submit a report that contains the following sections:

Derivation and step by step process of Function Point Estimation technique with support description on the values involving Cost, Effort, and Duration [10 marks]

Other support estimation methods (like LOC, COCOMO and so on) with reasonable justification are expected on the derived values of Cost, Effort and Duration.

[10 marks]

Overall cohesion and clarity [10 marks]

Part 2: Risk Analysis [30%]

You are to continue your role as the project manager at TRACER planning for the system that is to be developed by your company for the “TRAIN” System. You have completed your Estimate of Cost, Effort and Duration and submitted this as Assignment Part 1.

Now you must reflect upon the project and your plan and consider the risks to meeting the deadlines for this project and delivering a successful system on time and within the budget and complete a Risk Analysis.

Your Task

Complete a Risk Analysis on the project.

Give a Presentation (to your manager) on your risk analysis.

Support your presentation with a Short Report

Outcome

You are to support your presentation with a short report that contains the following:

Risk Analysis [TWO major risks] [20 marks]

Identify TWO major risk(s) to achieving success on this project and outline why you chose those risks to be monitored, managed and / or eliminated.

Tour report may cover the following:

Description of Risk;

Justification for the selection;

Likely impact of the risk on the project if it is not dealt with;

Risk management i.e. how you will manage it

Possible affect on costs and timescale of dealing with the risk.

Presentation [Group] [10 marks]

Part 3: Project Plan, Quality Control and Recommendations [40%]

Your Task

To date your activities have been concerned with planning and costing the development tasks. Now you must turn your thoughts to the quality assurance for this project. Your manager would like to see a new task list and an updated project plan which includes and highlights the quality assurance activities associated with the project.

Your boss is anxious about the project timescales as the User Requirements contains the following clause…

‘The system must be live within 8 months of the start of the project. They are prepared for the costs to be increased (within reason) in order to achieve this.’

Consider how to stage the project so it can be completed within 8 months even if it does involve increasing the costs. What new risks does this introduce?

Come to your own conclusions about how to schedule and cost this project and how to manage the risks. Use your analysis to make recommendations to your manager.

Outcome

You are to hand in to be assessed a report that contains the following sections:

The quality control tasks for this project [30 marks]

List the deliverables from each software development activity undertaken by TRACER (or subcontracted by TRACER). Describe the quality control task or activities for each deliverable.

Strategies for reducing timescales for this project

Describe your suggestion for how the project could be staged to meet the customer’s deadline of completing the project within 8 months (36 Weeks) supported with a risk assessment.

Your Recommendations and Conclusions

Come to your own conclusions and recommendations for this project. Outline your recommendations and justify them.

Overall cohesion and clarity [10 marks]

Table Of Contents

Estimations

As the project team of Travel Reservations and Automated Itinerary Navigator (TRAIN) system, we need to estimate the cost, effort and timescale as a part of final project proposal. In order to do the above estimation, we are going to use two standard techniques to measure the size of the software.

Function Points (FP)

FP is methodology to estimate and measure the time and the cost of development and maintenance of the software applications, which was developed by A.J. Albrecht of the IBM Corporation in the early 1980s. Functions in the system can be divided into different categories and complexity weights:

Category

Complexity weight factors

Simple

Average

Complex

Inputs

2

4

6

Outputs

3

5

7

Files

5

10

15

Inquires

2

4

6

Interfaces

4

7

10

Once the total function points calculated, plus several environmental factors, we could get an adjusted function point so that the total FP / men days could be measured.

Lines Of Codes (LOC)

Lines of code (often referred to as Source Lines of Code, SLOC or LOC) is a software metric used to measure the amount of code in a software program. LOC of each module will be estimated by assumption based on historical data, analysis of defined modules and experience. Below table shows the estimated relationship between function complexity and the required cost and effort.

Complexity

LOC per month

Cost per LOC

Simple

350

$ 30

Average

300

$ 60

Complex

200

$ 90

Assumptions

After analyzed the customer’s requirement, we have made the following assumptions to setup the scope and boundary of TRAIN system.

The scope of new system TRAIN is enable customers to book train ticket online and also generate reports of customer profiles.

It is not required to develop a centralized interface for staff to manage the 3 existing systems.

All customers must be registered before buying tickets.

The only payment method is pay by credit cards.

In order to build database connections and intra-system interfaces, GoForIt Ltd shall provide sufficient information and support about the 3 existing systems.

Besides modules for customers to book ticket, modules for staff to manage customer accounts and daily operation transactions will also included.

Function Point (FP) Analysis

In this section, the software will be break down into 10 different modules:

External Interface:

This interface is designed for external customers. They can enquire and buy the ticket through online process.

Modules:

Schedule Searching

Customer Login

New Member Registration

Reset password

Buy Ticket

Bill Payment

Internal Interface:

This interface is designed for internal staff. They can perform daily administration work and generate report for management review.

Modules:

Staff Login

Customer Maintenance

Generate Report

User Account Maintenance

Schedule Searching

Purpose : The new systems have features that are capable to help the customers with their inquiries. It presents the main page where the customer can select from the schedule text box to find their desired train schedule and show a seat plan to check if there are available seats left for ticket reservations.

Function Description :

Category

Description

Complexity

Inputs

A text box will be shown to customers allowing them to respond with a valid answer for searching schedule. The following text boxes and buttons will require SDK programs like Visual Studio.

Simple

Outputs

A new webpage will be shown to the customer after searching the result from the database being inquired. The result comprise of showing the customer their selected time and train schedules being inquired. Same settings will be generated by SDK like Visual Studio.

Average

Interfaces

Connection to TIES and SEATS is required for getting the reservation information.

Average

Inquiries

The text being inputted from the textbox will be used in query for the database. The input must be verified correctly to avoid data error.

Average

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

1

Files

Inquires

1

Interfaces

1

Customer Login

Purpose : Before a customer can buy tickets, the system will require customers to register their profile to our company database. Here they will input their user name and passwords for security procedures before they can have access to the Buy Ticket Page.

Function Description :

Category

Description

Complexity

Inputs

Customers will be asked to input their user name and passwords to the textboxes and click submit. Textbox and buttons are generated by SDK such as Visual Studio.

Simple

Inquiries

After customers have inputted their user name and passwords on to the textboxes, the system will use this 2 data as reference to check if it is registered inside the systems database. Data will be verified correctly to avoid error during comparison with the database.

Average

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

Files

Inquires

1

Interfaces

New Member Registration

Purpose : A customer must become a registered member before buying tickets. This module provide functions for customer to fill in personal and credit card information, , verify customer’s input, duplication checking on the database and crate new customer record on to the database.

Function Description :

Category

Description

Complexity

Inputs

A form for customer to input personal information. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.

Simple

Inquires

Verify customer’s input to avoid data type / data range error. Search the database to avoid duplicate registration. Include program logics to verify credit card information. This kind of function is common in many enterprise software.

Simple

Files

A database table for storing customer records. The code can reuse from previous project since it is common in enterprise software.

Simple

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

Files

1

Inquires

1

Interfaces

Reset password

Purpose : Enable customer to submit the request of reset password online. This module should automatically generate a new password and send an email to the specific customer’s email address.

Function Description :

Category

Description

Complexity

Inputs

A text box for customers to input their login ID (Same as registered email address). The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.

Simple

Inquires

Verify customer’s input to avoid data type / data range error. Search the database to verify login ID, retrieve customer’s account information and also updating the new password. Include program logics to generate new password, generate email contents and sending out by email.

Average

Function subtotal :

Category

Complexity weight factors

Simple

Average

Complex

Inputs

1

Outputs

Files

Inquires

1

Interfaces

Buy Ticket

Purpose : Customer can select which seat they want to buy. Customers have to select a train schedule first, and then he can see the available seat and select the one they want to sit. After the selection, there is an information on the selected seat and total amount.

Function Description :

Category

Description

Complexity

Inputs

A train seat plan will be shown to customers, with identification on available or being booked. The train seat plan can be generated by SDK like Visual Studio, but additional effort in layout accuracy is needed in order to let the customers have a better estimation.

Average

Outputs

After the customers selected a seat, a corresponding box below the seat plan will show the quantity of seat selected and the total amount. Those can be acquired from the Inputs with a pre-defined formula calculation.

Average

Inquires

As the train seat plan was source from SEATS system and train schedule was source from the TRAINS system, there are 2 queries from external systems. This can be done by database query tool.

Average

Interfaces

Since there are 2 external databases needed to be queries beforehand in order to allow customers have a up-to-date seat availability information, 2 interfaces are needed to bridge the buy page and the databases.

Average

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

1

Files

Inquires

1

Interfaces

1

Bill Payment

Purpose : After the customers selected the seat, they need to checkout in order to confirm the booking and make payment. The bill page is a summary of all the information, such as selected seat, train schedule, payment amount, method of payment and so on.

Function Description:

Category

Description

Complexity

Outputs

There is several of information to be displayed back to the customers. Once the data is queried from the database, they can be placed in to relevant description fields.

Simple

Files

Once the customers press the confirm button, the system will automatically update the SEATS system, COINS system and the TRAINS system.

Complex

Inquires

At this page, all information will be queried from the other databases and will be displayed to customers for their review. Thus, here involve more than one database to queries.

Average

Interfaces

Since there is a few query actions and databases update actions, interfaces needed to ensure all databases queried correctly and, after pressing the confirm button, all database are updated accordingly.

Complex

Function subtotal:

Category

Count

Simple

Average

Complex

Inputs

Outputs

1

Files

1

Inquires

1

Interfaces

1

Staff Login

Purpose : The new system will have a security procedure for their staff as well. Staffs are being given their own personal user name and password unlike the User Login for the customers, the module created for the staffs have different features like generate reports and manage customer accounts.

Function Description :

Category

Description

Complexity

Inputs

Staff members will be asked to input their user name and passwords to the textboxes and click submit. Textbox and buttons are generated by SDK such as Visual Studio.

Simple

Inquires

After the staff member has inputted his/her user name and password on to the textboxes, the system will use this 2 data as reference to check if it is registered inside the system’s database. Data will be verified correctly to avoid error during comparison with the database.

Simple

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

Files

Inquires

1

Interfaces

Customer Maintenance

Purpose : In the new system, it have a internal database to store all the Customer information for transaction or identification use, the admin/operate staff can use this function to modify any customer information, such as the contact address or phone, help customer to reset the password or update the credit card information.

Function Description :

Category

Description

Complexity

Inputs

A form for Staff to modify the customer information. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.

Simple

Outputs

The same from as the Input to Display the customer current information. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.

Simple

Files

A database table for storing customer records. The code can reuse from previous project since it is common in enterprise software.

Simple

Inquires

Searching the database to display or verify customer’s input to avoid data type / data range error. Compare the database to avoid duplicate registration. Include program logics to verify credit card information. This kind of function is common in many enterprise software.

Simple

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

1

Files

1

Inquires

1

Interfaces

Generate Report

Purpose : The Report page purpose is to provide the staff member to generate a summary report for their daily transaction and confirm how many tickets they have sold online. The summary comprise of all the information, such as selected seats, train schedule, amount and method of payment, etcetera.

Function Description :

Category

Description

Complexity

Inputs

A text box will be shown to staff users allowing them to respond with answers. The data being input will be used in the query. The following text boxes and buttons will require SDK programs like Visual Studio.

Simple

Outputs

The data will show the result of the staff user requested from the database, this result is considered valid and correct based on the comparison with the stored data.

Average

Inquires

Besides verifying input data, complex program logic and database SQL is required in order to select and calculate large amount of data from several databases for reporting.

Complex

Interfaces

Connection to the 3 external databases is required for reporting.

Complex

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

1

Files

Inquires

1

Interfaces

1

User Account Maintenance

Purpose : This Module is for the internal admin user to create and modify the staff information. It is separate into two parts, one is the User Account Maintenance and it can be only accessed by the admin user, the other one is the change password function, it can let any use modify his own password for security.

Function Description :

Category

Description

Complexity

Inputs

A form for Admin user to modify the staff login information and the access level. Another form for all users to modify their password. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.

Simple

Outputs

The same from as the Input to Display the staff current login information for modify. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.

Simple

Files

A database table for storing staff login information. The code can reuse from previous project since it is common in enterprise software.

Simple

Inquires

Searching the database to display or verify staff input to avoid data type / data range error. Compare the database to avoid duplicate registration.

Simple

Function subtotal :

Category

Count

Simple

Average

Complex

Inputs

1

Outputs

1

Files

1

Inquires

1

Interfaces

Unadjusted Function Point

It is calculated by the total sum of multiply the function count and the function point.

Category

Complexity weight factors

Total Points

Simple

Average

Complex

Inputs

2 x 8

4 x 1

6 x 0

20

Outputs

3 x 3

5 x 3

7 x 0

24

Files

5 x 3

10 x 0

15 x 1

30

Inquires

2 x 4

4 x 5

6 x 1

34

Interfaces

4 x 0

7 x 2

10 x 2

34

Unadjusted Function Points

142

Technical Complexity Factor

There are many technical complexity factors can affect the development of the application software. It is rated from zero to five and can be calculated by the formula :

TCF = 0.65 + ( sum of factors ) / 100

Technical Complexity Factor

Weighting

Data Communications

5

Performance

4

Heavily Used Configuration

1

Transaction Rate

4

On-line Data Entry

1

End-User Efficiency

2

On-line Update

1

Complex Processing

3

Reusability

2

Installation Ease

1

Operational Ease

1

Degree Of Influence

25

TCF = 0.65 + (25 / 100) = 0.9

Final Function Point

It is calculated by the formula : UFP x TCF

FP = 142 x 0.9 = 127.8

Therefore, the final function point of the application software is 128 (Round to digit).

Cost, Effort and time estimation

In this section, we will estimate the cost, effort and time scale of the development of TRAIN system based on Total FP and historical data of our software house.

Total FP: 128

Historical data:

Description

Value

Average salary:

(in Hong Kong Dollar)

$ 15,000

Productivity:

10 FP / person-month

Cost, Effort and time estimation

Description

Value

Effort:

(Total FP / Productivity)

128 / 10

=13 person-months (rounded)

Overall cost estimation:

(Average salary X Effort)

$15,000 x 13

= $ 195,000

Cost (money) per function point:

(Overall cost / Total FP)

$195,000 / 128

= $ 1,523 (rounded)

Time estimation:

13 months ( 1 person)

or

1 month ( 13 pserons)

Lines of Codes

In this section, the Lines of Codes (LOC) are estimated by assumption based on historical data, analysis of defined modules and experience. Please refer to section 1.2 for the defined modules of TRAIN system.

The following table is the historical data of our company, describes the average LOC per month and average cost per LOC. The overall complexity of each Module is weighted by the number of function it contains, the complexity of particular function and also the effort of building the function.

For example, the function of Customer Login is common on every system therefore the complexity is Simple because we can reuse the code from previous project. The function of Bill Payment should be considered as Complex because it is required to handle interfaces with three existing system and also the security requirement of payment transaction is very high.

Complexity

LOC per month

Cost per LOC

Simple

350

$ 30

Average

300

$ 60

Complex

200

$ 90

Once we got the above information, we can estimate the cost, effort and duration by the technique of LOC using the formula in the following table.

Item

Formula

Effort (person-month)

LOC / LOC per month

Cost

LOC x Cost per LOC

A table of LOC components can be generated by the above information and formulas:

Module

Complexity

LOC

LOC per month

Effort

Cost per LOC

Cost

Schedule Searching

Average

432

300

1.44

$ 60

$ 25,920

Customer Login

Simple

144

350

0.41

$ 30

$ 4,320

New Member Registration

Simple

216

350

0.61

$ 30

$ 6,480

Reset password

Simple

144

350

0.41

$ 30

$ 4,320

Buy Ticket

Average

480

300

1.60

$ 60

$ 28,800

Bill Payment

Complex

768

200

3.84

$ 90

$ 69,120

Staff Login

Simple

96

350

0.27

$ 30

$ 2,880

Customer Maintenance

Average

288

300

0.96

$ 60

$ 17,280

Generate Report

Average

552

300

2.76

$ 60

$ 33,120

User Account Maintenance

Average

288

300

0.96

$ 60

$ 17,280

Total

3408

13.26

$ 209,520

Conclusion

Based on the Function Point Analysis in section 1.2, the TRAIN system is estimated to be costing HKD $195,000. The effort of project team is 13 person-months, which means it could be completed in 13 months by single software engineer or one month by 13 engineers. The estimated Lines of Code of the software is 3408 using Visual Basic.

The LOC estimation strongly supports the estimation re

Cite This Work

To export a reference to this article please select a referencing stye below:

Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.

Related Services

View all

DMCA / Removal Request

If you are the original writer of this essay and no longer wish to have your work published on the UKDiss.com website then please: