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

UNIT 1

Software: - Software is a collection of computer programs, procedures, rules, associated


documents and data.

Program: Software Engineering: - It is the application of systematic, quantifiable and disciplined approach
to the development, operation and maintenance of the software i.e. the application of engineering to the software.

ISO: 9126 Standard for Software Quality: The software quality parameters are as follows: 1. Functionality: - The capability to provide functions which meet stated and implied needs when the software is used. 2. Reliability: - The capability to maintain a specified level of performance. 3. Usability: - The capability to be understood, learned, and used. 4. Efficiency: - The capability to provide appropriate performance relative to the amount of resources used. 5. Maintainability: - The capability to be modified for purposes of making corrections, improvements, or adaptation. 6. Portability: - The capability to be adapted for different specified environments without applying actions or means other than those provided for this purpose in the product.

Umbrella Activities: - These activities include: 1. 2. 3. 4. 5. 6. 7. 8. Software project tracking and control Formal technical reviews Software Quality Assurance (SQA) Software configuration Document production and preparation Risk management Measurement of the software Reusability

Capability Maturity Model (CMM): The CMM framework provides a general roadmap for process improvement of an organization. There are five different maturity levels in the CMM framework which are described as follows: 1. Level 1 Initial: - The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends on individual effort. 2. Level 2 Repeatable: - Basic project management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications.

3. Level 3 Defined: - The software process for both management and engineering activities is documented, standardized, and integrated into an organization wide software process. All projects use a documented and approved version of the organizations process for developing and supporting software. This level includes all characteristics defined for level 2. 4. Level 4 Managed: - Detailed measures of the software process and product quality are collected and controlled using detailed measures. This level includes all characteristics defined for level 3. 5. Level 5 Optimizing: - Continuous process improvement is enabled by quantitative feedback from the process and from testing innovative ideas and technologies. This level includes all characteristics defined for level 4. There are Key Process Areas (KPAs) associated with each maturity level. KPAs for each level are listed as follows: KPAs for Level 2: 1. 2. 3. 4. 5. Software configuration management Software quality assurance Software subcontract management Software project planning Software requirement management

KPAs for Level 3: 1. 2. 3. 4. 5. 6. 7. Peer reviews Intergroup coordination Software project engineering Integrated software management Training program Organization process definition Organization process focus

KPAs for Level 4: 1. Software quality management 2. Quantitative process management KPAs for Level 5: 1. Process change management 2. Technology change management 3. Defect prevention

Software Process Models: Waterfall Model: It is also known as linear sequential model or classic lifecycle model. It is the simplest process model, which states that phases are organized in a linear model. In this model a project begins with feasibility analysis. Upon successfully demonstrating the feasibility of a project, the requirements analysis and project planning begins. The design starts after the

requirements analysis is complete, and coding begins after the design is complete. Once the programming is completed, the code is integrated and testing is done. Upon successful completion of testing, the system is installed. After this, the regular operation and maintenance of the system takes place. It is the most widely used process model. It is well suited process model for the project whose requirements are well understood. Advantages of Waterfall Model: 1. It is simple. 2. It is conceptually straight forward and divides large task of building software into a series of cleanly divided phases. Each phase deals with a separate logical concern. 3. It is easy to administer in a contractual set-up, as each phase is completed and its work product is produced. Disadvantages of Waterfall Model: 1. It assumes that the requirements of a system can be frozen before the design begins. This is possible for systems designed to automate an existing manual system. But for new systems, even the users dont know the requirements. So having unchanging requirements is unrealistic for such projects. 2. Freezing the requirements usually requires choosing the hardware. A large project might take a few years. Since hardware is chosen early and hardware technology is changing very fast, the final software will use the hardware technology which will be on the verge of outdating. 3. It takes a lot of time. 4. We cant jump phases. Prototype Development Model: The prototype model counters the first limitation of the waterfall model. Basically here instead of freezing the requirements before any design or coding, a prototype is built to understand the requirements. This prototype is developed based on currently known requirements. Development of prototype undergoes design coding and testing but not very formally or thoroughly. By using this prototype the client can get the actual feel of the system. Development of prototype typically starts when the preliminary version of the requirement specification document has been developed. After the prototype has been developed, the end users and clients are given an opportunity to use the prototype. Based on their experience they provide feedback to the developers regarding the prototype: what is correct, what needs to be modified, what is not needed, what is missing, etc. Based on the feedback, the prototype is modified to incorporate some of the suggested changes which can be done easily, and then the clients and end users are again allowed to use the system. This cycle is repeated until all the requirements are completely known and understood. Then the final requirement specification document is prepared and design, coding and testing is done. There are two ways of developing the prototype model: -

1. Take 1 requirement and develop the prototype of that requirement if that prototype is passed by the client, then that prototype can be used to implement the 2nd requirement. 2. Throwaway prototype: - In this the unclear requirement is used to develop the prototype, this prototype either gets passed or gets rejected by the client, it is not used for the further development in the software project. Advantages of Prototype Model: 1. It removes the disadvantage of waterfall model by clearing all the requirements which are needed in the software project. 2. When the requirements are clear then the SRS document, designing, coding, and testing are said to be correct. There is a less possibility of errors in the latter stages of the software development since the requirements are cleared and freeze in SRS. Disadvantage of Prototype model: 1. The developing prototype model again and again for an uncertain or undecided requirement may result in an overall increase in cost, size of the software project. Iterative Development Model

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