Вы находитесь на странице: 1из 14

Software Engineering

Abdullah
K15-2129

Sec - F
Q26.1: Under what circumstance might a company charge a much higher price for a software
system than that suggested by the cost estimate plus a normal profit margin?

Those circumstances are:

• When project has special requirements.

• when organistaion is unsure of project cost, cost rise beyond estimate by a contingency over and above
its normal profit.

• If customers ask for source code or special rights

• If the requirements change often.

Q26.2: Describe two metrics, that have been used to measure programmer productivity. Comment
briefly on the advantages and disadvantages of each of these metrics.

1. Size-related metrics: related to output size of some activity. Commonly used size-related metric is the
lines of delivered source code.

Advantage: when organization is aware of the requirements and the work this metric helps them in
understanding the time required on this project.

Disadvantage: Inaccurate when organization is unaware of requirements Secondly, determining lines of


code depends upon the quality of programmer.

2. Function-related metrics related to overall functionalities of deliver software where amount of useful
functionality which produce in given time expressed as productivity and Function point and object point
are best know metric of this

Advantage: Less subjected respected to the source code metrics

Disadvantage: accuracy depends upon the quality of requirements

Q 26.3: In the development of large, embedded real-time systems, suggest five factors that are likely
to have a significant effect on the productivity of the software development team.

Application domain experience: Knowledge of the application domain is important for effective
software development Engineers because those who understand people with domain familiarity are most
productive.

Process quality: The development process used can have a significant effect on productivity.

Project size: the larger a project, team communication take more time. So less time available for
development so individual productivity reduced

Technology support: Good support technology such as CASE tools and configuration management
systems can improve productivity.

Working environment: a quiet working environment with private work areas contributes to improved
productivity.
Q26.4: Cost estimates are inherently risky irrespective of the estimation technique used. Suggest
four ways in which the risk in a cost estimate can be reduced.

1) We can utilize diverse estimation procedures to get various free estimations. On the off chance
that these estimations are broadly different, we can produce all the more costing data repeat until
the evaluations scope
2) If we discover parts of task phrases are difficult to evaluate, we ought to build up a model to
discover what issues happening to those expressions
3) We can reuse the product to diminish estimation that we have to do

When the framework capacities are adjusted to a settled cost, we have to embrace a plan to cost to the
advancement

Q26.5: Why should several estimation techniques be used to produce a cost estimate for a large,
complex software system?

While evaluating a large complex programming it is attractive to have numerous systems for cost
estimation on the grounds that every estimation strategy has its own qualities and shortcomings. Every
utilization diverse data about the task and the advancement group, so in the event that you utilize a
solitary model and this data isn't precise, your last gauge will not be right. subsequently, you should
utilize a few cost estimation strategies and look at their outcomes. In the event that these anticipate
drastically unique costs, you most likely don't have enough data about the item or the improvement
procedure. You should search for more data about the item, process or group and rehash the costing
procedure until the point that the appraisals unite. These estimation methods are relevant where a
necessities archive for the framework has been created. This ought to characterize all clients and
framework necessities. You can subsequently make a sensible gauge of the framework usefulness that
will be produced. When all is said in done, extensive frameworks building ventures will have such a
prerequisites report.

Q26.6:

It must be adjusted because in this scenario, a number of factors are different from the normal situation
and special measures are required to be taken for the following aspects:

1) Safety-criticality
2) Unusual hardware
3) Memory limitations on system
The cost estimate has to be adjusted by keeping an account of all of these aspects.

Q26.7: Give three reasons why algorithmic cost estimates prepared in different organizations are
not directly comparable

1) Different languages and development tool


2) Different historical cost databases
3) Subjective complexity estimates to adjust results
Q26.8: Explain how the algorithmic approach to cost estimation may be used by project managers
for option analysis. Suggest a situation where managers may choose an approach that is not based
on the lowest project cost

ANSWER:

1) Produce worst, best and most likely cost estimates using simple model.
2) Build a spreadsheet model allowing the effects of these variables on the cost estimates to be
computed.
3) Identify process and product variables such as team experience, possibility of hardware upgrade,
possibility of tool purchase, etc.

Q26.9: Some very large software projects involve writing millions of lines of code. Suggest how
useful the cost estimation models are likely to be for such systems. Why might the assumptions on
which they are based be invalid for very large software systems?

Cost estimation is really difficult in a major venture on the grounds that the room for give and take is low
and even a little estimation blunder can cost heaps of measure of cash along these lines it is extremely
basic to be precise when you need to give a gauge a major undertaking consequently these cost estimation
models can disentangle this procedure and help in making right estimation. In the event that we miss-
foresee the lines of code in a major programming our estimation cannot be right.

Additionally, a vast task is probably going to have various obscure dangers that can't be represented at the
underlying period of the product, along these lines one must be extremely cautious while evaluating
expenses of a substantial venture.

Q26.10: Is it ethical for a company to quote a low price for a software contract knowing that the
requirements are ambiguous and that they can charge a high price for subsequent changes
requested by the customer?

On the off chance that an organization realizes that the requirements are ambiguous and that further
changes are ensured to be made then the organization shouldn't cite a low value cost assess. Rather, a
superior choice for the organization is tell the clients that with the given arrangement of necessities, an
exact gauge can't be made about the venture. In this way constraining the client to either begin the
undertaking without a settled cost gauge or to give a superior record of the necessities for the task.

Q26.11: Should measure productivity be used by managers during the staff appraisal process?
What safeguards are necessary to ensure that quality is not affected by this?

It can be considered as a sensible measure for staff evaluation. however, the managers must be watchful
about the nature of the work being finished by the representatives. Since, efficiency is useless unless the
quality is likewise represented. Thus, managers must take shields to guarantee quality also. The nature of
the item can be kept represented by requesting that the representatives indicate unit trial of their work.
part 2
(1)

Paths:
1- 1-2-4
2- 1-2-3-2-3-2-3-2…-4
(2)

Number of paths:
Paths
(1) 1-8
(2) 1-2-1-8
(3) 1-2-3-4-6-3-4-6-1-..-8
(4) 1-2-3-6-1-..-8
(5) 1-2-3-4-5-6-1-..-8
(6) 1-2-3-4-5-6-7-..-8

(3)

Paths
(1) 1-2
(2) 1-3
(3) 1-3-1..2
(4)

Paths
1) 0-1-2-3-1..0
2) 0-1-0
(5)
paths
(1) 1-2-3-4-5-16
(2) 1-3-4-5-6-8-10-12-13-14-15-5..16
(3) 1-2-3-4-5-6-8-10-12-13-14-15-5..16
(4)1-3-4-5-6-7..6-7-6-8-10-12-13-14-15-5..16
(5) 1-3-4-5-6-7..6-7-6-8-9-8..-10-12-13-14-15-5..16
(6) 1-3-4-5-6-7..6-7-8-9-8..-10-11-12-..10-12-13-14-15-5..16
(7) 1-3-4-5-6-7..6-7-8-10-11-..10-12-13-14-15-5..16
(8) 1-3-4-5-6-8-9-8-9..8-10-11..10-12-13-14-15-5..16
(9) 1-2-3-4-5-6-7..6-7-6-8-10-12-13-14-15-5..16
(10) 1-2-3-4-5-6-7..6-7-6-8-9-8..-10-12-13-14-15-5..16
(11) 1-2-3-4-5-6-7..6-7-8-9-8..-10-11-12-..10-12-13-14-15-5..16
(12) 1-2-3-4-5-6-7..6-7-8-10-11-..10-12-13-14-15-5..16
JAVA Code

/* int nat_sum(int num){

* To change this license header, choose License if(num == 1){


Headers in Project Properties.
return 1;
* To change this template file, choose Tools |
}
Templates
return num + nat_sum(num-1);
* and open the template in the editor.
}
*/

package seassignment;
void prime_nums(int s, int e){

for(int i = s; i <= e; i++){


/**
int c = 0;
*

* @author Abdullah
for(int j = 1; j <= i; j++){
*/
if(i%j == 0){
public class Seassignment {
c++;

}
/**
}
* @param args the command line arguments
if(c == 2){
*/
System.out.println(i);

}
int factorail(int num){
}
int fact = 1;
}
for (int x = num; x > 0; x--){

fact *= x;
void fib_num(int n1, int n2, int ran){
}
if (ran <= 0){
return fact;
return ;
}
}
System.out.println(n1);

fib_num(n2,n1+n2,ran-1); public static void main(String[] args) {

} // TODO code application logic here

Seassignment a = new Seassignment();

void fibSeries(int num){ a.prime_nums(0,10);

fib_num(0,1,num); a.n_pyramid(5);

} a.fibSeries(10);

void n_pyramid(int num){ System.out.println(a.factorail(4));

if(num % 2 == 0){ System.out.println(a.nat_sum(4));

num++; }

int spaces = num-1/2; }

int stars = 1;

for (int i = 0; i < num; i++){

for (int j = 0; j < spaces; j++){

System.out.print(" ");

for (int k = 0; k < stars; k++){

System.out.print("*");

for (int j = 0; j < spaces; j++){

System.out.print(" ");

stars += 2;

spaces -= 1;

System.out.println();

Вам также может понравиться