Knowledge in Software Engineering

Introduction to Software Engineering

Evolving Role of Software Hardware vs. Software Software characteristics Changing nature of software Evolution of Software Software Myths Software is a product Transforms information - produces, manages, acquires, modifies, displays, or transmits information Delivers computing potential of hardware and networks Software is a vehicle for delivering a product Controls other programs (operating system) Effects communications (networking software) Helps build other software (software tools & environments)

Software Process Models

Process models prescribe a distinct set of activities, actions, tasks, milestones, and work products required to engineer high quality software. Process models are not perfect, but provide roadmap for software engineering work. Software models provide stability, control, and organization to a process that if not managed can easily get out of control. Software process models are adapted to meet the needs of software engineers and managers for a specific project.

The waterfall model in software engineering.

The waterfall model is used when the requirements are well understood in the beginning . Water fall model is also called as classic life cycle model It is a systematic, sequential approach to software development.

Incremental model in software engineering

Incremental model suits for the iterative projects Incremental model is used when initial requirements are reasonably well-defined. It combines elements of waterfall model in an iterative fashion. Incremental model applies linear sequences in a staggered fashion as calender time progresses ,each linear sequence provides deliverable increments of software.

Prototype model in software engineering

Prototype model is used when customer defines a set of objectives but doesn't identify input, output ,or processing requirements In this model developer is not sure of -Efficiency of algorithm -Adaptability of an operating system -Human /machine interaction.

Spiral model in software engineering

Spiral model is proposed by boehm . It is an evolutionary model which combines the best features of the classical life cycle model and the iterative nature of prototype model. It includes risk element.

Layered technology in software engineering

Layered technology consists of 4 layeres They are 1.a quality focus 2.process. 3.methods 4.tools. A Quality focus layer:bedrock that supports the software engineering. Process:Foundation for software engineering. Methods: provides technical methods for building software. Tools:provides semi automatic and automatic support to method.

Process framework in software engineering

A process framework establishes the foundation for a complete software process by identifying a small number of frame work activities that are applicable to all software projects . Regardless of size /complexity and set of umbrella activities which are applicable across entire software projects.

Capability maturity model.

Capability maturity model was developed by software engineering institute (SEI) CMMI meta model can be represented in different ways 1.A continuous model 2.A staged model

Process assessment in software engineering

Process assessment attempts to keep check on the current state of the software process with the intention of improving it.

Software engineering notes PDF

This PDF contains concepts of software engineering. Software development life cycle.

Software requirements notes

This document contains software requirements of a process. 1. Functional requirement. 2.system requirements.