Prerequisit CSE101 e Objectives: Develop complex systems (including analysis, design, construction, maintenance, quality assurance and project management) using the appropriate theory, principles, tools and processes. Use appropriate computer science and mathematics principles in the development of software systems. Solve problems in a team environment through effective use of written and oral communication skills. Have knowledge of current issues presently involved in effectively performing duties as a software practitioner in an ethical and professional manner for the benefit of society. Practice the lifelong learning needed in order to keep current as new issues emerge. Develop software in at least one application domain. Expected Student will be able to Outcome: The ability to apply software engineering theory, principles, tools and processes, as well as the theory and principles of computer science and mathematics, to the development and maintenance of complex software systems The ability to design and experiment with software prototypes The ability to select and use software metrics The ability to participate productively on software project teams involving students from both software engineering and other majors Effective communications skills through oral and written reports and software documentation evaluated by both peers and faculty The ability to elicit, analyze and specify software requirements through a productive working relationship with project stakeholders Module I Introduction to Software Engineering Software Components, Software Characteristics, SoftwareCrisis, Software Engineering Processes, Similarity and Differences from ConventionalEngineering Processes, Software Quality Attributes. Software Development Life Cycle (SDLC)Models: Water Fall Model, Prototype Model, Spiral Model, Evolutionary Development Models,Iterative Enhancement Models. Module II Software Requirement Specifications (SRS) Requirement Engineering Process: Elicitation, Analysis, Documentation, Review andManagement of User Needs, Feasibility Study, Information Modeling, Data Flow Diagrams,Entity Relationship Diagrams, Decision Tables, SRS Document, IEEE Standards for SRS. Software Quality Assurance (SQA): Verification and Validation, SQA Plans, Software QualityFrameworks, ISO 9000 Models, SEI-CMM Model. Module III Software Design Basic Concept of Software Design, Architectural Design, Low Level Design: Modularization,Design Structure Charts, Pseudo Codes, Flow Charts, Coupling and Cohesion Measures, DesignStrategies: Function Oriented Design, Object Oriented Design, Top-Down and Bottom-UpDesign. Software Measurement and Metrics: Various Size Oriented Measures: Halestead’sSoftware Science, Function Point (FP) Based Measures, Cyclomatic Complexity Measures:Control Flow Graphs. Module IV Software Testing Testing Objectives, Module Testing, Integration Testing, Acceptance Testing, Regression Testing,Testing for Functionality and Testing for Performance, Top-Down and Bottom-Up TestingStrategies: Test Drivers and Test Stubs, Structural Testing (White Box Testing), FunctionalTesting (Black Box Testing), Test Data Suit Preparation, Alpha and Beta Testing of Products.Static Testing Strategies: Formal Technical Reviews (Peer Reviews), Walk Through, CodeInspection, Compliance with Design and Coding Standards. Module IV Software Maintenance and Software Project Management Software as an Evolutionary Entity, Need for Maintenance, Categories of aintenance:Preventive, Corrective and Perfective Maintenance, Cost of Maintenance, Software Re-Engineering, Reverse Engineering. Software Configuration Management Activities, ChangeControl Process, Software Version Control, An Overview of CASE Tools. Estimation of VariousParameters such as Cost, Efforts, Schedule/Duration, Constructive Cost Models (COCOMO),Resource Allocation Models, Software Risk Analysis and Management. References 1. R. S. Pressman, Software Engineering: A Practitioners Approach, McGraw Hill. 2. Rajib Mall, Fundamentals of Software Engineering, PHI Publication. 3. K. K. Aggarwal and Yogesh Singh, Software Engineering, New Age International Publishers. 4. Pankaj Jalote, Software Engineering, Wiley 5. Carlo Ghezzi, M. Jarayeri, D. Manodrioli, Fundamentals of Software Engineering, PHI Publication. 6. Ian Sommerville, Software Engineering, Addison Wesley. 7. Kassem Saleh,”Software Engineering”, Cengage Learning. 8. Pfleeger, Software Engineering, Macmillan Publication.