AIM : To provide an in-depth knowledge in software engineering paradigms, life cycles and Development processes.
OBJECTIVE : Objectives: To learn the various life cycle models and system engineering hierarchy. To understand the s/w requirements and feasibility studies. To learn the design concepts and principles. To efficiently implement the various testing strategies and debugging techniques. To learn about the quality of process and product and software metrics.
UNIT-I SOFTWARE PRODUCT AND PROCESS: Introduction – S/W Engineering paradigm – Verification – Validation – Life cycle models – System engineering – Computer based system – Business process engineering overview – Product engineering overview.
UNIT-II SOFTWARE REQUIREMENTS Functional and non-functional – Software document – Requirement engineering process – Feasibility studies – Software prototyping – Prototyping in the software process – Data – Functional and behavioral models – Structured analysis and data dictionary.
UNIT-III ANALYSIS, DESIGN CONCEPTS AND PRINCIPLES Systems engineering – Analysis concepts – Design process and concepts – Modular design – Design heuristic – Architectural design – Data design – User interface design – Real time software design – System design – Real time executives – Data acquisition system – Monitoring and control system.
UNIT-IV TESTING Taxonomy of software testing – Types of S/W test – Black box testing – Testing boundary conditions – Structural testing – Test coverage criteria based on data flow mechanisms – Regression testing – Unit testing – Integration testing – Validation testing – System testing and debugging – Software implementation techniques.
UNIT-V SOFTWARE QUALITY ASSURANCE Process and product quality – Quality assurance and standards – Quality planning and control – Software metrics – Process improvement – Software configuration management.
LECTURE TIMING UNIT 1 9 HOURS UNIT 2 9 HOURS UNIT 3 9 HOURS UNIT 4 9 HOURS UNIT 5 9 HOURS TOTAL=45 HOURS
UNIT-I SOFTWARE PRODUCT AND PROCESS SOFTWARE: software is a conceptual entity which is a set of computer programs, procedures,and associated documentation concerned with the operation of a data processing system. SOFTWARE USED IN DIFFERENT AREAS: 1.system software 2.real-time software 3.business software 4.engineering and scientific software 5.embedded software
LIFECYCLE MODELS 1.Waterfall model 2.Incremental process model a)Incremental model b)RAD model 3.Evolutionary process model a)prototyping b)spiral model
Waterfall model
INCREMENTAL MODEL
EVOLUTIONARY PROCESS MODEL (PROTOTYPING)
SPIRAL MODEL
Unit-II SOFTWARE REQUIREMENTS Functional and non-functional requirements ( what the system should do? ) software document ( what is required of system develop ers?) Requirement Engineering process ( create and maintaining requirement document ) Feasiblity studies ( does the system contribute to the overall objectives of the organisation ?) software prototyping (Initial version used to demonstrate the concept) Funtional and behavioral models ( Process of data )
FUNCTIONAL AND NON- FUNCTIONAL REQUIREMENTS
REQUIREMENT ENGINEERING PROCESS
DATA FLOW MODELS
UNIT-III ANALYSIS,DESIGN CONCEPTS AND PRINCIPLES System Engineering Analysis concepts Design process Design concepts Modular design Data design User interface design System design
SYSTEM ENGINEERING: System modeling:
SYSTEM ENGINEERING HIERARCHY
Coupling:
User interface design
USER INTERFACE DESIGN
UNIT-IV TESTING Types of software testing Black box testing Regression testing Unit testing Integration testing Validation testing
WHITE AND BLACK BOX TESTING
Black-box testing
UNIT TESTING
INTEGRATION TESTING
Testing Activities 32 Identify Design Build Execute Compare Test conditions (“ Wh at”) : an item or event to be verified. How the “what” can be tested: realization Build test cases (imp. scripts, data) Run the system Test case outcome with Expected outcome Test result
UNIT-V SOFTWARE QUALITY ASSURANCE Process and product quality Quality Assurance and standards Quality planning and control Software metrics Process Improvement Software configuration Management
SOFTWARE QUALITY ASSURANCE
PROCESS AND PRODUCT QUALITY Process and product quality:
Software configuration management:
Software metrics:
Software metrics Knowledge gained from software measure. Cost Maintainability & Testability Functionality Effectiveness Quality Problems relative to current activities measur e
TEXT BOOKS 1. Ian Sommerville, “Software Engineering”, 7th Edition, Pearson Education,2007. 2. Pressman, R.S., “Software Engineering - A Practitioner’s Approach”,6th Edition, McGraw-Hill International Edition, 2005.
REFERENCES 1. Humphrey, W.S., “A Discipline for Software Engineering”, Pearson Education, 2. Peters, J.F. and Witold Pedrycz, “Software Engineering - An Engineering Approach”, Wiley-India Pvt. Ltd., 3. Schach, S.R., “Software Engineering”, Tata McGraw-Hill Publishing Company Limited, 2007.
WEB HOME…. wareseeker.com/free-software-product-development- process/ hebb.cis.uoguelph.ca/~dave/343/Lectures/prototype.html software-engineering-ebook.html software-engineering-ebook.html › Real-time Mantra › Embedded DesignReal-time MantraEmbedded Design ng.asp ng.asp testing/ testing/ en.wikipedia.org/wiki/Software_quality_assurance
Assignment topics: Life cycle models Prototyping in the software process User interface design Types of S/W test Software Configuration Management
Seminar topic: Business Process Engineering Functional and behavioral models System design Software implementation techniques. Software metrics