Contact Information

  • location_on
    Rawatbhata Road, Kota, Rajasthan 324010, India
  • call
    (0744) 2473861, 2473003
  • email
  • web_asset
  • Approved By: UGC AICTE

M.Tech. (Software Engineering)


Duration:

2 Years

Eligibility:

B.Tech/ B.E.

Course Structure

Semester-I

  • 1MSE1 Software Engineering Design Methodology
  • 1MSE2 Software Architecture
  • 1MSE3 Optimizing Compilers
  • 1MSE4.1 Advanced Data Structures
  • 1MSE4.2 High Level System Design and Modeling
  • 1MSE4.3 Client-Server Based It Solutions

Semester-II

  • 2MSE1 Security Analysis of Software
  • 2MSE2 Software Verification, Validation and Testing
  • 2MSE3 Software Quality Management
  • 2MSE4.1 Advanced Database Systems
  • 2MSE4.2 Distributed Operating Systems
  • 2MSE4.3 Embedded Software and Systems

Semester-III

  • 3MSE1 Unified Software Configuration Management
  • 3MSE2.1 Software Reliability
  • 3MSE2.2 E-Business
  • 3MSE2.3 Software Reuse

 

Course Syllabus

Semester - I

1MSE1 Software Engineering Design Methodology

  • Principles and Motivations : Definitions and need for engineered approach to software development; Software development process models from the points of view of technical development and project management: waterfall, rapid prototyping, incremental development, spiral models, emphasis on computer-assisted environments.
  • Introduction to Modeling Tools : Basics of object-oriented approach, object-oriented programming and languages, OMT, visual modeling, UML, Rational Rose Tool
  • Object Modeling and Design : Classes, objects, relationships, key abstractions, common mechanisms, diagrams, class diagrams, advanced classes, advanced relationships, interfaces, types, roles, packages, instances, object diagrams, interactions, use cases, use case diagrams, interaction diagrams, activity diagrams, events and signals, state machines, processes, threads, state chart diagrams, components, deployment, collaborations, patterns and frameworks, component diagrams, systems and models, code generation and reverse engineering.
  • Software Development Methods : Formal, semi-formal and informal methods; Requirements elicitation, requirements specification; Data, function, and event-based modeling; Some of the popular methodologies such as Yourdon’s SAD, SSADM etc; CASE tools-classification, features, strengths and weaknesses; ICASE; CASE standards.
  • Software Project Management : Principles of software projects management; Organizational and team structure; Project planning; Project initiation and Project termination; Technical, quality, and management plans; Project control; Cost estimation methods - Function points and COCOMO.

 

1MSE2 Software Architecture

  • Software Architecture terms : Component, Relationship, View, Architectural Styles, Frameworks, Patterns, Methodologies, Processes, Functional and Non-functional Properties of Software Architectures
  • Enabling Techniques for Software Architecture : Abstraction, Encapsulation, Information Hiding, Modularization Separation of Concerns, Coupling and Cohesion, Sufficiency, Completeness and Primitiveness Separation of Policy and Implementation, Separation of Interface and Implementation
  • Architectural Styles : Pipes and Filters, Data Abstraction and Object-Orientation, Event-Based, Implicit Invocation, Layered Systems, Repositories, Interpreters, Process Control, Heterogeneous Architectures
  • Software Implementation - development environment facilities : Code generation, reverse engineering, profiling, software libraries, testing and debugging
  • Software Quality : Changeability, Efficiency, Interoperability, Reliability, Testability, Reusability, Fault tolerant software

 

1MSE3 Optimizing Compilers

  • Introduction : Optimizing compiler technology, benchmark and designing a computer, Compiler structure front end, building flow graph, dominator optimization, Inter procedural analysis, dependence optimization, global optimization, limiting resources, instruction scheduling, register allocation, rescheduling.
  • Flow graphs and local optimization : Building flow graph, structure of data, block, instruction and flow graph. Local optimization information, global anticipated and redundancy information, lifetime analysis optimization in building flow graph, encoding pattern matching
  • Alias analysis : Level of alias analysis, representing modifies relation, building tag table, two kinds of modification and building flow graph , flow graph sensitive information by optimizations.
  • Dominator based optimization : Adding optimization to renaming process storing information as well as optimization, consult propagation, computing loop invariant temporaries reshaping expression, global value numbering.
  • Advanced Techniques : Inter procedure analysis, Inlining procedure, cloning procedure, procedure level optimization dependence based transformation loop unrolling.
  • Global Optimization : Main structure of optimization phase, theory and algorithms, relation between an expression and its operation, Lazy code motion moving load, store, copy instruction
  • Limiting resources : Design of LIMIT, peephole optimization, computing conflict graph, register renaming and coalescing, reducing register pressure, spill point computations.

 

1MSE4.1 Advanced Data Structures

Advanced data structures: self-adjustment, persistence and multidimensional trees. Randomized algorithms: Use of probabilistic inequalities in analysis & applications. Geometric algorithms: Point location, convex hulls and Voronoi diagrams, Arrangements. Graph algorithms: Matching and Flows. Approximation algorithms: Use of Linear programming and primal dual, local search heuristics. Parallel algorithms: Basic techniques for sorting, searching, merging, list ranking in PRAMs and Interconnection networks.

 

1MSE4.2 High Level System Design and Modeling

  • Introduction : Design Representation of Digital Systems, levels of abstraction, design methodologies, System level methodologies, System specification and design.
  • Model Taxonomy : State-Oriented models - finite-state machine, Petri net, Hierarchical concurrent finite state machine; Activity-oriented models - Dataflow graph, flow charts; Heterogeneous model - control/data flow graph, Object oriented model, Program-state machine;
  • Architectural Taxonomy : Application specific architectures - Controller Architecture, Data path architecture, Finite-state machine with data path; Processors - Complex instruction set Computer, Reduced instruction set Computer; Vector machine - Very long instruction word Computer; Parallel processors.
  • Embedded Systems Specification Requirements Languages: Characteristics of Conceptual models - Concurrency, State Transitions, Hierarchy, Programming Constructors, Behavioral Completion, Communication, Synchronization, Exception handling, Timing; Comparative features of Specification languages - VHDL, Verilog, HardwareC, State-charts, Esterel; Embedded system specification in speccharts.
  • A Specification example of Telephone answering machine : Specification capture with spec-charts, Sample test bench, Advantage of executable specifications; Strengths of the PSM model - Hierarchy, State transitions, Programming Constructors, Concurrency, Exception handling, Completion.
  • System Partitioning : Structural versus functional Partitioning. Partitioning issues - Specification extraction level, Granularity, System Component allocation, Metrics and Estimations, Objective functions and closeness functions, Partitioning Algorithm, Output. Basic Partitioning algorithms - Random mapping, Hierarchical clustering, Multistage Clustering, Group Migration, Radio cut and Simulated Annealing.

 

1MSE4.3 Client-Server Based It Solutions

  • Client Server Computing : Concept of Client-Server Technology, Client-Server Technology and Heterogeneous Computing, Costs and Benefits of Client Server Computing, Implementation and Scalability
  • Client Server Model and Software Design : Client-Server Model, Motivation, Terminology and Concepts, Applications, Concurrency in Network, Concurrency in Clients, Concurrency in Servers, Context Switching and Protocol Software Design, Advantages of concurrency.
  • Architecture and Design of Client Server Model : Multitasking with Processes and Threads, Scheduling, Synchronization, Memory, Communications
  • Algorithms in Client/Server Software Design : TCP Client algorithms, Socket Interface, Programming a UDP Client; The Conceptual Server algorithm, Basic Types of Servers and their comparisons, Interactive Server algorithms, Concurrent Server algorithms, Problem of Server Deadlock
  • Portable Client/Server Applications : Architecting Portable Application Code, Architecting Platform-Independent Source- Code, Operating System/Communications/File System independent modules, Client Server Applications Architecting using Frameworks

 

Semester - II

2MSE1 Security Analysis Of Software

  • Overview of Computer Security : Threats, risks, vulnerabilities, safeguards, attacks, exploits, Information states, Security at the various states of information- processing, storage and transmission; Definition of security based on current state and reachable states, Comprehensive model of security, Confidentiality, integrity and availability, Risk management, corrective action, risk assessment and physical security.
  • Access Control : Access control matrix, Access control lists, Capabilities, Role-based access, control and Application dependence.
  • Security Policies : Types of policies, Role of trust, Information states and procedures, Types of access control, Separation of duties, Application dependence, Importance for automated information systems (AIS) and Security planning Confidentiality Policies - Goals and definitions, Bell-LaPadula model and Multi-level security. Integrity Policies - Goals and definitions, Information states and procedures, Operating system integrity, Biba model and Clark-Wilson model Hybrid Policies - Chinese Wall model and Role-Based Access Control
  • Authentication : Passwords, Challenge-response, Biometrics, Location, Combinations and Application to access control/authorization
  • Malicious Logic : Trojan horses, Computer viruses, Computer worms, Logic bombs, Defenses and countermeasures
  • Auditing : Auditing mechanisms, Auditing system design, Privacy issues, Trails and logs, Access control issues, Application dependence
  • Intrusion Detection : Principles, Models, Architecture, Organization and Intrusion response
  • Network Security : Policy development, Network organization, Firewalls, Availability, Access control issues, Attacks anticipation, Traffic analysis, Public vs private
  • Administrative policies : Purposes, Back-up policies, E-mail security and privacy policies, Wireless policies, FAX security policies, Internet security policies, Incident response policies, Testing and validation policies, Application development control, Facilities management, Copyright management, Licensing management, Biometrics access management, Software piracy, Law enforcement issues, assisting investigations, Media destruction/sanitization/ protection, Security planning, Resources misuse or abuse, Documentation and auditing, Review of controls, Policies installment process, Managers endorsement, user obligations, System test and evaluation, Communication with users, Communication with vendors, Software installation and patches

 

2MSE2 Software Verification, Validation and Testing

  • Introduction : Terminology, evolving nature of area
  • V & V Limitations : Theoretical foundations: impracticality of testing all data, impracticality of testing all paths, no absolute proof of correctness.
  • Role of V & V in Software Evolution : Types of Products: requirements, specifications, designs, implementations, changes; V&V objectives: correctness, consistency, necessity, sufficiency, performance.
  • Software V & V Approaches and their Applicability : Software technical reviews; Software testing: levels of testing - module, integration, system, regression; Testing techniques and their applicability-functional testing and analysis, structural testing and analysis, error-oriented testing and analysis, hybrid approaches, integration strategies, transaction flow analysis, stress analysis, failure analysis, concurrency analysis, performance analysis; Proof of correctness; simulation and prototyping; Requirement tracing.
  • Software V & V Planning : Identification of V & V Goals; Selection of V & V techniques: requirements, specifications, design, implementations, changes; Organizational responsibilities: development organization, independent test organization; software quality assurance; independent V & V contractor; V & V standards; Integrating V & V approaches; Problem tracking; Tracking test activities; Assessment.

 

2MSE3 Software Quality Management

  • Software Quality Management : Quality control, quality assurance and quality standards with emphasis on ISO 9000; Functions of software QA organization does in a project; interactions with developers; Quality plans, quality assurance towards quality improvement; Role of independent verification & validation; Total quality management; SEI maturity model; Software metrics.
  • Basics of measurement : Measurement in everyday life, measurement in software engineering, scope of software metrics, representational theory of measurement, measurement and models, measurement scales, meaningfulness in measurement, goal-based framework for software measurement, classifying software measures, determining what to measure, software measurement validation, empirical investigation, types of investigation, planning and conducting investigations.
  • Software-metrics data collection and analysis : What is good data, how to define the data, how to collect the data, how to store and extract data, analyzing software-measurement data, frequency distributions, various statistical techniques.
  • Measuring internal product attributes: Measuring size, aspects of software size, length, functionality and complexity, measuring structure, types of structural measures, control-flow structure, modularity and information flow attributes, data structures.
  • Metrics for object-oriented systems : The intent of object-oriented metrics, distinguishing characteristics of object-oriented metrics, various object-oriented metric suites – LK suite, CK suite and MOOD metrics
  • Metrics for component-based systems: The intent of component-based metrics, distinguishing characteristics of componentbased metrics, various component-based metrics

 

2MSE4.1 Advanced Database Systems

Overview of DBMS, concurrency control , failure recovery. Introduction to distributed data base management systems, Semantic Database Models and Systems, Object- Oriented Database Systems, Relational Extensions: Design Techniques, Extension Techniques Object / Relational Systems: Open ODB, Transaction Management, Interface, OSQL, Odapter, Case Study of an ORDBMS, Related Development, Current Product Scenario. Standard For OODBMS Products and Applications: ODM – Standards, ODMG, Smalltalk Binding, SQL, User Defined ADT in SQL, Routines, ADT Subtypes and Inheritance, Tables, Procedural Facilities, Other Type Constructions, Generic ADT Packages, Language Bindings.

 

2MSE4.2 Distributed Operating Systems

  • Architecture of distributed systems : Motivation, System Architecture types, Distributed Operating Systems, Issues in Distributed Operating Systems, Communication Network, Communication Primitives.
  • Theoretical Foundations : Inherent Limitation of a Distributed Systems, Lamport’s Logical Clocks, Vector Clocks, Casual Ordering of messages, Global State, Cuts of a Distributed Comutation, Termination Detection.
  • Distributed Mutual Exclusion : The classification of Mutual Exclusion Algorithm, requirements of Mutual Exclusion Algorithm, How to measure performance, a simple solution to Distributed Mutual Exclusion, Non token based Algorithm, Lamports Algorithm, Ricart-Agrawala Algorithm, Maekawas Algorithm, A generalized Non Token based Algorithm, Token based Algorithm, Suzuki-Kasami broadcast algorithm, singhals Heuristic Algorithm, Raymonds tree based Algorithms, A comparative performance analysis.
  • Distributed Deadlock Detection : Preliminaries, Deadlock handling Strategies in Distributed Systems, Issues in Deadlock detection and resolution, Control Organisation for Distributed Deadlock Detection, Centralized Deadlock Detection Algorithm, Distributed Deadlock Detection Algorithm, Hierarchical Deadlock Detection Algorithms.
  • Agreement Protocols : The System Model, A classification agreement problems, solutions to the byzantine Agreement problem, Application of Agreement Algorithms
  • Distributed File Systems : Architecture, Mechanisms for building Distributed File Systems, Design issues, Case studies – The SUN network file system, coda, the x-kernal logical file system.

 

2MSE4.3 Embedded Software And Systems

  • Introduction : Real time systems, Characterizing real time systems, software development process
  • Requirements : Project planning and requirements process, requirements elicitation and structured analysis, object-oriented analysis, formal methods.
  • Architecture : Architecture, Architectural Properties, Real Time Architecture.
  • Design : Real-time systems, Temporal Techniques.
  • Design – Scheduling : Tasks, Timing and Scheduling, Rate Monotonic Scheduling, Rate Monotonic Analysis
  • Design Systems : Concurrent Systems, Distributed systems.
  • Verification and Validation ; Verification and Validation, Risk and Failure Analysis, Real-Time Operating Systems. Real time Languages

 

Semester - III

3MSE1 Unified Software Configuration Management

  • Software Configuration Management : SCM best practices, SCM tools and process, Dyeing with changing project requirements.
  • Overview of the Unified Change Management Model : UCM, ClearCase, UCM process overview, defining the Implementation Model, The UCM baseline and Change Model.
  • Functional Overview of Objects : The Repository, Versioned Object Base, Workspaces, Component Management, Process, Building, Clearmake, Derived Objects, Configuration records
  • Establishing the Initial SCM Environment : ClearCase Architecture Basics, Defining the Implementation Model, Creating the VOBs, Baseline promotion levels Project Management in ClearCase
  • Coordinating Multiple Project Teams and Other Scenarios : Organizing large Multi project development efforts, Coordinating cooperating projects, Independent components, Shared components, Multiple Parallel release, Using UCM without Activity-based SCM.
  • Development Using the UCM Model : A Developer’s perspective of UCM, joining a project, making changes, delivering changes to the project, Rebasing your development stream, Dealing with conflicting changes.
  • Integration, Build and Release : Software Integration, Isolation and integration, Building and Baselining, Staging and release

 

3MSE2.1 Software Reliability

  • Software Reliability : Basic Ideas of Software Reliability, Computation of software reliability, Classes of software reliability Models.
  • Time Dependent Software Reliability Models : Time between failure reliability Models, Fault Counting Reliability Models
  • Time Independent Software Reliability Models : Fault injection model of Software Reliability, Input Domain Reliability Model, Orthogonal defect classification, Software availability Models
  • Software Reliability Modeling : A general procedure for reliability modeling

 

3MSE2.2 E-Business

  • Overview of e-Business : Linking today’s Business with tomorrow’s technology, e-Business means structural transformation, business design for e-Business, challenge traditional definitions of value, value in terms of customer experience, e-Business communities, major business trends.
  • Constructing e-Business Design : Self-diagnosis as a first step of e-Business design, Reversing the value chain as a second step of e-Business design, Choosing a narrow focus as a third step of e-Business design – service excellence, operational excellence, continuous innovation excellence; Case studies.
  • Constructing e-Business Architecture : Issues of application integration, Cross-functional integrated applications, Integrating applications clusters into an e-Business architecture, Aligning the e-Business design with application integration.
  • Customer Relation Management (CRM) : Why CRM?, Defining CRM, New CRM architecture, Supporting requirements of the next-generation CRM infrastructure, Challenges in CRM implementation, Nextgeneration CRM trends, Manager’s roadmap for building a CRM infrastructure.
  • Selling-Chain Management : Deriving forces for Selling-Chain management, Managing the order acquisition process, Case study of CISCO’s Selling-Chain management, Elements of Selling-Chain infrastructure.
  • Enterprise Resource Planning (ERP) : What is ERP?, Why ERP?, Enterprise architecture planning, ERP usage in the real World, ERP implementation, Future of ERP applications.
  • Supply Chain Management (SCM) : Defining SCM, Basics of Internet-Enabled SCM, e-Supply chain fusion, Manager’s roadmap for SCM.
  • e-Procurement : Purchasing versus procurement, Operating resource procurement, Case study of open resource procurement at Microsoft, e-Procurement chain management, Next generation integrated procurement applications, Elements of Buy-Side e-Procurement solutions, Elements of Sell-Side e-Procurement solutions, Manager’s roadmap for e-Procurement.
  • Knowledge-Tone Applications : Why knowledge applications and what is it?, Emerging classes of knowledge-tone applications, knowledge-tone usage in the real World, Elements of knowledge-tone architectural framework, Data warehousing, Online analytical processing (OLAP), Roadmap to knowledge-tone framework.
  • Developing the e-Business Design : Challenges of e-Business strategy creation, Roadmap to moving your company into e-Business.
  • Translating e-Business Strategy into Action : The overall process – translating strategy into action, e-Business blueprint creation, Basic steps of e-Business blueprint planning, Key elements of a business case, e-Business project planning checklist, Why e-Business initiatives fail?

 

3MSE2.3 Software Reuse

  • Introduction : Software Reuse and Software Engineering, Concepts and Terms, Software Reuse products, Software Reuse processes, Software Reuse paradigms.
  • State of the Art and the Practice : Software Reuse Management, Software Reuse Techniques, Aspects of Software Reuse, Organizational Aspects, Technical Aspects and Economic Aspects.
  • Programming Paradigm and Reusability : Usability Attributes, Representation and Modeling Paradigms, Abstraction and Composition in development paradigm.
  • Object-Oriented Domain Engineering : Abstraction and Parameterization Techniques, Composition Techniques in Object Orientation.
  • Application Engineering: Component Storage and Retrieval, Reusable Asset Integration.
  • Software Reuse Technologies : Component Based Software Engineering, COTS based development, Software Reuse Metrics, Tools for Reusability.