www.jwjobs.net
Einstein College of Engineering
CS51 SOFTWARE ENGINEERING UNIT I SOFTWARE PRODUCT AND PROCESS Software engineering paradigm: • The framework activities will always be applied on every project ... BUT the tasks (and degree of rigor) for each activity will vary based on: – the type of project – characteristics of the project – common sense judgment; concurrence of the project team The software process: • A structured set of activities required to develop a software system – Specification; – Design; – Validation; – Evolution. • A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective. Waterfall model/Linear Sequential Model/classic life cycle :
• •
• •
Systems Engineering – Software as part of larger system, determine requirements for all system elements, allocate requirements to software. Software Requirements Analysis – Develop understanding of problem domain, user needs, function, performance, interfaces, ... – Software Design – Multi-step process to determine architecture, interfaces, data structures, functional detail. Produces (high-level) form that can be checked for quality, conformance before coding. Coding – Produce machine readable and executable form, match HW, OS and design needs. Testing
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
Einstein College of Engineering
Confirm that components, subsystems and complete products meet requirements, specifications and quality, find and fix defects. • Maintenance – Incrementally, evolve software to fix defects, add features, adapt to new condition. Often 80% of effort spent here! Waterfall model phases: • Requirements analysis and definition • System and software design • Implementation and unit testing • Integration and system testing • Operation and maintenance • The main drawback of the waterfall model is the difficulty of accommodating change after the process