Seassignment.pdf

  • Uploaded by: Abdllah Ansari
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Seassignment.pdf as PDF for free.

More details

  • Words: 1,533
  • Pages: 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 missforesee 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 Headers in Project Properties.

if(num == 1){ 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; } return fact;

void fib_num(int n1, int n2, int ran){ if (ran <= 0){ 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(); } }

}

More Documents from "Abdllah Ansari"

Seassignment.pdf
June 2020 0
Unidad 2.pdf
December 2019 3
Mail.docx
October 2019 10