Global Institute of Tchnology
Global Institute of Tchnology
(Department of Computer Science & Engineering) 4CS5 SOFTWARE ENGINEERING Instructor Location Mobile No. E-mail : Kapil Kumar Jhajharia : Global Institute of Technology, Jaipur : 9887541842 : [email protected]
Course Objectives: The objective of this course is to provide the knowledge theories, processes, methods, and techniques of building high-quality software in cost-effective ways to the students, to give an understanding of some ethical and professional issues that are important for software engineers and development of significant teamwork and project based experience. Prerequisite:
Course Description:
This course provides an introduction to software engineering: This is a comprehensive study of the theories, processes, methods, and techniques of building high-quality software in costeffective ways. It provides knowledge of basic SW engineering methods and practices, their appropriate application, general understanding of software process models such as the waterfall and evolutionary models, project management including planning, scheduling, risk management, software requirements, the SRS document, testing and understanding of quality control.
Syllabus: Units Contents of the subject I System Analysis: Characteristics, Problems in system Development, System level project Planning, System Development Life cycle (SDLC), computer system engineering & system analysis, modeling the architecture, system specification. II
Software & its characteristics: Software Development, Process Model, Prescriptive model, The water fall model, Incremental Process Modes, Evolutionary process model, specialized process model. III Requirement Analysis: Requirement analysis tasks, Analysis principles, Software prototyping and specification data dictionary finite state machine (FSM) models. Structured Analysis: Data and control flow diagrams, control and process specification behavioral modeling, extension for data intensive applications. IV Software Design: Design fundamentals, Effective modular design: Data architectural and procedural design, design documentation, coding Programming style, Program quality, quantifying program quality, complete programming example V Object Oriented Analysis: Object oriented Analysis Modeling, Data modeling Object Oriented Design: OOD concepts and methods class and object definitions, refining operations, Class and object relationships, object modularization, Introduction to Unified Modeling Language
Learning Outcomes: At the end of the course a student will: Be able to demonstrate knowledge of the distinction between critical and non-critical systems. Have the ability to manage a project including planning, scheduling and risk assessment/management. Have an understanding of the proper contents of a software requirements document a formal specification and demonstrate proficiency in software development cost estimation
References: BK 2: Software requirements Karl E. Wiegers BK 3: A Practical handbook of software construction Steve McConnell
Assessment: University Assessment Mid-Term Test #1 (10%) Mid-Term Test #2 (10%) University End Semester Examination (80%)
Course Plan:
Unit No. Topics to be covered Introduction of System Analysis Objective Met Knowledge of basic System Analysis to develop any system
System Characteristics
appropriate application
System analysis
Modeling the architecture An System specification understanding of software requirements and the SRS document.
Software characteristics
A general understanding of software process models such as the waterfall and evolutionary models.
Control and process specification 3 Behavioral modeling, Extension for data intensive applications see software as a part of a larger system and be familiar with the principles of systems engineering as they are relevant to software. Design fundamentals, Effective modular design
Design fundamentals, Effective modular design An understanding of different software architectural styles. Data architectural and procedural design
An understanding of implementation Coding Programming style issues such as modularity and coding standards. An understanding of approaches to Program quality, quantifying program quality verification and validation including static analysis, and reviews & An
understanding on quality control and Complete programming example how to ensure good quality software.
Data modeling An understanding of some ethical and Object Oriented Design: OOD concepts 5 professional issues that are important for software engineers & An
understanding of software evolution Methods class and object definitions, refining and related issues such as version operations management. Class and object relationships, Object modularization