Transcript
8/7/2019 U08784 part 1
1/29
U08784_QP Page 1 of 1
Coursework Submission Form
Instructions
1. Please complete the form using Capital Letters.
2. Coursework must be submitted through the Service counter and it is the responsibility of
the student to complete the Coursework Submission Log Book
Name of Student:
AGNES MEILIANA ( ID: 018800007602; AGNESMEILIANA@YAHOO.COM;+65-990521823; ),
DANIEL NATANAEL (ID: 018800007529; HERE_IM_SEND_ME@YAHOO.COM;+65-81164775 ),
JASON ALERTA OBINA (ID: 018800007777; JAYOBINA@GMAIL.COM;+65-82690003 ),
E-mail Address: Contact No:
Name of Lecturer: Mr. Palaniappan
Student ID: Class Code:
Subject Code: U08784 SPM Assignment No.: 1 T3 2009
No. of pages including
this cover page :29
Other
Specifications:
CD
____ enclosed
Submission Date: 29-October-2009 Due Date: 29-October-2009
Declaration :
I declare that this assignment is my original work and that I have
acknowledged any use of published or unpublished works of other people. I
understand that I will be penalized for plagiarism and late submission.
Signature :
Question Total
Marker
Internal
Moderator
External
Moderator
Marker's Comment:
BACHELOR OF SCIENCE
Joint Honours Computer andInformation System
UNIVERSITY
BROOKESOXFORD
1
8/7/2019 U08784 part 1
2/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|1
U08784
SOFTWARE PROJECT MANAGEMENT
Assignment Part I
Group II
Members:
1.Agnes Meiliana - 0188000076022.Daniel Natanael - 0188000075293.Jason Alerta Obina - 018800007777
8/7/2019 U08784 part 1
3/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|2
Table of contents:
1. Introduction --------------------------------------------------------------------------------------- 32. Planning --------------------------------------------------------------------------------------- 3 - 11
2.1 Function Requirements2.2 Assumption
3. Estimation3.1 Function Point (FP) Analysis ---------------------------------------------------- 12 - 193.2 Lines of Code (LOC) Analysis -------------------------------------------------- 20 - 213.3 Constructive Cost Module (COCOMO) Estimation -------------------------- 21 - 244. Conclusions -------------------------------------------------------------------------------------- 25
5. Appendix ----------------------------------------------------------------------------------- 26 - 276. Reference ----------------------------------------------------------------------------------------- 28
8/7/2019 U08784 part 1
4/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|3
1. INTRODUCTIONThe expansion of technologies in this age has given affect for all human life aspects, including
education examination system. In this assignment, we will discuss about software size
measurement. We will act as staff of Soft Tech Pvt. Ltd and given a role as the project manager
in developing examination system for Informatics Education.
We have a scenario of a software development project about Informatics Education
Examination system. So we need to research and prepare information that is required by our
manager in Soft Tech Pvt. Ltd in order to create a final proposal to the customer.
In order to complete our objectives to get an estimation of the systems size, estimation about the
cost needed to develop the system, estimation on the needed effort, and estimation on the time
duration to complete the development of the system; we will use three standard software
estimation techniques for measuring the size of the software. Therefore, this report will consist of
the workings of three software estimation methods: Function Point (FP) Analysis, Lines of
Code (LOC) Analysis, Constructive Cost Module (COCOMO) Estimation.2. PLANNINGThe current education examination system is still using the manual system to process
examination transactions. All examination transactions are doing in manual system, such as
creating a new student record, assigning student class, etc. Those systems are not efficient,
unsecure, uneasy to use, not reliable and accurate. By computerizing examination system, many
of these tasks can be doing automated and thus saves lot of productivity time.
Those are the reason for Soft Tech Pvt Ltd to make design of the examination system as flexible
to dig out maximum best within the student.
2.1Function RequirementsAfter a detailed study of the user requirements; the system is determined to consist of eight
modules based on the functionality. The system context diagrams can be found in the Appendix
for reference. We justify the scenario requirements for system-required modules in each
modules description, as shown below:
a) Login ModuleThis is one of the core modules of the system as it is used to allow access to users of the system.
Users here may refer to the student services officers of the institutes administrative office,
course lecturers, the top management, and even students. Each user will have a unique login ID
and password, and depending on their job position (for employees only) and hierarchy in the
institute, they will be given different access levels to the system. For example, a student services
8/7/2019 U08784 part 1
5/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|4
officer will have access to the Exam Listings screen, but will not have access to the Exam
Grading screen. Lecturers however, will have access to the Exam Grading screen but will not
have access to the Exam Listing screen.
Below is a summarized list of functions that could be performed by users at different levels:
Confirm student exam listings Add, edit and delete student details Add, edit and delete course details Add, edit and delete examination-listing details Insert examination results Generate exam entry card Generate consolidated reports (reports on students performance, etc.)
b) Lecturer ModuleThis module is mainly used for maintaining details of lecturers of the institute. Details stored
about lecturers include Lecturer ID, name, course unit(s) assigned, contact number etc. It is
mentioned in the scenario description that lecturers will be involved in the examination
invigilation. Therefore, each lecturer will also be assigned an Exam Invigilator ID for the
respective examination they will invigilate.
c)
Student Module
This module will be used for maintaining details of students of the institute. Details stored about
a student would include Student ID, Name, Passport/NIC number, Phone number, Email address,
Study type (Full-time/Part-Time), Course ID (to identify what course the student is following),
Unit ID (to identify the units which the student has registered for)
d) Course ModuleThis module is mainly used for maintaining details of the various courses offered by the institute.
Details on each unit of each course will also be maintained here. Each course will have a unique
Course ID, Name, Awarding University, and its respective Unit ID(s), and Lecturer ID(s).
e) Exam Listing ModuleAs mentioned in the scenario description, exams are conducted at the end of each semester.
Students will be taking the exam papers for the units they have registered for that respective
semester.
Since there are many exams conducted during the examination period, the system will have to
organize each exam. These exams will be identified by a unique Exam ID, and include other
details such as Exam subject, Semester, Date, Time, and Room number which the exam will be
held in.
8/7/2019 U08784 part 1
6/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|5
All students are required to verify their individual exam listing which will be made available to
the students one month before the actual exam date. This exam listing is based on the units the
student had registered for the semester. Here, students will register themselves to sit for the
exams of each unit. However, students will have the option of withdrawing from any exam for
the current semester and be able to re-register for that exam during the next semester. Although,
there are certain limitations as to how many times a student can withdraw from a particular
exam.
After the student has successfully completed the exam registration, an Exam Entry Card will be
generated for that particular student. This card will have a unique Entry Card Number that will
be used to uniquely identify each exam candidate. The card also holds all other information
regarding the exams, which the candidate has registered. These details include Student ID, Exam
ID, Exam subject, Exam Year, Exam Month, Date, Time, and Room number.
f) Exam Result Module Examination Grading moduleThis too is one of the core modules of the system as it is used to maintain details of a students
examination grading, assignment grading, final grading, and the students Grade Point Average
(GPA).
As mentioned above, this module is used to maintain information on a students grades for each
exam unit. It will also keep track of the number of times a student has withdrawn from a
particular exam unit as well. After a student completes (or withdraws from) an exams, a grade isassigned to him/her. The grade assigned will be based on the marks achieved for each individual
exam unit. The grade is one of A+, A, A-, B+, B, B-, C+, C, C-, D+, D, or F if the student
completes the examination without withdrawing; and the grade W is assigned if the student
withdraws instead.
This module is also used to maintain a students assignment marks for each unit. After the
system has been updated with the grades of both the assignments and examinations, this module
will then be used to generate the Final Grading of students for each unit. The grade is one of
A+, A, A-, B+, B, B-, C+, C, C-, D+, D, or F if the student has completed the assignment and
examination without withdrawing; and the grade W is assigned if the student has withdrawn
instead.
After the marking of individual scripts are completed, an exam board will be conducted to verify
and validate the student results. This exam board will consist of a group which includes both
external and internal moderators.
8/7/2019 U08784 part 1
7/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|6
g) .Attendance ModuleThis module is mainly used to capture the attendance of students during the examination period.
Students will use their student cards to scan-in their attendance. However, in addition to
scanning-in their cards, students will also be required to sign the attendance list which will be
circulated among students while the exams are in progress, under the supervision of the exam
invigilators. It is only after a student has scanned-in and signed the attendance list that their
attendance will be verified and be marked as present for that relevant exam.
This module will also be used to extract students attendance for each unit (each class lecture).
The system will use this information particularly when generating the exam listings for students,
as a student with a low attendance in class will not be allowed to sit for the exam on thatparticular unit.
h) Report Generation ModuleIt is required that the top management be able to generate certain consolidated reports to get an
overview of students performance from various courses.
Thus, this module will be used mainly to generate such reports. The types of reports that this
module will generate are:
Exam Result Slip allows students to print the result slips for their particular examsittings. This slip contains Student ID, Student Name, Unit ID, Unit Name, Exam Grade
and Exam Point. The system will generate this slip automatically after the lecturer enters
student assignment mark and exam mark to be calculated and has approved by
administrator as the Final Exam Mark.
Student Overall Performance Report allows the top management to track an individualstudents performance on the course he/she is currently following.
Student Overall Pass Rate for individual course units allows the top management totrack performances on all students (as a whole) of a particular course unit; based on the
grades achieved for that single unit.
i) Reminder ModuleThis module will be used to send reminders to students; asking them to register for their
individual exam listings. Students will be required to confirm the listings with the student
services officer and whether the exam modules assigned to them by the system is correct. In
addition to reminding students about exam listings, this module will also be used to send
reminders to students regarding the result releases of exams as well.
8/7/2019 U08784 part 1
8/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|7
j) Main MenuAnother important part of the system, apart from the core modules listed above would be a User-
friendly navigation environment. It is important to let users perform all the basic functions of the
system, by making those functions available and easily accessible to the users under a single
location. Therefore, this system will consist of a Main Menu, which displays all the functions
that users will be able to perform according to their access privileges. The Main Menu will be
displayed to user only after successful login to the system.
The list below shows what type of modules will be accessible by the different employees,
depending on their access levels:
Student Service Officers - Student module, Exam listing module, Course module,Employee module.
Lecturers - Exam grading module, Attendance module, Profile, Help, Course module. Top management- Report generation module Administrator Employee module, Student module, Exam Listing module, Exam Grading
module, Lecturer module, Course module, Attendance module.
Student Courses module, Report Generation module, Help module.2.2 Assumptions
By carefully studying the scenario at hand, and given the limited requirements of the new
system, it was imperative that we conducted some research on similar online systems. Based on
the findings of our research we have established a list of assumptions which will sufficient to let
our team proceed to use the Function Point Analysis, and thereafter help us control the system
development accordingly.
The following is the list of established assumptions of each module:
a) Login ModuleSince various employees of different hierarchies will access the system, Login and Access
Control Levels (ACL) will be implemented in order to guide users to their appropriate sectionsof the system, and to protect the confidentiality of the data stored in the system (Student records,
exam grades etc).
b) Lecturer ModuleEvery lecturer of the institute will be involved in examination invigilation. Therefore, it is
assumed that each lecturer will be assigned an Exam Invigilator ID for the respective
examination, which they will be invigilating for.
8/7/2019 U08784 part 1
9/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|8
Certain lecturers will also be involved in the exam board. These lecturers will represent the
institute as internal moderators, and help the external moderators with the process. Once the
students results are validated, the lecturers will then be assigned with the task of entering these
results into the system.
c) Student ModuleA student module will be used to maintain details of students as information such as the course
currently being followed, and units registered for the current semester will be needed to generate
the students exam listing.
d)
Exam Listing Module
Exam listings for the current semester will be out one month before the actual exam date, and all
students are required to verify their individual exam listings. Students will register for exams
based on the units they had registered for that term.
Withdrawal from an exam is permitted, however with the exemption that the applying student
has not already applied for withdrawal for the same unit exam in any previous semesters.
Upon successfully completing exam registration, the system will generate an Exam Entry Card
for that particular student. This Exam Entry Card number is system generated.
Students will use this card as entry proof when sitting for their exams. The card will have a
unique Entry Card Number, which will be used to uniquely identify each exam candidate.
e) Exam Result Module Examination Grading moduleGrades assigned to students will be based on the marks achieved for each individual exam unit.
Depending on the marks, grades assigned will be one of A+, A, A-, B+, B, B-, C+, C, C-, D+,
D, or F or W for withdrawal from the exam.
However, students are able to apply for withdrawal from an exam to a maximum of one attempt
only. For example, a student that withdraws from an exam unit in this semester must sit for the
same exam unit during the next semester. Failure in doing so will automatically assign an F
grade to that student.
Final Grading is calculated based on a weight age factor and varies from unit to unit (This Final
Grade is system generated by using the students exam grade and assignment grade).
Finally, this module will be used to compute a students Grade Point Average (GPA) for each
exam sitting. Therefore, the system will also perform certain computations using the Final
Grading that a student has been given for each exam unit.
8/7/2019 U08784 part 1
10/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|9
The lecturer assigned to each unit exam will act as the internal moderator of the institute, and
therefore he/she will be given access to this module and be able to update the grades of each
student.
f) Course ModuleA particular lecturer can be assigned to more than one course. Therefore, it is possible that he/she
will lecture one or more course units. Due to this, under each Unit ID a corresponding Lecturer
ID will be assigned.
g) Report Generation ModuleEmployees from the top management will be able to login to the system and view certain reports
such as:
A course unit student passes rate- Percentage of the number of students who have passedthe particular unit.
A student overall course performance - This report will use the concerning students pastexamination results along with the GPA and produce an evaluation report on each of the
units taken by that student.
The student overall pass rate This report will use the results of all students that belongto a particular course unit.
h) Attendance ModuleThe attendance module is used to capture and compute based on the information stored in the
database. Function of database just to stores all data,while the function in the attendance module
is the one doing the work for processing. Details such as Student ID, Name, Date and Time
scanned-in will be retrieved.
The exam invigilator will do verification of student attendance. Students with an attendance rate
less than 75% will not be allowed to register for that particular exam unit.
Help functions will be hardcoded into the system, and therefore remove the necessity of having
an extra storage file.
i) Reminder ModuleReminders for exam listings will be sent to students at least one month before actual
commencement of first exam date.
Reminders for result releases will be sent to students one day after the results have been updated
and grades verified by lecturers.
8/7/2019 U08784 part 1
11/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|10
j) Main MenuUpon the successful login, user will enter to a main menu screen. He/she can access the shown
options list depend on the users access level.
k) System In General We assume this system use two databases, Informatics Database and Examination
Database. In order to maintain their updated data, we assume those databases have
connection to each other.
Help functions are hard coded in the system, thus remove the necessary of having an extrastorage file.
System configurations of the schedule time to run the reminder module is hard coded in thesystem.
The system is developed by using 4GL default (e.g. Query Languages, ProgramGenerators, etc ) because the language enables the user to specify conditions and
corresponding actions (the procedural component) while at the same time encouraging the
user to indicate the desired outcome (the nonprocedural component) and then applying its
domain-specific knowledge to fill in the procedural details. This language has 20
SLOC/FP,which will affect the Source Line of Code (SLOC) calculation.
Existing student payment system for each lesson is done outside the InformaticsExamination System, but it still the part of the system itself.
8/7/2019 U08784 part 1
12/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|11
A general overview about the Informatics Education Examination system is shown by the
diagram below:
ExamListing
System
Process
Student
Lecturer
ExamGrading
Reminder Attendance
Course
Examination
Database
Information
CenterDatabase
EI
EO
EQ
Confirmstudentexamresult
Add,edit,anddeletestudent
details
Add,edit,anddeletecourse
details
Add,edit,anddelete
examinationlistingdetails
Generateexamentrycard
Insertexaminationresult
Generateconsolidatereports
EIF
ILF
ILF
ILF
ILF ILF
ILF ILF
User
8/7/2019 U08784 part 1
13/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|12
3. ESTIMATION3.1Function Points Analysis (FPA)Function Point Analysis is used to measure software size by analyzing the system based on the
list of functions that will be available in the system. In addition to measuring output, Function
Point is extremely useful in estimating projects, managing change of scope, measuring
productivity, and communicating functional requirements.
Calculating the Function Point involves several steps:
Step 1: Identify and count the components of information domain
The list of components will be categorized based on the modules of the system. However, there
might be a possibility that certain components will appear in more than one module, this leading
to counting a single component more than once. Therefore, in order to avoid duplication in the
counting of these components, an extra category named General will be created and contain a
list of components that would frequently occur in more than one module.
*Note that the following website was used in order to help us derive the list of components.
http://www.gantthead.com/process/popup.cfm?ID=23594
There are five major components of Function Point, which capture the functionality of the
application as shown below:
a. External Inputs (EIs)External Input refers to data, which crosses the boundary from outside to inside the system. This
data may come from data input screens, electronically, or from another application. This data can
be either control information or business information. (Here, we identify buttons as input, based
on the information domain reference table found in Appendix 6.2)
List of External Input components:
Module ComponentsComplexity
Low Average High
General
OKbutton
Cancelbutton
Editbutton
Savebutton
Printbutton
Total 5 0 0Loginmodule
LoginID
Password
8/7/2019 U08784 part 1
14/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|13
Total 2 0 0
Lecturermodule
LecturerID
LecturerName
UnitID
InvigilatorID
Total 3 2 0
Studentmodule
StudentID
StudentName
PhoneNumber
EmailAddress
PassportNumber
StudyType(FullTime/Part
Time)
CourseID
UnitID[2]
Total 5 2(+1) 0
Coursemodule
CourseID[2]
CourseName
AwardingUniversity
UnitID[3]
LecturerID[2]
Total 2 0(+3) 0
ExamListingmodule
ExamID
ExamSubject
ExamSemester
Date
Time
Confirmation
(Register/Withdraw)
GenerateExamEntryCard
button
Total 7 0 0
ExamGradingmodule
ExamMark
WithdrawnAttempts
AssignmentMark
FinalGrade
Total 3 1 0Attendancemodule StudentID[2]
8/7/2019 U08784 part 1
15/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|14
StudentName[2]
Date[2]
Time[2]
VerifyAttendancebutton
Total 1(+3) 0(+1) 0
ReportGenerationmodule
StudentPerformanceReport
button
AttendanceReportbutton
FinalExamGradeReport
button
Total 3 0 0MainMenu ExamListingbutton
ExamGradingbutton
Reportsbutton
Attendancebutton
Lecturerbutton
Studentbutton
Coursebutton
Total 7 0 0b. External Outputs (EOs)External Input refers to data which crosses the boundary from inside to outside the system. The
data creates reports or output files sent to other applications. (Here, we identify screens as output,
based on the information domain reference table found in Appendix 6.2)
List of External Output components:
Module Components Complexity
Low Average High
General Loginscreen
Main
Menu
screen
Errorreportscreen
Total 2 0 1Studentmodule Studentdetailsscreen
Studentdetailsentry form
Total 1 1 0Lecturermodule Lecturerdetailsscreen
Lecturerdetailsentryform
Total 1 1 0
8/7/2019 U08784 part 1
16/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|15
Coursemodule Coursedetailsscreen
Coursedetailsentryform
Total 1 1 0ExamListingmodule ExamListingform/sheet
ExamEntryCardslip
ExamTimetable
Total 1 2 0ExamGradingmodule Examgradingscreen
Total 1 0 0
Attendancemodule
Studentexamination
attendancesheet
Studentclassattendance
report
Total 0 2 0ReportGenerationmodule
Examresultslip
Studentperformancereport
Unitperformancereport
Total 0 3 0Remindermodule
Examlistingreminderletter
Examresultreleasereminder
letter
Total 2 0 0c. External Inquiries (EQs)Through this part, we identify an elementary process with both input and output components that
results in data retrieval from one or more internal logical files and external interface files. (Here,
we identify screens as output, based on the information domain reference table found in
Appendix 6.2)
8/7/2019 U08784 part 1
17/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|16
List of External Queries components:
Module ComponentsComplexity
Low Average High
General
SelectionofMenuscreens
GetLogindata
GetStudentdata
GetLecturerdata
GetCoursedata
GetExamlistingdata
Total 1 5 0ExamGrademodule Getexamgradingdata
GetGPAdata
GetFinalgradedata
Total 1 2 0
Attendancemodule Getattendancedata
Total 1 0 0ReportGenerationmodule Getresultslipdata
Getexamgradedata
Total 0 2 0Remindermodule Getexamlistingreminderdata
Getexamresultreleasedata
Total 1 1 0Helpmodule GetHelpdata
Total 0 0 1
d. Internal Logical File (ILF)In this part, we identify internal group of logically related data that resides entirely within the
application boundary and is maintained through External Inputs. (Here, we identify screens as
output, based on the information domain reference table found in Appendix 6.2)
List of Internal Logical File:
ILFComplexity
Low Average High
Student
8/7/2019 U08784 part 1
18/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|17
Lecturer
Course
ExamListing
ExamGrading
Attendance
Reminder
Total 5 2 0e. External Interface File (EIF)We indentify EIF through all machine-readable interfaces and sheet that contains data (e.g.,
student card, attendance sheet) that are used to transmit information to examination system.
List of EIF component:
EIF Complexity
Low Average High
InformaticsCentraldatabase
Examinationdatabase
Total 2 0 0Step 2: Compute the complexity weights of the information domains components to get the
Unadjusted Function Point Count
Before calculation of the Unadjusted Function Point Count is done, we are required to identify
the degree of complexity of each component of the information domain.
COMPLEXITYWEIGHTFACTORS
ITEM TOTAL SIMPLE AVERAGE COMPLEXTOTAL
WEIGHT
EXTERNALINPUT(EI) 46 3x(38) 4x(5) 5x(0) 134
EXTERNALOUTPUT(EO) 20 4x(9) 5x(10) 7x(1) 93
EXTERNALQUERY(EQ) 15 3x(4) 4x(10) 6x(1) 58
INTERNALLOGICALFILE(ILF) 7 7x(5) 10x(2) 15x(0) 55
EXTERNALINTERFACEFILE(EIF) 2 5x(2) 7x(0) 10x(0) 10
8/7/2019 U08784 part 1
19/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|18
UNADJUSTEDFUNCTIONPOINT
COUNT(UFP) 350
Table 1.1
Step 3: Tabulate the General System Characteristics (GSC) to generate the Total Degree of
Influence (TDI)
Degree of influence:
0 No influence
1 Incidental
2 Moderate
3 Average
4 Significant
5 - Essential
No Factor CommentsDegreeof
Influence
1Backupand
recovery
Whileastudentsrecord isupdated,there isapossibilitythatan
error could occur. Hence, those unfinished transactions must be
rolledback.Fordataprotection(frommediafailureforexample),
the backup copy of informatics database is needed for
restoration;sothattherewillbenoneedforarollback.
5
2Data
communication
The system consists of two databases; therefore it needs data
communication to provide the rules and regulations that allow
computers with different disk operating systems, languages,
cablingandlocationstoshareresources.Duetothesereasonsthis
applicationwillsupportonlinedatacollection.
4
3Distributed
processing
The processes of this application will be divided into several
smallerprocessesinordertohelpthesystemworkefficiently.The
systemconsistsofmanycomponentswhichwillinteractwitheach
other,whilethisexaminationsystemwillalsorelyondistributed
processing for handling data occurrences between the two
databases.
4
4Performance
critical
The criticality of system performance is quite high as users will
rely heavily on the system response and throughput in order to
achievetheirapplicationobjectives.
4
5 Existingoperating
environmentThereisnoexistingenvironmentforthissystem. 0
6 Onlinedataentry
Mostofthemodulesrequire largeamountsof informationtobe
entered into the system via online data entry, thus making it
essentialtothesystem.
5
7
Inputtransaction
overmultiple
screens
This system requires transaction over multiple screens for the
ExamGradingandResultprocess. 3
8Masterfiles
updatedonline
Themasterfilesupdateronlinewillhelptheadministratorkeep
uptodateeventheadministratorisnotintheoffice.4
9 Informationdomain Since most transactions are updated over multiple files the 3
8/7/2019 U08784 part 1
20/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|19
valuescomplex complexityofthesystemisquitemoderate.
10Internalprocessing
complex
The system consists of 16 inquiries in total and most modules
require heavy processing. Therefore, the internal processing
complexityisfairlymoderate.
3
11Codedesignedfor
reuse
Thereusablecodedesigncanreducethecostandtimeofmaking
theproject.Besideitwillmaketheusereasiertounderstandhow
tousethesoftware.Becauseitlikesupdatingthesoftwareitself.
3
12
Conversion/
installationin
design
It isassumed that there is no existing system; hence there isno
needforanyconversionsorinstallations. 0
13Multiple
installations
Since the application will be mainly used by the administrative
department, installations in multiple locations will not be
necessary.
2
14
Application
designedfor
change
The application itself must be designed for easy to be changed,
because if the application hard it be updated for short period
maybetherewillbenoproblem,butforlongperioditwillbethe
majorproblemfortheapplicationitself.
3
TotalDegreeof
Influence(TDI)43
Step 4: Calculate the Complexity Adjustment Factor (CAF)
CAF = 0.65 + (0.01 x TDI)
= 0.65 + (0.01 x 43)
= 0.65 + 0.43
=1.08
Step 5: Calculate the Final Function Point Count (FPC)
AFP = UFP * CAF
= 350 * 1.08
= 378
8/7/2019 U08784 part 1
21/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|20
3.2Lines of Code (LOC) AnalysisDetails Values
AssumedProductivity(AP) 10FunctionPointPerMonth
AverageMonthlySalaryofEmployee(SE) $4,000.00
CostPerFunctionPoint(CFP)
AverageMonthlySalaryDividedbyAssumedProductivity
PerMonth SE/AP
$400.00
Effort(E)
FinalFunctionPointDividedbyAssumedProductivityFFP
/AP
37.8PersonMonths
OverallCostEstimated(OCE)
AverageMonthlySalaryofEmployeeMultipliedby Effort
AP*E
$151,200.00
EstimatedLinesOfCode(LOC)
FinalFunctionPointMultipliedbyStandardValueofFP
for4GLsuchas.NET
7560
CostperLOC
OverallCostDividedbyEstimatedLinesofCode OCE/
LOC
$20
ProjectDuration
EstimatedEffortDividedbyNumberbyNumberof
AssumedDevelopers
E/5
37.8/5
5.4
=7.56
Ateamof5Developerswouldfinishthisprojectin
approximately8months
8/7/2019 U08784 part 1
22/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|21
Justification for Estimated LOCModule EstimateLOC LOCPerMonth $/LOC TotalCost($) Effortper Month
MainMenu 400 175 $15 $6000 2.3
Login 400 175 $20 $8000 2.3
Lecturer 700 175 $20 $14000 4
Student 700 175 $20 $14000 4
Course 700 175 $20 $14000 4
ExamListing 1100 250 $20 $22000 4.4
ExamResult 600 175 $20 $12000 3.4
Attendance 800 200 $20 $16000 4Report
Generation1000 225 $15 $15000 4.4
Reminder 1200 250 $25 $30000 4.8
Total 7600 $152,000 37.6
3.3Constructive Cost Module (COCOMO) EstimationStep 1: Estimating Software Development Cost Drivers
Under the Software Development there are four classes of attributes that fall into COCOMOmodel and these are Product Attributes, Computer Attributes, Personnel Attributes and Project
Attributes. Each of these attributes has several cost drivers and ratings that are specifically rated
from Very Low to Extra High and it used for the development of a software project .
LEGENDVL L N H VH XH
Productattributes
VL VeryLowRequiredsoftwarereliability 0.75 0.88 1.00 1.15 1.40
L Low Sizeofapplicationdatabase 0.94 1.00 1.08 1.16
N NominalComplexityoftheproduct 0.70 0.85 1.00 1.15 1.30 1.65
H HighHardwareattributes
VH VeryHigh Runtimeperformanceconstraints 1.00 1.11 1.30 1.66
XH ExtraHigh Memoryconstraints 1.00 1.06 1.21 1.56
Virtualmachinevolatility 0.87 1.00 1.15 1.30
ComputerTurnaroundTime 0.87 1.00 1.07 1.15
Personnelattributes
Analystcapability 1.46 1.19 1.00 1.19 0.71
8/7/2019 U08784 part 1
23/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|22
Softwareengineercapability 1.29 1.13 1.00 0.91 0.82
Applicationsexperience 1.42 1.17 1.00 0.86 0.70
Virtualmachineexperience 1.21 1.10 1.00 0.90
Programminglanguageexperience 1.14 1.07 1.00 0.95
Projectattributes
ModernProgrammingPractices 1.24 1.10 1.00 0.91 0.82
Figure 1.0
Step 2: Estimating the value of EAF (Effort Adjustment Factor)
Based on the above chart (Figure 1.0) we must get the value of the overall value of EAF andtherefore must multiply all the multiplier which is rated below and higher than the Nominal
value (effort multiplier of 1.00).
Efforts are rated as follows. All others are nominal to 1.0
CostDrivers Level EAF
Complexity High 1.15
Storage High 1.08
Runtimeperformanceconstraints High 1.11
Virtualmachinevolatility Low 0.87
EAF = 1.15 * 1.08 * 1.15 * 0.87 = 1.379
Step 3: Estimating the KLOC, Effort, Cost and Duration
COCOMO'81 models depend on the two main equations:
Development effort: Effort = EAF * a * size b based on MM - man-month / personmonth / staff-month is one month of effort by one person. In COCOMO'81, there are 152
hours per Person month. According to organization this values may differ from the standard
by 10% to 20%. Effort and development time (TDEV):TDEV = 2.5 * MM c
8/7/2019 U08784 part 1
24/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|23
The coefficients a, b and c depend on the mode of the development. There are three modes of
development:
DevelopmentMode ProjectDevelopment
Size Innovation Deadline/Constraints Dev.Environment
Organic Small Little NotTight Stable
SemiDetached Medium Medium Medium Medium
EmbeddedLarge
Greater Tight ComplexHardware/Customer
Interfaces
According to our study, we have decided that, Semi-Detached is the most appropriate mode of
development, and based on the Boehm proposed three levels of the model, Intermediate would
be used.
IntermediateCOCOMOModel
SoftwareProject a b c
Organic 3.2 1.05 0.38
Semidetached 3.0 1.12 0.35
Embedded 2.8 1.20 0.32
Based on the above depiction, the project is judged to be Semi-detached(So a=3.0, b = 1.12). And therefore, the details are as follows:
Effort = EAF * a * sizeb
=1.379 * 3.0 * 7.6 1.12
= 1.379 * 3.0 * 9.69
= 40.09 Man-months
To estimate the cost of the overall project we must multiple the values of effort and the salary
given per person which is $4000.
Cost = Effort * Salary
= 40.09 * $4000
= $160.386
The overall cost of the project is more or less than $160,000.
8/7/2019 U08784 part 1
25/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|24
Duration
Once estimation is acquired for the Effort (Person Months) we must determine the calendar-time
duration of the project and the people should be doing a particular job.
Calculating Duration:
We had 40.09 person-months for estimating the effort for this software project. And therefore
the project was subjected Semi-detached project.
TDEV=2.5 * MM c
Duration = 2.5 * (40.09) 0.35
Duration = 2.5 * 3.63
Duration = 9.09
Roughly9.09 months to complete the project.
How many people should we hire?
40.09 person-months = 4.4persons, roughly5team members needed.
9.09 months
8/7/2019 U08784 part 1
26/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|25
4. CONCLUSION
According to our Function Point and LOC analysis, this project will cost around $150,000-
$157,000 in order to pay a 5-memberteam of IT professionals, having a capability of10 FP/M,
with an average salary of $4000 per month. Further calculations suggest that an estimated 38months per single programmer, or 38 programmers for one month will be required to complete
the estimated 7600 lines of code in the system, using a 4GL (.NET) Programming Language.
In addition, our COCOMO analysis has further strengthened the estimated values of cost, effort,
and time derived from the previous Function Point and LOC analysis techniques, by having
differences in values which are not greater than 0.8%.
In conclusion, based on the average total of all three of our analysis techniques, it is expected
that the Informatics Examination System is supposed to cost in the region of$156,200. Theaverage estimated effort is around 38 person-months. Therefore, taking all these into
consideration, we come to a conclusion that development of this project is expected to be
completed in 9 monthsby a development team consisting of5 people.
Technique Overallcost($) Effort(PersonMonths) Duration(Months)
FunctionPointAnalysis 151,200 37.80 8
LOCAnalysis 157,000 38.00 8
COCOMOEstimation 160,386 40.09 9
8/7/2019 U08784 part 1
27/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|26
5. APPENDIX
Group Report
There are some task that completed by different person in our group, so we divide our work
so we can finish this assignment faster. But there are some part that we combine doing some
part/task, this method is to avoid or minimize the problem. Not only that, this method also
gives us a better change to get the best idea that our member have.
Table of completed tasks
No Tasks M1 M2 M3
1 InformaticsEducationExaminationPlanning
2 AssumptionsforEachSystemModule
3 GeneralOverviewHowtheSystemWorks
4 FunctionPointAnalysis RV RV
5 FinalFunctionPointCount RV RV
6 ValueofCAF
7 CalculationofCost,Effort,andTimeEstimation RV RV
8 LOCAnalysis RV RV
9 COCOMOEstimation RV RV 10 Documentation:IntroductionandthePlanningChapter RV RV
11 FinalDocumentation
LEGEND
M1 AgnesMeiliana
M2 DanielNatanael
M3 JasonAlertaObina
RV Reviewedby
8/7/2019 U08784 part 1
28/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|27
Full Form TableFP FunctionPoint
LOC LineofCodes
COCOMO ConstructiveCostModule
FPA FunctionPointAnalysis
EIs ExternalInputs
EOs ExternalOutputs
EQs ExternalInquiries
ILF InternalLogicalFile
EIF ExternalInterfaceFile
GSC GeneralSystemCharacteristics
TDI TotalDegreeInfluence
CAF ComplexityAdjustmentFactor
FPC FinalFunctionPointCount
MM ManMonth
EAF EffortAdjustmentFactor
TDEV Effortanddevelopmenttime
8/7/2019 U08784 part 1
29/29
U08784 Software Project Management
Term 3, 2009, Assignment Part I
Page|28
5. REFERENCES SoftwareengineeringLanSommervilleFiftheditionAddisonwesley page[592 608] Fifth Edition, Software Engineering by Ian Sommerville, AddisonWesley Publishing Company,
[599604]
SoftwareEngineering:APractitionersApproach,ThirdEdition,RogerS.Pressman[8387]InformationSystemDesignStudyGuideVersion1
http://www.ecfc.unet.com/cost/cocomo.htm http://www2.enel.ucalgary.ca/People/Smith/619.94/prev689/1997.94/reports/farshad.htm http://sunset.usc.edu/events/2000/oct242700/index.html http://cost.jsc.nasa.gov/COCOMO.html U08784SoftwareProjectManagementStudyGuide
top related