7
Course Code : MCS-014 Course Title : Systems Analysis and Design Assignment Number : MCA (1)/014/Assign/2010 Maximum Marks : 100 Weight age : 25% Last Dates for Submission : 15 th October, 2010 (For July Session) Q1: Every vendor estimates the cost of a Software Project and presents it to the Client for consideration. How is it possible to estimate the cost of a Software Project before completing the project? What are the issues that may arise due to estimation of cost of a Software Project before commencing the project? Explain any one Software cost estimation technique. Ans.: Software cost estimation is the process of predicting the effort required to develop a software system. Many estimation models have been proposed over the last 30 years. This paper provides a general overview of software cost estimation methods including the recent advances in the field. As a number of these models rely on a software size estimate as input. We first provide an overview of common size metrics. We then highlight the cost estimation models that have been proposed and used successfully. Models may be classified into 2 major categories: algorithmic and non-algorithmic. Each has its own strengths and weaknesses. A key facto r in selecting a cost estimation model is the accuracy of its estimates. Unfortunately, despite the large body of experience with estimation models, the accuracy of these models is not satisfactory. The paper includes comment on the performance of the estimation models and description of several newer approaches to cost estimation. In recent years, software has become the most expensive component of computer system projects. The bulk of the cost of software development is due to the human effort, and most cost estimation methods focus on this aspect and give estimates in terms of person-months. Accurate software cost estimates are critical to both developers and customers. They can be used for generating request for proposals, contract negotiations, scheduling, monitoring and control. Underestimating the costs may result in management approving proposed systems that then exceed their budgets, with underdeveloped functions and poor quality, and failure to complete on time. Overestimating may result in too many resources committed to the project or during contract bidding, result in not winning the contract, which can lead to loss of jobs. Accurate cost estimation is important because: It can help to classify and prioritize development projects with respect to an overall business plan. It can be used to determine what resources to commit to the project and how well these resources will be used. It can be used to assess the impact of changes and support preplanning. Projects can be easier to manage and control when resources are better matched to real needs. Customers expect actual development costs to be in line with estimated costs. Software cost estimation involves the determination of one of more of the following estimates:

Assignment of 014

Embed Size (px)

Citation preview

Page 1: Assignment of 014

Course Code : MCS-014Course Title : Systems Analysis and DesignAssignment Number : MCA (1)/014/Assign/2010Maximum Marks : 100Weight age : 25%Last Dates for Submission : 15th October, 2010 (For July Session)

Q1: Every vendor estimates the cost of a Software Project and presents it to the Client for consideration. How is it possible to estimate the cost of a Software Project before completing the project? What are the issues that may arise due to estimation of cost of a Software Project before commencing the project? Explain any one Software cost estimation technique.

Ans.:Software cost estimation is the process of predicting the effort required to develop a software system. Many estimation models have been proposed over the last 30 years. This paper provides a general overview of software cost estimation methods including the recent advances in the field. As a number of these models rely on a software size estimate as input. We first provide an overview of common size metrics. We then highlight the cost estimation models that have been proposed and used successfully. Models may be classified into 2 major categories: algorithmic and non-algorithmic. Each has its own strengths and weaknesses. A key facto r in selecting a cost estimation model is the accuracy of its estimates. Unfortunately, despite the large body of experience with estimation models, the accuracy of these models is not satisfactory. The paper includes comment on the performance of the estimation models and description of several newer approaches to cost estimation.

In recent years, software has become the most expensive component of computer system projects. The bulk of the cost of software development is due to the human effort, and most cost estimation methods focus on this aspect and give estimates in terms of person-months.

Accurate software cost estimates are critical to both developers and customers. They can be used for generating request for proposals, contract negotiations, scheduling, monitoring and control. Underestimating the costs may result in management approving proposed systems that then exceed their budgets, with underdeveloped functions and poor quality, and failure to complete on time. Overestimating may result in too many resources committed to the project or during contract bidding, result in not winning the contract, which can lead to loss of jobs.

Accurate cost estimation is important because: It can help to classify and prioritize development projects with respect to an overall business plan. It can be used to determine what resources to commit to the project and how well these resources will be used. It can be used to assess the impact of changes and support preplanning. Projects can be easier to manage and control when resources are better matched to real needs. Customers expect actual development costs to be in line with estimated costs.

Software cost estimation involves the determination of one of more of the following estimates: Effort (usually in person – months) Project duration ( in calendar time) Cost ( in dollars)

Most cost estimation models attempt to generate an effort estimate, which can then be converted into the project duration and cost. Although effort and cost are closely related, they are not necessarily related by a simple transformation function. Effort is often measured in person-months of programmers, analysts and project manages. This effort estimate can be converted into a dollar cost figure by calculating an average salary per unit time of the staff involved, and then multiplying this by the estimated effort required.

Practitioners have struggled with three fundamental issues:(i) Cost of human resources(ii) Cost of infrastructure (iii) Cost of training

Page 2: Assignment of 014

Q2: What are the rules that need to be followed for drawing Data Flow Diagrams? Draw DFD’s (at least up to 3rd level) for a Student Information System. Make assumptions, wherever necessary.

Rules for drawing a data flow diagram:1. For process;

i. No process can have only outputs.ii. No process can have only inputs.

iii. A process has a verb phrase label.2. For Data Store:

i. Data cannot move directly from one data store to another data store. Data must be moved through a process.ii. Data cannot move directly from an outside source to data store. Data must be moved through a process that

receives data from the source and places it into the data store.iii. Data cannot move directly to an outside sink from a data store. Data must be moved through a process.iv. A data store has a noun phrase label.

3. For source/sink.i. Data cannot move directly from a source to a sink. It must be moved by process.

ii. A source/sink has a noun phrase label4. For data flow:

i. A data flow has only one direction of flow between symbols. It may flow in both direction between a process and a data store to show a read operation before an update.

ii. A data flow cannot go directly back to the same process it leaves. There must be at least one other process which handles the data flow, produce some other data flow and returns the original data flow to the beginning process.

iii. A data flow to a data store means update (delete of change)iv. A data flow from a data store means retrieve or use.v. A data flow has a noun phrase label.

Context Diagram

Page 3: Assignment of 014

Level 1 Data Flow Diagram

Level 2 Data Flow Diagram

Level 3 Data Flow Diagram:

Page 4: Assignment of 014

Q3: Draw complete Entity Relationship Diagram (ERD) for a Student Information System. Make assumptions wherever necessary.

Level 3 Data Flow Diagram:

Page 5: Assignment of 014

Q4: Every piece of Software needs to be thoroughly tested before it is put to use. When the process of testing of Software is commences? Explain different testing techniques.

When the process of testing of software is commences then the following activities are involved during the software testing.

Preparation of Test PlanThe first step in system testing is to prepare a document called a Test Plan. Test plan is a document which outlines the

Page 6: Assignment of 014

When the process of testing of software is commences then the following activities are involved during the software testing.

Preparation of Test PlanThe first step in system testing is to prepare a document called a Test Plan. Test plan is a document which outlines the