CT501-N Software Engineering PDF
Document Details
Kadi Sarva Vishwavidyalaya
2019
Tags
Summary
This document is a syllabus for a Software Engineering course offered by Kadi Sarva Vishwavidyalaya, Faculty of Engineering & Technology, in 2019-20. It covers topics like software and software engineering, software process models, software requirement analysis and specification, software design, coding, software testing strategies, risk management, quality management, and current trends in software engineering.
Full Transcript
Kadi Sarva Vishwavidyalaya Faculty of Engineering & Technology Third Year Bachelor of Engineering (CE/IT) (In Effect From A...
Kadi Sarva Vishwavidyalaya Faculty of Engineering & Technology Third Year Bachelor of Engineering (CE/IT) (In Effect From Academic Year 2019-20) Subject Code: CT501-N Subject Title: Software Engineering Pre-requisite Basics of Object Oriented Concepts Teaching Scheme (Credits and Hours) Teaching scheme Evaluation Scheme Total Mid Sem L T P Total Theory CIA Pract. Total Credit Exam Hrs Hrs Hrs Hrs Hrs Marks Marks Marks Marks Marks 03 00 02 05 04 03 70 30 20 30 150 Course objective: To learn and understand the Concepts of Software Engineering To Learn and understand Software Development Life Cycle To apply the project management and analysis principles to software project development. To apply the design & testing principles to software project development. Outline of the Course: Sr. No. Title of the Unit Minimum Hours 1 Software and Software Engineering 4 2 Software Process Model 5 3 Software Requirement Analysis and Specification 5 4 Software Design 5 5 Coding 3 6 Software Testing Strategies 5 7 Estimation 5 8 Risk Management 6 9 Quality Management 4 10 Current trends in Software Engineering 6 Total hours (Theory):48 Total hours(Lab):32 Total hours:80 Kadi Sarva Vishwavidyalaya Faculty of Engineering & Technology Third Year Bachelor of Engineering (Computer Engineering) (In Effect From Academic Year 2019-20) Detailed Syllabus Sr.No. Topic Lecture Weight Hours age(%) 1 Software and Software Engineering Nature of software, Unique Nature of WebApps, Software Engineering 4 9 and its importance, software process, Software Engineering practice,Software Myths. 2 Software Process Model A Generic Process Model, Process Assessment and Improvement, Prescriptive Process Model: Waterfall Model, Incremental Process Models-Incremental Model, RAD Model,Evolutionary Process Models- Prototyping, Spiral Model, Concurrent Development Models, Component- Based Development Model 5 10 AgileDevelopment: What is Agility, What is an Agile Process,Agile methods Process Models- Extreme programming, Adaptive Software Development (ASD),Dynamic System Development Method(DSDM),Scrum. Computer Aided Software Engineering (CASE) :Overview of CASE approach, Classification of CASE tools 3 Software Requirement Analysis and Specification System and software requirements Types of software requirements: Functional and non-functional requirements, Domain requirements, User requirements 5 10 Requirements Engineering Tasks,Initiating the Requirement engineering Process,Eliciting the requirements,Developing Use-cases, Negotiating Requirements, Validating Requirements. 4 Software Design Design concepts: Abstraction, Architecture, Patterns, Modularity, Cohesion, Coupling, Information hiding, Functional independence, Refinement, Refactoring, Design Classes. Design Model: Data design Elements, Architectural Design Elements, 5 10 Interface Design Elements, Component Level Design elements, Deployment-Level Design Elements. Pattern-Based Software Design: Describing a Design Pattern,Using Patterns in Design,Frameworks. 5 Coding Programming languages and development tools ,Selecting languages and 3 6 tools, Good programming practices, Coding Standards 6 Software Testing Strategies A Strategic Approach to Software Testing, Techniques of testing: Black-box testing, and White-box testing Test Strategies: Unit testing, Integration Testing, Interface testing, System 5 10 testing, Alpha and beta testing, Regression testing. Design of test cases. Kadi Sarva Vishwavidyalaya Faculty of Engineering & Technology Third Year Bachelor of Engineering (Computer Engineering) (In Effect From Academic Year 2019-20) 7 Estimation Software Scope and Feasibility, Software Project Estimation, 5 10 Decomposition Techniques, Empirical Estimation Model. 8 Risk Management Reactive vs proactive Risk Strategies, Software Risks, Risk Identification, 6 13 Risk projection, Risk refinement, Risk mitigation, monitoring &management, The RMMM Plan 9 Quality Management Quality Concepts, Software Quality Assurance, Formal Approaches to 4 9 SQA, Software Reliability, The ISO 9000 Quality Standards. 10 Current trends in Software Engineering Technology Evolution, Identifying “Soft Trends”, Technology Directions, 6 13 Tools-Related Trends. Total 48 100 Instructional Method and Pedagogy: At the start of course, the course delivery pattern, prerequisite of the subject will be discussed. Lectures will be conducted with the aid of multi-media projector, black board, OHP etc. Attendance is compulsory in lecture and laboratory which carries 10 marks in overall evaluation. One internal exam will be conducted as a part of internal theory evaluation. Assignments based on the course content will be given to the students for each unit and will be evaluated at regular interval evaluation. Surprise tests/Quizzes/Seminar/tutorial will be conducted having a share of five marks in the overall internal evaluation. The course includes a laboratory, where students have an opportunity to build an appreciation for the concepts being taught in lectures. Experiments shall be performed in the laboratory related to course contents. Learning Outcome: On successful completion of this course, the student should be able to: Software engineering is a subject that emerged recently as a result of the need to manage software projects that are rising in demand day by day. Software is developed in diverse areas and the fact that a systematic approach is required to manage their development spawns this interesting subject of study. After successfully completing this module the student will be able to explain the software engineering principles and techniques that are used in developing quality software products. e-Resources: NPTEL: https://onlinecourses.nptel.ac.in/noc18_cs43/preview https://nptel.ac.in/courses/106101061/ Udacity: https://eu.udacity.com/course/software-development-process--ud805 Guru99: https://www.guru99.com/software-engineering-tutorial.html Kadi Sarva Vishwavidyalaya Faculty of Engineering & Technology Third Year Bachelor of Engineering (Computer Engineering) (In Effect From Academic Year 2019-20) Reference Books: 1. Software Engineering: A practitioner's approach by Roger S. Pressman, 7th edition, McGraw-Hill International edition 2. Software Engineering by Ian Sommerville, 7th edition, Addison-Wesley. 3. Fundamentals of Software Engineering by Rajib Mall 4. Software Engineering by K K Agrawal and Yogesh Singh, 3rd edition, New Age International Publishers List of experiments No Name of Experiment 1 Sleeting and defining project definition 2 Identifying Domain Classes from the Problem Statements and modeling Class Diagram 3 Modeling UML Use Case Diagrams and Capturing Use Case Scenarios 4 Modeling Data Flow Diagrams 5 E‐R Modeling 6 Designing Data Dictionary 7 Sequence diagrams 8 Activity Modeling 9 Estimation of Project Metrics 10 Designing Test Suites 11 Preparing Final Project Report / SRS