Software Design Assignment
-
Upload
mengheng-lim -
Category
Documents
-
view
4 -
download
2
description
Transcript of Software Design Assignment
Name: Mengheng LIM
ID: 12020303
Software Design Assignment 3
1. Explain Different Team programming approach in detail.
• Democratic Team Approach: the main idea for this approach is egoless
programming, which mean that each of individual programmers share the tasks and
working individually with equal right. There is no one who is the leader or controls
other members, and there is no different between higher experiences programmers
and beginner programmers. Moreover, each programmer likes to convince other
member to find the faults in his/her code, which make the quality of the code much
better. Furthermore, everyone must be taking a part of the responsible for the project
whether the result is good or bad. On the other hand, the money and the awards that
they get for that project are divided equally among all of the members.
• Chief Programmers Team Approach: the main idea for this approach is hierarchy
process which means there must me someone to control, manage and responsible for
the project given. Moreover, each programmer is divided for separate task that related
to their specialize skills, which they have been trained before. The chief programmer
is both a successful manager and a highly programming skilled that can do the
architectural design for the programmers and can solve any critical or complex
sections of the code. There is also a backup programmer that is also having similar
personality to chief programmer but he/she is the most important when the chief is ill
or busy or are no more available for this project. Another member is programming
secretary, which has highly programming skill and responsible for maintaining the
project production library, the documentation of the project.
• Mixed team approach: is the team programming approach which make use of the
strengths of both democratic and chief programmer teams, and it is useful for team
that has more than 20 members. The chief programmers are no longer exist but there
are two separate leaders in responsible for the task, team leader works with the
technical related task such as programming. Team manager works with the non-
technical related to managerial role in a team such as team meeting, any issues relate
to the team or personal.
2. Write different methods to calculate the size of the project. Explain all in detail.
• Lines of code: LOC (Line of Code), KDSI (Thousand Distribution Source
Instruction), KLOC (Thousand Line of Code). There is not specific way to count line
of code because it differ from project to project as style of coding is not always the
same. For example, there are Executable lines of code, Data definitions, Comments
and JCL statements. However, all of these line can be changed or deleted during the
implementation or testing. As the result, we can only calculate it after the project is
completed.
• FFP: is the method using the data processing products and the main structural
elements of this method is Files (Fi), Flows (Fl) and Processes (Pr). The formula for
this method is
o Size: S = Fi +Fl +Pr
o Cost: C = b × S ; b is the efficiency or productivity constant which might be
different from company to company
• Function Points: its metric is based on the number of input (Inp), output (Out),
inquiries (Inq), master files (Maf), and interfaces (Inf).
o FP = 4 × Inp + 5 × Out + 4 × Inq + 10 × Maf + 7 × Inf
Then we find the Compute the technical complexity factor (TCF) which each of the
14 factors value from 0 to 5. And add those 14 numbers to get the total degree of
influence (DI), then use the formula:
o TCF = 0.65 + 0.01 × DI
• COCOMO: First step the length of products in KDSI is estimated then we can
estimate the Nominal effort using this formula:
o Nominal effort = 3.2 * (KDSI)1.05 person-months