2
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-

Software Design Assignment

Embed Size (px)

DESCRIPTION

This is the software design assignment for the team programming approach and the measurement of programming.

Citation preview

Page 1: 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-

Page 2: Software Design Assignment

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