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

Software Engineering

Prof. Archana Deshpande

Course Objective
1. 2. 3.

4.
5. 6. 7. 8.

To understand the fundamental concepts of SDLC phases Software Process Requirement Phase Data Modeling Practices OOA and OOD Tools Design Phase Testing Phase Software Standards and Metrics

Syllabus of SE
Unit 1 - Software, modules, process, process framework, process models, SEI-CMMI model, Introduction to Unified process and Agile Unit 2 Requirements engineering, Problem Definition, Scope, Negotiation, Requirements Management, Gathering Unit 3 - Structured Systems Tools and Techniques fact finding tools, FDD, ERD, CLD, DFD, Decision Trees, Decision Tables, Structured English Unit 4 - Software Engineering Practice Data Modeling, System Modeling, Hatley - Pirbhai Modeling, object oriented modeling through state transition diagrams

Unit 5 - UML tools and techniques for Web based/Object Oriented Applications Class Hierarchy diagrams, Use Case diagrams, Sequence diagrams Unit 6 - Design Process, User Interface Design, Cohesion, Coupling Unit 7 - Testing- Strategies, Techniques, Alpha, Beta, Unit, Integration, Validation, Regression, Smoke, System Testing, Debugging, Basis Path, Black box, White box, Boundary Value Analysis, Test Cases Unit 8 - Product Metrics: Software Quality, Function-based, Size-based, ISO

Books Recommended

Analysis and Design of Information Systems 2e by Senn Software Engineering A Practitioner's Approach by Roger Pressman Systems Analysis and Design by Elias Awad Introducing Systems Analysis and Design by Lee Systems Analysis & Design by Perry Edwards (McGraw Hill) Systems Analysis, Design & Introduction to Software Engineering (SADSE) - Parthasarthy S, Khalkar B W Management Information Systems Waman Jawadekar

INTERNET RESOURCES:1) 2) 3) 4) 5) 6) 7) en.wikipedia.org/wiki/Software_engineering www.webopedia.com www.rspa.com/spi/ www.answers.com/topic/software-engineering en.wikibooks.org/wiki/Software_Engineering www.sei.cmu.edu www.freetutes.com/systemanalysis/

Unit 1
Software Engineering and Software Process

Unit Objectives
To understand the concepts of Software Software Engineering Modules Process Process Models

Software
What is a Software?

Characteristics of a Software

Software is developed or engineered; not manufactured. Software doesnt wear out. Most software are custom built.

Categories of Software

System Application Engineering / Scientific Embedded Product Line Web Applications Artificial Intelligence

Software Module

What is a module?

Software Engineering

The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software is Software Engineering. (IEEE) Software Engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. (Bauer)

Layers of Software Engineering


Quality is the base for all the 3 layers of SE Process Methods

Tools
Quality focus Total Quality Management (TQM), Six Sigma, ISO, CMMI etc.

Tools Methods Process Quality

Process

A set of activities, methods, practices, and transformations that people employ to develop and maintain software and the associated products (e.g. project plans, design documents, code, test cases, user manuals etc.)

Process Framework

Software Process Process Framework Umbrella activities


Framework activity # 1 S/W Engg. Action # 1.1 Task sets
Work tasks Work products QA points Project milestones

Process framework needs to identify small number of framework activities applicable to all software projects. Umbrella activities are applicable across the entire software process.

Framework activity # 2

Generic process framework

Communication Planning Modeling Construction Deployment The framework activities are common to all the software process; details of the software process may change.

For example, modeling activity consists of two software engineering actions Analysis and Design. Analysis has a set of work tasks like requirements gathering, negotiation, specification, validation etc. Design has work tasks like data design, architectural design, interface design, and component design.

Umbrella activities

Software project tracking and control Risk Management Software Quality Assurance Formal Technical Reviews Measurement Software Configuration Management Reusability Management Work Product Preparation and Production

Process Models

Waterfall Incremental RAD Prototyping Spiral

Waterfall model

Incremental model

RAD model

Prototyping model

Spiral model

SEI - CMMI

SEI- CMM

Focuses on elements of essential practices and processes from various bodies of knowledge. Describes common sense, efficient, proven ways of doing business (which you should already be doing) - not a radical new approach. CMM is a method to evaluate and measure the maturity of the software development process of an organizations. CMM measures the maturity of the software development process on a scale of 1 to 5. CMM v1.0 was developed by the Software Engineering Institute (SEI) at Carnegie Mellon University in Pittsburgh, USA.

CMM was originally developed for Software Development and Maintenance but later it was developed for :

Systems Engineering Supplier Sourcing Integrated Product and Process Development People CMM Software Acquisition Others...

CMM Examples: People CMM: Develop, motivate and retain project talent. Software CMM: Enhance a software focused development and maintenance capability.

Unified process

Use case driven Architecture centric Iterative and incremental Formed by James Rumbaugh, Grady Booch, and Ivar Jacobson Unified Modeling Language (UML) - an industry standard for OO software development. Using UML, a framework developed for OO-SE called as Unified Process.

Phases of the Unified Process

Phases of the UP

The UP defines the following four phases: The Inception phase concludes with the Objective milestone The Elaboration phase concludes with the Architecture milestone The Construction phase concludes with the Initial Operational Capability milestone The Transition phase concludes with the Product Release milestone

Describe all the phases of UP in detail.

Rational Unified Process (RUP) originally developed by Rational Software, a company later acquired by IBM. Rational Rose popular UML modeling solution by IBM Agile Unified Process Basic Unified Process

Agile software development

Iterative and incremental development Self-organizing, cross-functional teams. Minimally planned tasks in small increments No long-term planning. Iterations last from one to four weeks. Emphasizes face-to-face communication Work in a single open office (called a bullpen Includes Scrum, Crystal Clear, Extreme Programming, Adaptive Software Development, Feature Driven Development, and Dynamic Systems Development Method (DSDM). These are now typically referred to as Agile Methodologies

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