Assignment of 014

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

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 : 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
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 label
4. 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
Level 1 Data Flow Diagram
Level 3 Data Flow Diagram:

Level 2 Data Flow Diagram


Q3: Draw complete Entity Relationship Diagram (ERD) for a Student Information System. Make assumptions wherever
necessary.
When the process of testing of software is commences then the following activities are involved during the software testing.

Preparation of Test Plan


The first step in system testing is to prepare a document called a Test Plan. Test plan is a document which outlines the
aspect of the system to be tested. A workable Test Plan is prepared in accordance with the design specification such as-
 Expected output from the system
 Criteria for evaluating the output.
 Nature and Volume of test data and
 Procedure for using the test data.

Specification of User Acceptance Test


User is involved to prepare test cases. These can be derived from the Test Plan. Other parameters are test schedule, test
duration and the person delegated to carry out the user acceptance test.

Preparation of Test data for Testing


Test data are often generated during testing of program. The test data must be true representative of the live data to be
actually used by the end users after installation. Care should be taken to select the nature and volume of data.

Testing Techniques:

Alpha Testing
Alpha testing is carried out by the customer at the developer’s site. The customer users the software and records the
errors/bugs and usage problem. Alpha testing is carried out in a controlled environment.

Beta Testing
Beta testing is carried out at one or more customer sites by the end users. It is live testing of the software product and
not controlled by the developer. The customer tests the software using her/his own data records and reports the bugs or
problems in regular intervals to the developer.

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.

You might also like