Software Estimation Model And Presales Monitoring System Information Technology Essay

Published: November 30, 2015 Words: 1089

During my Under graduation we had final year project which was sponsored by the company named Zensar Technologies LTD. Project name was given as "Software Estimation model and presales monitoring system". At start we were like what this is all about how can one estimate a software and also how the prospective customers are been tracked for the software. AS we progressed we were explained with the concept of software estimation by functional point and by use case points. So now it was our turn now to gather what are the expectations (i.e what are been required in the software that we are been asked to implement). So we were in totally in first phase of the Software engineering to gather requirements. So our first step was to meet project guide and discuss about the requirements and then to prepare a Software Requirements Specifications (SRS) document and to get approved from project guide so that for future our scope for system remains very clear. Project requirement help us to decide how work should be distributed among team according to the individual best in particular skills. Project requirements helps us to work according to requirements of project (i.e system expectations from another side). With help of requirements we can come to know the complexity of project and also deficiencies of project can be sometimes gathered from requirements. We always took care that we never got trapped in endless requirements gathering as it leads to project failure. Project requirements are the base of project and so when it is strong it is obvious to build good system.

2# Project Process Modeling

Like all complex systems, software evolves over a period of time. Business and product requirement often change as development proceeds, making straight path to an end product unrealistic; tight market deadlines make completion of a comprehensive software product impossible, hence a limited version has to be introduced. The core product is well understood but details have yet to be defined. In these and similar situations, software engineers need a process model that has been explicitly designed to accommodate a product that evolves over time.

As the nature of our project during my under graduation was techno-critical, as per the needs of the sponsoring company, the incremental model of software development was chosen. This helped us to deliver the project by four member's team within the deadline.

Increment 1

During the early meetings with the Project guide, the requirements and the present situation in the company were noted. After the requirement analysis was done, the High level design of the 'core product' was done and submitted to the company for their approval.

Increment 2

The first independent system that is the Software Estimation model, in which estimates are calculated by Function Point and Use case point, was designed and implemented, and were deployed on the company machines and tested.

Increment 3

The second independent system that is the Pre-sales Monitoring System was designed and implemented, and were deployed on the company machines and tested.

Ref:

Book: -

Software Engineering - Roger Pressman

3# Documentation

While working on project sponsored by the company, Importance of documentation was noticed by us. Documentation helped us to great extent to understand the policies of company and how resources are accessed in industry are known to us.

1. During project to work as fresher in company is like big thing. We feel oh my god how we are going to do the project as everything is new and very technical. Experienced people working in company are very much busy in doing their work so to get information or knowledge from this experienced people is very difficult. So at this moment documentation helps for fresher to learn new things. Fresher can read the documentation on past projects and understand the work how people work in industry and how project is carried and deployed at last in very detailed steps. Thus fresher's can understand the basics of work from this past documentation and can start working .Documentation helps to increase efficiency of work for fresher's or somebody new to the concept of working on new systems.

2. Documentation helps developer to understand the scope of system and the requirements of the projects to be reflected in developed system. Its been noticed that documentation at every stage of software development is recommended to future reference. I also noticed that documentations are updated whenever necessary if changes are made to the systems which I feel is very important.

Ref:

Book: -

Software Engineering - Roger Pressman

4# Estimation

Inaccurate software development estimates and overly optimistic estimates are major contributors to project failure, despite the fact that every completed project is a rich source of information about performance and estimation.

Estimation at start of project is some what of +200 to -200% to the real project cost resulting at end. It's been noticed that estimation is calculated at every stage of software development , and results of estimation calculation goes very close to actual cost of project if project is on schedule .

Estimation are of three types like estimation in money then estimation in man efforts i.e manforce requirements and the last one is estimation in time. Every company bids for the new projects by accurately calculating estimates for projects with what resources they have, So it becomes very critical from business point of view to calculate correct estimates to get the project.

Ref:

Book: -

Software Engineering - Roger Pressman

Website:-

http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1324572

5# Testing

Need of testing

Software testing is a crucial element of software quality assurance and represents the ultimate review of specification, design and code generation. The increasing visibility of software as a system element and the attendant "costs" associated with a software failure motivate for well-planned, thorough testing.

Instead the view of demolishing the software, the testing should be viewed as an effort to increase the software reliability. The inherited bugs in the software are the results of human imperfection and human communications problems.

Testing Objectives

1. Testing is a process of executing a program with the intent of finding an error.

2. A good test case is one that has a high probability of finding as as-yet-indiscovered error.

3. A successful is one that uncovers as as-yet-undiscovered error.

There is a widely known misconception that, a successful test is one, which gives no bugs.

The above objectives change this by saying that successful tests systematically cover different kinds of errors with minimum amount of test and efforts.

Ref:

Book: -

Software Engineering - Roger Pressman