1 COURSE DETAILS – DATABASE TECHNOLOGY Subject Code : CS9221 Subject Name : Database Technology Semester : ME (CSE) II Semester Prepared By : Mr.M.Arun Approved By : Dr.K.Muneeswaran Effective Date : 06.02.2013 Revision No : 1 Course Objective: 1. To explain the principles of Distributed database for designing 2. To narrate the concepts of Object oriented databases to real world 3. To elaborate the process of Enhanced data model design 4. To examine the techniques to deploy the client server model 5. To discuss the big data storage using Data Warehouse 6. To identify the patterns using Data Mining techniques 7. To describe the design issues of various emerging databases like web databases and mobile databases 8. To frame a database for a given application 9. To work with the concepts of temporal database 10. To identify the research issues in database design 11. To justify the use of particular database among various databases 12. To illustrate the principles of Distributed database for designing! 13. To explain the concepts of Object oriented databases to real world Course Prerequisite: Data structure – Algorithms – Operating System-DBMS- Any programming language Course Outcomes–Programme Outcomes mapping (3- Substantially, 2-Moderately, 1-Slightly) S. No Course Outcomes Programme Outcomes 1 2 3 4 5 6 7 8 9 10 11 12 1. To apply the principles of Distributed database for designing 2 3 2 1 2. To apply the concepts of Object oriented databases to real world 1 2 3 2 3. To design an Enhanced data model 2 3 4. To deploy the client server model 1 3 2 2 2 2 2 5. To store big data using Data Warehousing techniques 2 3 2 2 2 2 2 6. To retrieve the patterns using Data Mining techniques 1 2 3 3 2 1 7. To identify the design issues of 2 3
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
COURSE DETAILS – DATABASE TECHNOLOGY
Subject Code : CS9221
Subject Name : Database Technology
Semester : ME (CSE) II Semester
Prepared By : Mr.M.Arun
Approved By : Dr.K.Muneeswaran
Effective Date : 06.02.2013
Revision No : 1
Course Objective:
1. To explain the principles of Distributed database for designing
2. To narrate the concepts of Object oriented databases to real world
3. To elaborate the process of Enhanced data model design
4. To examine the techniques to deploy the client server model
5. To discuss the big data storage using Data Warehouse
6. To identify the patterns using Data Mining techniques
7. To describe the design issues of various emerging databases like web databases
and mobile databases
8. To frame a database for a given application
9. To work with the concepts of temporal database
10. To identify the research issues in database design
11. To justify the use of particular database among various databases
12. To illustrate the principles of Distributed database for designing!
13. To explain the concepts of Object oriented databases to real world
Course Prerequisite:
Data structure – Algorithms – Operating System-DBMS- Any programming language
Course Outcomes–Programme Outcomes mapping
(3- Substantially, 2-Moderately, 1-Slightly)
S. No Course Outcomes Programme Outcomes
1 2 3 4 5 6 7 8 9 10 11 12
1. To apply the principles of Distributed
database for designing 2 3 2 1
2. To apply the concepts of Object
oriented databases to real world 1 2 3 2
3. To design an Enhanced data model 2 3
4. To deploy the client server model 1 3 2 2 2 2 2
Processing – Transaction Processing – Concurrency Control – Recovery.
UNIT II OBJECT ORIENTED DATABASES 10
Introduction to Object Oriented Data Bases - Approaches - Modeling and Design - Persistence –
Query Languages - Transaction - Concurrency – Multi Version Locks - Recovery.
UNIT III EMERGING SYSTEMS 10
Enhanced Data Models - Client/Server Model - Data Warehousing and Data Mining - Web
Databases – Mobile Databases.
UNIT IV DATABASE DESIGN ISSUES 10
ER Model - Normalization - Security - Integrity - Consistency - Database Tuning - Optimization
and Research Issues – Design of Temporal Databases – Spatial Databases.
UNIT V CURRENT ISSUES 10
Rules - Knowledge Bases - Active and Deductive Databases - Parallel Databases – Multimedia
Databases – Image Databases – Text Database
TOTAL-45 H
REFERENCES:
R1. Elisa Bertino, Barbara Catania, Gian Piero Zarri, “Intelligent Database Systems”, Addison-
Wesley, 2001.
R2. Carlo Zaniolo, Stefano Ceri, Christos Faloustsos, R.T.Snodgrass, V.S.Subrahmanian,
“Advanced Database Systems”, Morgan Kaufman, 1997.
R3. N.Tamer Ozsu, Patrick Valduriez, “Principles of Distributed Database Systems”, Prentice Hal
International Inc., 1999.
R4. C.S.R Prabhu, “Object-Oriented Database Systems”, Prentice Hall Of India, 1998.
R5. Abdullah Uz Tansel Et Al, “Temporal Databases: Theory, Design and Principles”, Benjamin
Cummings Publishers, 1993.
R6. Raghu Ramakrishnan, Johannes Gehrke, “Database Management Systems”, Mcgraw Hill,
Third Edition 2004.
R7. Henry F Korth, Abraham Silberschatz, S. Sudharshan, “Database System Concepts”, Fourth
Ediion, Mcgraw Hill, 2002.
R8. R. Elmasri, S.B. Navathe, “Fundamentals Of Database Systems”, Pearson Education,
4
COURSE SCHEDULE
Sl.
No Topics (EL stands for Embedded Laboratory)
No. of
Periods
Date of
coverage
MODULE I: DISTRIBUTED DATABASES
1.
Introduction to Distributed Processing, Distributed
database 1
2. Architecture 1
3. Distribution design issues 1
4. Fragmentation 2
5. Query processing and Optimization 2
6. Transaction Processing 2
7. Concurrency control 2
8. Recovery 2
Sub Total 13
MODULE II: OBJECT ORIENTED DATABASES
9. Introduction to Object Oriented Data Bases 1
10. Approaches 1
11. Modeling and Design 2
12. Persistence 1
13. Query Languages 2
14. Transaction 1
15. Concurrency 1
16. Multi Version Locks, Recovery. 2
Sub Total 11
MODULE III: EMERGING SYSTEMS
17. Enhanced data model 2
18. Client Server model 1
19. Data warehousing 2
20. Data mining 1
21. Web database 2
5
Sl.
No Topics (EL stands for Embedded Laboratory)
No. of
Periods
Date of
coverage
22. Mobile database 2
Sub Total 10
MODULE IV: DATABASE DESIGN ISSUES
23. ER Model 1
24. Normalization 1
25. Security 1
26. Integrity 1
27. Consistency 2
28. Database Tuning 1
29.
Optimization
and Research Issues
1
30. Design of Temporal Databases 2
31. Spatial database 1
Sub Total 11
MODULE V: CURRENT ISSUES
32. Rules - Knowledge Bases 2
33. Active Databases 1
34. Deductive Databases 1
35. Parallel Databases 2
36. Multimedia Databases 1
37. Image Databases 1
38. Text Database 1
Sub Total 09
Total No. of periods 54
6
DELIVERY PLAN FOR THE LEARNING UNITS (LU)
MODULE I - DISTRIBUTED DATABASES – Overview
This module briefs the differences between distributed database and conventional database. This
deals with distributed database architecture. This explains the distributed storage techniques like
fragmentation. This module deals with distributed query processing, transaction processing, and
concurrency control. This module overviews the recovery techniques.
.
LU -1: Distributed Databases Vs Conventional Databases – Architecture (2 Period)
LU Objectives
1. To Identify the difference between distributed database and conventional database 2. To apply the architecture of the distributed database for designing.
LU Outcomes
1. Differentiate distributed database and conventional database 2. Identify the components of the distributed database architecture
Resource Reference
1. R3:ch1 & R3:ch4
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No
Test Questions Level
1. Define homogeneous database R
2. Define heterogeneous database R 3. What is distributed database? R 4. What is centralized database? R
5. Mention the different types of distributed database architecture R 6. Explain any one distributed database architecture R
LU -2: Distribution design issues -Fragmentation (1 Period)
LU Objectives
1. Design distributed data storage for the given data 2. Apply distributed query processing mechanisms to solve data retrieval problems
LU Outcomes
1. Identify the different data storage methods
2. Design of distributed data storage using fragmentation 3. Generate distributed query processing steps for data retrieval
Resource Reference
1. R3:ch5 & R7:ch19
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
7
Sl.No Test Questions Level 1. What is horizontal fragmentation? R 2. What is vertical fragmentation?
in the C language
R
3. Given relation EMP let p1: TITLE < “Programmer” and p2: TITLE > “Programmer” be two simple predicates. Assume that character strings
have an order among them, based on the alphabetical order. Perform a horizontal fragmentation of relation EMP with respect to {p1, p2}. Explain
why the resulting fragmentation (EMP1, EMP2) does not fulfil the correctness rules of fragmentation
A
LU3: Query processing and optimization (1 Period)
LU Objectives
1. To explain the objectives of query processing
2. To explain the characteristics and layers of query processing LU Outcomes
1. Identify the query processing mechanisms. 2. Realize the characteristics and layers of query processing
Resource Reference
1. R3:ch7,8 & R7:ch19
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Define query processing in a distributed environment. R 2. Illustrate the importance of site selection and communication for a chosen
relational algebra query against a fragmented database. R
3. List the characteristics of distributed query processing. R 4. Describe the layer architecture of query processing R
5. What is query optimization?
U
LU4: Transaction Processing (1 Period)
LU Objectives
1. To explain the principles of distributed transaction processing 2. To differentiate distributed and centralized transaction processing.
LU Outcomes
1. Identify examples for distributed transaction processing. 2. Specify the principles of distributed transaction processing
3. Identify the difference between distributed and centralized transaction processing.
Resource Reference
1. R3:ch10 & R7:ch19
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
8
1. Explain the difference between distributed and centralized transaction processing
R
2. With example explain distributed and remote transactions R
3. Write about two phase commit mechanism R
LU5: Concurrency control - (1 Period)
LU Objectives
1. To study various concurrency control protocol
2. To understand the concept of concurrency control in distributed environment LU Outcomes
1. Present the methods of concurrency control 2. Implement the concurrency control techniques in distributed system
Resource Reference
1. R3:CH11 & R7:CH16
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is concurrency control in distributed environment? R
2. Explain about locking protocols. R 3. Give the advantages and disadvantages of primary copy 2PL protocol and
distributed 2PL protocol. R
4. Write about time stamp based protocols with example. R 5. Explain distributed dead lock management and also discuss how it differs
from centralized deadlock management.
U
6. Explain the types of distributed deadlock detection. R
LU6: Recovery (1 Period)
LU Objectives
1. To apply recovery techniques in case of data loss 2. To study various recovery techniques and apply
LU Outcomes
1. Explore various recovery techniques for different kinds of data loss 2. Implement the recovery schemes for data loss
Resource Reference
1. R7:CH17
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Define fuzzy check point R
2. What is write ahead logging (WAL) R
3. Explain shadow paging R 4. Explain ARIES technique for recovery. R 5. Quote any two situations where shadow paging is applicable.
U
9
MODULE-II - OBJECT ORIENTED DATABASES - Overview
This module introduces the object oriented database. It deals with approaches and design. This
explains the persistence concepts. This module overviews transaction processing, concurrency
control and recovery techniques for object oriented database.
LU7: Introduction to Object Oriented Data Bases (1 Period)
LU Objectives
1. To apply the concepts of Object Oriented Data Bases. 2. To define object oriented database and study various concepts involved
LU Outcomes
1. Realize the need of object oriented database
2. Work with object oriented database and the terms used
Resource Reference
1. R4:CH1,W2
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What are complex data? R 2. What are the limitations of conventional database? R
3. Why we go for object oriented database? U 4. Name any two applications where OODB is used. A 5. Define persistent object. Give e.g. R
6. Define transient object. Give e.g. R 7. Define object oriented database. R
8. Give examples of Object Oriented Database. R
9. Differentiate object oriented database and object relational database. R
LU -8: Approaches (1 Period)
LU Objectives
1. To study the various approaches of object oriented database
2. To design of object oriented database
LU Outcomes
1. Elaborate the various approaches involved in the object oriented database
2. Illustrate abstract object, descriptor object and behavioral object and model object oriented database
10
Resource Reference
1. R4:CH2 Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. List the approaches used for designing object oriented database R
2. Give examples for relational extension approach. U 3. Briefly discuss about object oriented databases Sembase, Daplex, IFO. L
4. What is an object? A 5. What is behavioral object? L 6. Define generalization. A
7. Define specialization. A
8. What is encapsulation? R
9. Design an object oriented database for a car manufacturing company.
A
LU -9: Modeling and Design-persistence (1 Period)
LU Objectives
1. To define the concept of persistence.
2. To elaborate the need for persistent programming language and discuss persistent C++ System
LU Outcomes
1. Realize the need for persistent programming language 2. Design using ODMG C++ object definition language and ODMG C++ object manipulation
language
Resource Reference
1. R7:CH8
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. What is persistent programming language? R 2. Differentiate persistent programming language and embedded SQL. R
3. Define iterators. A 4. Write the persistent C++ definition for the object branch with attributes
branch-name, address and assets.
A
LU -10: Query Languages (2 Periods)
LU Objectives
1. To analyze the features of SQL.
2. To understand the need for query languages. 3. To classify the SQL
LU Outcomes
11
1. Identify the characteristics of SQL. 2. Realize the applications of SQL 3. Apply DDL,DML,DCL,TCL in SQL syntax
Resource Reference
1. R7:CH8
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. Explain about Procedural language. U 2. Explain about non-procedural language. U
3. List the shared variables in embedded SQL. U 4. List the three main approaches to database programming. What are the
advantages and disadvantages of each approach?
R
5. When are stored procedures useful? Give an example. L 6. What is meant by SQL? R
7. State the need for SQL. R 8. What are the advantages of SQL? R
9. What is meant by database schema? R 10. What are the basic data types available for attributes in SQL R
11. Define Primary Key. R 12. Define Candidate Key R 13. Define Super key. R
14. How can the key and foreign key constraints be enforced by the DBMS? L 15. How does SQL implement the entity integrity and referential integrity
constraints of the relational data model? Explain with an example.
L
16. Explain how the GROUP BY clause works. What is the difference between the WHERE and HAVING clause?
L
17. Discuss how NULLs are treated in comparison operators in SQL. How are NULLs treated when aggregate functions are applied in an SQL query? How are NULLs treated if they exist in grouping attributes?
L
LU -11 - EL Transaction- Concurrency Multi Version Locks - Recovery 2- (2 Periods)
LU Objectives
1. To Understand transaction processing in object oriented database environment
2. To Elaborate concurrency control mechanism in OODB 3. To Identify various recovery techniques
LU Outcomes
1. Elaborate transaction processing in OODB 2. Understand concurrency control protocols
3. Categorize the recovery techniques and explain the various techniques
Resource Reference
1. R7:CH8 Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. List the different states of a transaction R 2. List the properties satisfied by any transaction R 3. Define atomicity R
4. List the various concurrency control protocols R
12
5. Explain lock based protocol R 6. Explain graph based protocol R 7. Consider the following two transactions:
TA: read(A); read (B); if A=0 then B=B+1;
write(B); TB: read(B);
read(A); if B=0 then A=A+1; write(A)
Add lock and unlock instructions to transactions TA and TB, so that they observe the two-phase locking protocol. Can the execution of these transactions result in dead lock?
A
8. Mention the types of failures R
9. How recovery is done by check point mechanism? U
MODULE-III - EMERGING SYSTEMS - Overview
This module explains the enhanced data model to design the database for real world application.
This extends the ER model. Also, deals with client server model. To understand the storage of large
data collected from various sources, data warehousing techniques are discussed. To retrieve the
useful patterns from the large data, data mining algorithms are discussed. To handle web and
mobile applications, database concepts are extended to deal with web database and mobile
database.
LU -12 Enhanced Data Models (1 Period)
LU Objectives
1. To Study the concepts of enhanced data model
2. To Design an enhanced data model for real world applications.
LU Outcomes
1. Realize the need for enhanced data model, generalization and specialization
concepts. 2. Illustrate the design of real world application using EER model
Resource Reference
1. R8 Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. Define superclass with e.g. R
2. Define subclass with e.g. U 3. Differentiate ER and EER model A
4. Discuss aggregation and composition with e.g. R 5. Using enhanced data model design a university database for the following
situation. University person entities are classified into faculty and student
disjoint sets. Students are registering for a course which is handled by instructor researchers (graduate students). Faculty is advisors to graduate
students. Instructor researchers’ class is a category with super class of faculty and graduate students. Faculties are having sponsored research projects with a grant supporting instruction researchers. Grants are
sanctioned by different agencies. Faculty belongs to different departments.
L
13
Department is chaired by a faculty
LU -13 Client/Server Model (1 Period)
LU Objectives
1. To Deploy various client server models.
LU Outcomes
1. Use the different architecture of a client server model to deploy 2. Elaborate the architecture of a client server model
Resource Reference
1. R7:CH18
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is 2 tier and 3 tier architecture? R 2. Discuss the different types of client server mode R
3. Design a database server and transaction server.
A
LU4: Data Warehousing and Data Mining (2 Period)
LU Objectives
1. To study the various architecture of a data warehouse and the operations involved with
the storage 2. To retrieve patterns using data mining techniques
LU Outcomes
1. Design the different schema of a data warehouse 2. Elaborate the design process for different schemas
3. Generate the different data mining techniques.
Resource Reference
1. R7:CH22
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Define data warehouse R
2. Discuss star schema and snow flake schema of a data warehouse
R
3. Design a data warehouse for sales analysis system A
4. What is data mining? R
6. Describe the decision tree classifier with e.g.
R
14
LU -12 Web Databases- Mobile Databases (2 Period)
LU Objectives
1. To study the architecture of a web database and apply the transaction and concurrency
control mechanisms and issues
2. To Study the architecture of a mobile database and apply the transaction and concurrency
issues
LU Outcomes
1. Elaborate the design of a web database 2. Describe the architecture of a mobile database with research issues
Resource Reference
1 R7:CH21/R3 & R7:CH23/R3 Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. What is web database? R
2. Explain the architecture of a web database. U 3. Construct a web database application. A
4. What is the need for a mobile database? R 5.
Discuss the issues related to the design of a mobile database with respect to transaction and concurrency mechanisms.
U
6. Create an application using mobile database. C
MODULE IV - DATABASE DESIGN ISSUES – Overview
This module explains the conceptual design of the database application using Entity-Relationship
model (ER model). It explains the mapping process between ER model and table design. Relational
schema is designed with optimization process using various normal forms. It discusses the
integrity and security constraints to maintain the consistency in the database. To get effective
usage of database, tuning is also discussed. Optimization and research issues in various databases
are discussed. Also, deals with the design of temporal database and spatial database.
LU -13: ER Model (1 Period)
LU Objectives
1. To understand ER model design process 2. To model a database application using ER model.
LU Outcomes
1. Use ER model to model a database
2. Design of ER model for various applications
Resource Reference
1.R7:CH2
15
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Define entity and attribute R 2. Differentiate strong and weak entity set R 3. Define derived attribute and multi valued attribute R
4. Define relationship sets R 5. The musical company wants to store information about the musicians who
perform on its albums. Each musician has a musician id, a nme, an address, and a phone number. Some musicians may have the same address and some of the may have more then one phone number. Each musician
may play several instruments and an instrument and may be played by several musicians. Each instrument has name and a musical key. The album recorded has a title, a copyright date, a format and an album identifier. Each
album has a number of songs, where a song has a title and an author. Each song may be performed by several musicians and a musician may
perform a number of songs. One of the musicians of the song acts as a producer. A producer may produce several albums. i) Draw an E-R diagram.
ii) Transform the E-R diagram to a Relational Schema.
L
7. Explain any one distributed database architecture R
LU -14: Normalization (1 Period)
LU Objectives
1. To discuss the various normal forms 2. To apply normalization techniques to design a database
LU Outcomes
1. Identify various normal forms with e.g.
2. Elaborate normalization process with e.g
Resource Reference
1. R7:CH7
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.N
o
Test Questions Level
1 Define normalization R 2 List the various normal forms R
3 Compare BCNF and 3NF A
4. Normalize the following table Empinfo(empid, branchno, branchaddr, empname, designation, workhrs)
D
5. Differentiate primary and foreign key
U
LU15: Security and Integrity (2 Period)
LU Objectives
1. To develop integrity and security constraints to maintain consistency in the database
16
LU Outcomes
1. Discuss the security and integrity constrains to database
2. Bring out the different types of security provided to data
Resource Reference
1. R7:CH6
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1 What is digital signature? R 2 What is encryption? R 3 Define check constraint with e.g. R
4 What is trigger? R 5 Give e.g. for assertion U
LU16: Database Tuning (1 Period)
LU Objectives
1. To tune various database tuning parameters for performance improvement
LU Outcomes
1. Identify various tuning methods to improve the database performance 2. Apply the various database tuning techniques with parameters
Resource Reference
1. R7:CH21 Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is database tuning? R
2. What is benchmark? R 3. List the various parameters used to tune the database. R 4. List the different benchmark standards. R
LU17: Research Issues – Design of Temporal Databases – Spatial Databases - (2 Period)
LU Objectives
1. To recognize the research issues in the design of database and construct temporal database and spatial database
2. To Construct temporal database and spatial database
LU Outcomes
1. Realize the research issues in database design and implementation
2. Discuss the design of temporal database and spatial database
Resource Reference
1. R7:CH14
R5 R7:CH23
17
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Discuss the research issues in designing distributed database R 2. Bring out the issues in query processing optimization R
3. Explain the research issues in mobile database R 4. Describe the various storage and retrieval techniques of spatial database R
MODULE V - CURRENT ISSUES – Overview
This module explains the need for knowledge base and the concepts of Knowledge base
and rule formation. It discusses the active and deductive database concepts, parallel database,
multimedia database, image database and text database design and implementation.
LU18: Rules - Knowledge Bases (1 Period)
LU Objectives
1. To define rules and exemplify knowledge base
LU Outcomes
1. Frame rules and knowledge base 2. Elaborate rule formation using declarative language
Resource Reference
1. R8,W1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Define fact and rule. R 2. Give e.g. for declarative language. R 3. How knowledge base differs from database. R
LU19: Active and Deductive Databases-Parallel databases (2 Period)
LU Objectives
1.
2.
To construct the model for the design and implementation of an active and deductive database
To analyze the various aspects of parallel database
LU Outcomes
1. Identify the design of active and deductive database 2. Differentiate active and deductive database 3. Design parallel database
Resource Reference
1. R8
18
R7:CH20
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Discuss event-action-model of active database with eg. R 2. Explain the relational operations in deductive database. R
3. Write briefly the parallel architecture of a database. R 4. Discuss about inter query and intra query parallelism. R
LU20: Multimedia Databases-Image Databases – Text Database (2 Period)
LU Objectives
1. To Justify the use of multimedia database, image database and text database 2. To Illustrate the design of multimedia database, image database and text database
storage and retrieval techniques
LU Outcomes
1. Realize the need for multimedia database and handling of multimedia data 2. Design the storage and retrieval techniques of image and text database
Resource Reference
1. R7:CH23 R8
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is multimedia database? R
2. Why we need multimedia database? U 3. Write notes on multimedia database. R 4. What is image database? R
5. What is text database? R 6. Discuss any one case study of image database. L 7. Write short notes on text database. R
8. Design an image database for retrieving faculty photo. C
19
COURSE DETAILS – ADVANCED COMPUTER ARCHITECTURE
Subject Code : CS922
Subject Name : ADVANCED OPERATING SYSTEMS
Semester : ME (CSE) II Semester
Prepared By : Ms. P. Golda Jeyasheeli
Approved By : Dr. K. Muneeswaran
Effective Date : 06.02.2013
Revision No. : 1
Course Objective:
To review the functional components of operating system and the types of advanced
operating systems.
To understand how to order events in a distributed system using logical clocks.
To study the various algorithms available for distributed mutual exclusion.
To understand how deadlocks occur and the various methods to detect and resolve
deadlocks.
To study the architecture and implementation of distributed file systems.
To learn the design issues and algorithms for distributed shared memory.
To learn the various algorithms for load distribution in distributed systems.
To study the different types of faults and the recovery methods for distributed systems.
To study the design issues in multiprocessor operating systems and concurrency control in
distributed operating systems
Course Prerequisite:
Operating Systems, Database systems, Computer organization and Architecture
Outcomes–Programme Outcomes mapping
(3- Substantially, 2-Moderately, 1-Slightly)
Course Title : Advanced Operating Systems
Course Outcomes
Programme Outcomes
1 2 3 4 5 6 7 8 9 10 11 12
1. Identify the functional components of
OS and types of advanced operating
systems.
1
1
2. Compare the performance of various
synchronization mechanisms in an
operating system.
2
1
1
2
1
3. Apply logical clocks and order events
in a distributed system.
2 2 1
4. Analyse the various deadlock
detection strategies in a distributed
system.
1
2
1
2
1
5. Explore the design, implementation,
and issues of distributed file systems.
3 2 2 1
6. Design the cache coherence protocols 1 3 2 1
20
for distributed shared memory
system.
2 1
7. Performance comparison of various
load distributing algorithms.
2 3 2 2 2 1
8. Apply check pointing protocols for
fault tolerance and recovery in a
distributed system.
1
2
2 2
1
2
2
1
9. Design synchronization solutions for a
multiprocessor operating system
2 2 3 2 2 2 2
10. Compare the working of various
concurrency control algorithms in a
database operating system
2
3
2
3
1
2
2
2
CONCEPT MAP
21
COURSE DESCRIPTION: (As per Anna University Chennai Syllabus)
CS 9222 ADVANCED OPERATING SYSTEMS
Aim: To study about various issues in distributed operating systems like distributed mutual
Concurrency Control – Distributed Database Systems – Concurrency Control Algorithms.
TOTAL = 45
TEXT BOOKS:
1. Mukesh Singhal and N. G. Shivaratri, “Advanced Concepts in Operating Systems”, McGraw-Hill,
2000
REFERENCES: 1 Abraham Silberschatz, Peter B. Galvin, G. Gagne, “Operating System Concepts”, Sixth
Edition, Addison Wesley Publishing Co., 2003.
2 Andrew S. Tanenbaum, “Modern Operating Systems”, Second Edition, AddisonWesley, 2001. 3 http://deneb.cs.kent.edu/~mikhail/classes/aos.f02/ 4 http://www.coda.cs.cmu.edu/ljpaper/lj.html
Three tests each carrying 100 marks shall be reduced to 75 marks and remaining 25
marks will be given for regular attendance.
Internal Test Syllabus
Test 1 : Unit 1 & Half of II Unit
Test 2 : Remaining half of II Unit and III Unit
Test 3 : Unit IV, V
24
MODULE-1 INTRODUCTION
Module Overview
This module introduces the definitions, Design approaches, functions and types of an operating
system. It deals with process synchronization and various solutions. It explains about the problem
of deadlocks and the various methods for handling the deadlocks.
LU -1: Functions of an Operating System, Design Approaches(1 period)
LU Objectives
1. To learn the functions of operating system. 2. To study the various approaches towards designing an operating system
LU Outcomes
1. Identify the functional components of operating system.
2. Compare the various design approaches. Resource Reference
1. Ch 1.1-1.4
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. List the functions of an operating system R 2. Compare the various design approaches U 3. Specify the advantages of layered design R
4. What is a virtual machine? R 5. Compare micro and mono kernel approach. U
LU -2 Types of Advanced Operating System(1 period)
LU Objectives
1. To learn the different types of advanced operating systems LU Outcomes
1. Explore the differences between different advanced operating systems
2. Identify the need for a particular advanced operating system Resource Reference
1. Ch 1.5
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. Classify the various advanced operating systems R
2. In what way a multiprocessor operating system is different from a uniprocessor operating system?
R
3. List the functions of a database operating system R 4. What is a real time operating system R 5. List any two applications where real time os is used R
LU -3 Concept of a Process, Concurrent Processes, The Critical Section Problem, Other
Synchronization Problems. (2 periods)
25
LU Objectives
1. To learn about the concept of process and concurrent processes 2. To study about the critical section problem
To learn the solution to a few synchronisation problems LU Outcomes
1. Analyse the issues in running concurrent processes 2. Identify the need for various process related data structures
3. Apply solution to synchronisation problems Resource Reference
1. Ch 2.1 -2.5
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. Define a process. R
2. List the information maintained for a process by the os R 3. Draw the process state diagram R
4. What is a race condition? Explain how does a critical section avoid this condition?
5. What is a critical section problems? R
6. List the requirements for the solution to the critical section problem R 7. What is a semaphore? R
8. List the two atomic operations on semaphore R 9. In what way semaphore is better than other synchronisation methods? L 10. Using semaphores provide solutions to producer-consumer, readers-
writes, and dining philosophers problem
A
11. The Sleeping Barber Problem: A barbershop consists of a waiting room with n chairs and a barber room containing the barber chair. If there are
no customers to be served, the barber goes to sleep. If a customer enters the barbershop and all chairs are occupied, then the customer
leaves the shop. If the barber is busy but chairs are available, then the customer sits in one if the free chairs. If the barber is asleep, the customer wakes up the barber. Write a program to coordinate the
barber and the customers.
A
LU -4 Language Mechanisms for Synchronization: monitors(1 period)
LU Objectives
1. To learn about language mechanism for achieving synchronisation LU Outcomes
1. Able to provide synchronisation solutions using monitors, serilaizers and path expressions Resource Reference
1. Ch 2.6
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. Explain the working of a monitor R
2. Provide a solution to the readers-writers problem using monitors R 3. What is the draw back in using monitors and explain how is that
rectified in a serializer?
U
4. Consider a system consisting of processes P1, P2, ..., Pn, each of which has a unique priority number. Write a monitor that allocates three
identical line printers to these processes, using the priority numbers for deciding the order of allocation
C
5. Give the path expression for readers – writers problem. A
26
LU -5 Process Deadlocks, Preliminaries(1 period)
LU Objectives
1. To learn about deadlocks
2. To find out the various deadlock handling strategies 3. To study the various deadlock models
LU Outcomes
1. Explore the definition of deadlock
2. Compare the deadlock handling strategies 3. Apply the various deadlock models
Resource Reference
1. Ch 3.1-3.4
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. Define a deadlock R 2. Compare deadlock and starvation U
3. State the causes of deadlocks R 4. List three examples of deadlocks that are not related to a computer-
system environment.
U
5. List the various deadlock handling strategies R 6. Compare the various deadlock models U
LU -6 System State ,Necessary and Sufficient conditions for a Deadlock(1 period)
LU Objectives
1. To understand safe and unsafe system state 2. To learn the necessary and sufficient condition for deadlocks
LU Outcomes
1. Identify if system is in safe or unsafe state
2. Analyse the necessary and sufficient condition for deadlocks Resource Reference
1. Ch 3.5,3.6
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. Discuss the graph theoretical model for expressing the system state R
2. What is a safe and unsafe state? U 3. Explain the graph reduction method to test a system state for deadlock. R
4. Suppose there are 2 copies of resource A, 3 copies of resource B, and 3 copies of resource C. Suppose further that process 1 holds one unit of resources B and C and is waiting for a unit of A; that process 2 is
holding a unit of A and waiting on a unit of B; and that process 3 is holding one unit of A, two units of B, and one unit of C.Draw the
resource allocation graph. Is the system in a deadlocked state? Why or why not?
A
27
LU -7 Systems with Single-Unit Requests, Consumable Resources, Reusable Resources. (2
periods)
LU Objectives
1. To study the various deadlock handling methods for different types of resources. LU Outcomes
1. Explore the ways to prevent deadlocks 2. Apply Banker’s algorithm for deadlock avoidance 3. Find out if a system is deadlocked by applying deadlock detection algorithm
Resource Reference
1. Ch 3.7-3.9
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. Consider a system consisting of four resources of the same type that
are shared by three processes, each of which needs at most two resources. Show that the system is deadlock free.
L
2. Apply banker’s algorithm and find whether the system is in a safe state.
Find the total number of resources in the system.
Maximum Allocation
A B C D A B C D
0 0 1 2 0 0 1 2 P0
1 7 5 0 1 0 0 0 P1
2 3 5 6 1 3 5 4 P2
0 6 5 2 0 6 3 2 P3
0 6 5 6 0 0 1 4 P4
Available : 1 5 2 0
If a request from P1 arrives for (0,4,2,0) , can the request be granted immediately?
A
3. Create an algorithm for deadlock prevention using process priorities C 4. Apply banker’s algorithm and find whether the system is in a safe state.
Find the total number of resources in the system.
Maximum Allocation Available
ABCD ABCD ABCD
0 0 1 2 0 0 1 2 1 5 2 0
1 0 0 0 1 7 5 0
1 3 5 4 2 3 5 6
0 6 3 2 0 6 5 2
28
0 0 1 4 0 6 5 6
MODULE-2 DISTRIBUTED OPERATING SYSTEMS
Module Overview
This module discusses about the architectures of distributed systems. It deals with two logical lock
schemes. It discusses the distributed mutual exclusion algorithms. It also deals with the
distributed deadlock detection algorithms.
LU -8 Introduction, Issues(1 period)
LU Objectives
1. To learn the motivation and architecture types of distributed operating systems 2. To study the issues in distributed operating systems
LU Outcomes
1. Explore and compare the various architecture types. 2. Identify the issues in designing distributed operating systems
Resource Reference
1. Ch 34.1-4.3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Define a distributed system L 2. List any two motivating factors for distributed systems A
3. Compare the various distributed system architecture models C 4. Discuss the issues in designing distributed systems R
LU -9 Communication Primitives(1 period)
LU Objectives
1. To learn about the various communication mechanisms in a distributed system LU Outcomes
1. Analyse the working and design issues of RPC 2.
Resource Reference
1. Ch 4.7
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. Define the message passing model R 2. Compare blocking and non blocking primitives U
3. List the benefits of synchronous primitives R 4. Expand RPC R
5. Discuss the various design issues in RPC U 6. Analyse the working of RPC under “exactly once semantics” L 7. Specify how remote procedures are located by the client? U
29
LU -10 Inherent Limitations of a distributed system(1 period)
LU Objectives
1. To learn about the Inherent Limitations of a distributed system
LU Outcomes
1. Identify the various limitations of a distributed system Resource Reference
1. Ch 5.1,5.2
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. List the two basic limitations of a distributed system R
2. Analyse how absence of a global clock affects a distributed application L 3. What issues arise out of lack of global memory? Explain with an
1. To learn about lamport’s logical clock and vector clock.
2. To understand how events could be ordered using logical clocks LU Outcomes
1. Apply Lamport’s logical clock to events. 2. Apply vector clocks to order events.
3. Analyse an algorithm for causal ordering of messages Resource Reference
1. Ch 5.3-5.5
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. Define happened before relation. R
2. What are concurrent events? R 3. Explain Lamport’s Logical clocks with example R
4. Write down the limitation of lamport’s logical clocks. U 5. Lamport defined a notion of virtual time based on event ordering -
the “happened before” relation. Show how a global total ordering of
events can be achieved based on this notion of Lamport’s logical clocks.
A
6. What is a vector clock? Explain how causal ordering of messages is done
using vector clocks.
U
7. Distinguish the logical and vector clocks. U 8. List out the violation of causal ordering of messages. R
9. Discuss the Birman-Schiper-Stephenson protocol for causal ordering of messages.
R
10. Order the events using Lamports Logical clock and vector clock A
30
LU -12 Global State; Cuts; Termination Detection. (1 period)
LU Objectives
1. To learn about global state recording 2. To study the algorithm for termination detection
LU Outcomes
1. Apply Chandy Misra Global state recording algorithm
2. Apply termination detection algorithm 3.
Resource Reference
1. Ch 5.6 – 5.8
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is a global state? What problems arise in recording the global state with an example
U
2. Define the following terms: 1. Local state 2.Global Stae 3. Consistent global state 4. Transitless global state
R
3. Explain the Chandy Misra Global state recording algorithm R 4. Describe the role of “marker” messages in the chandy lamport
distributed snapshot algorithm. State one drawback of this algorithm and a possible method to overcome this limitation.
U
5. Discuss Huang’s termination detection algorithm R
6. Mention any two distributed applications where termination detection is needed. Explain the algorithm for termination detection
R
LU -13 Distributed Mutual Exclusion, Non Token based algorithms (2 periods)
LU Objectives
1. To learn the various non token based mutual exclusion algorithms LU Outcomes
1. Analyse the performance of non token based mutual exclusion algorithms Resource Reference
1. Ch 6.1 -6.8
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. List the two main categories of distributed mutual exclusion algorithms R 2. Can mutual exclusion algorithms for single computer system be applied
to distributed systems? If not, why? L
3. State the requirements for distributed mutual exclusion R
P1
P2
P3
31
4. Explain how performance of a distributed mutual algorithm can be measured
R
5. Show that in Lamport’s algorithm the critical section is accessed
according to the increasing order of timestamps.
U
6. Show that in the Ricart-Agrawala algorithm, the critical section is accessed according to the increasing order of timestamps. Does the
same hold true in Maekawa’s algorithm?
L
7. What is the purpose of REPLY message in Lamport’s algorithm? Note
that a site need not necessarily return a REPLY message in response to a REQUEST message. State the condition under which a site does not have to return a REPLY message. Also, give the new message
complexity per critical section execution in this case.
L
8. Maekawa’s mutual exclusion algorithm give the impression that message complexity of a distributed mutual exclusion can be O(sqrt(N))
instead of O(N), as in many other mutual exclusion algorithms. Discuss how Maekawa’s algorithm fundamentally differs from other algorithms
and what problems it poses.
L
9. Calculate the synchronistaion delay, throughput, no of messages exchanged per CS in the Mekawa voting algorithm. Can deadlock occur
in this algorithm? If yes, how it is handled?
L
LU -14 Token-Based Algorithms, Suzuki-Kasami’s Broadcast Algorithm(1 period)
LU Objectives
1. To learn the various token based mutual exclusion algorithms LU Outcomes
1. Analyze the performance analysis of token based mutual exclusion algorithms Resource Reference
1. Ch 6.10,6.11
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the working of a token based mutual exclusion algorithm with
an example.
R
2. Analyse the performance of Suzuki-Kasami broadcast algorithm L
3. Explain how Raymon’s tree based mutual exclusion algorithm works
with an example.
R
4. Compare the performance of the two token based mutual exclusion
algorithms
R
LU -15 Distributed Deadlock Detection, Centralized Deadlock-Detection Algorithms(2 periods)
LU Objectives
1. To study the problem of deadlocks in a distributed system 2. To learn the centralised deadlock detection algorithms for deadlock detection.
LU Outcomes
1. Identify the issues in distributed deadlock detection
2. Compare the working of centralised deadlock detection algorithms Resource Reference
1. Ch 7.1-7.6
32
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain how deadlocks can occur in a distributed system R
2. What is a wait for graph? L
3. List the deadlock handling strategies in a distributed system R 4. Discuss the issues in deadlock detection and recovery R
5. Discuss the centralized deadlock detection algorithms and compare the performance of the algorithms in terms of messages exchanged
U
6. What is a phantom deadlock? How it is avoided in Ho-Ramamoorthy
algorithms?
U
LU -16 Distributed Deadlock-Detection Algorithms. (1 period)
LU Objectives
1. To study the various distributed deadlock detection algorithms LU Outcomes
1. Apply the various deadlock detection algorithms on the system state Resource Reference
1. Ch 7.7
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. List the four classes of distributed deadlock detection R 2. Discuss how the edge chasing algorithm works R 3. What is a diffusion computation based algorithm? R
4. Discuss a few hierarchical deadlock detection algorithms R 5. Instead of using a deadlock detection algorithm, deadlocks can be
handled by timeouts where a process that has waited for a specified period for a resource declares that it is deadlocked. What are the risks in using this method
L
6. Discuss the impact of message loss on the various deadlock detection algorithms
L
7. Suppose all the processes in the system are assigned priorities that can
be used to totally order the processes. Modify Chandy Misra Hass’s edge chasing algorithm, so that when a process detects a deadlock, it also
knows the lowest priority deadlocked process.
8. Consider the following scheme to reduce message traffic in distributed deadlock detection: Transactions are assigned unique priorities, and an
antagonistic conflict occurs when a transaction waits for a data object that is locked by a lower priority transaction. Deadlock detection is
initiated only when an antagonistic conflict occurs. When a waiting transaction receives a probe that is initiated by a lower priority transaction, the probe is discarded.
a) Determine the number of messages exchanged to detect a deadlock in the “best” case. b) Determine the number of messages exchanged to detect
a deadlock in the “worst” case. c) Determine the number of messages exchanged to detect
a deadlock in the “average” case. d) Determine the saving (as a percentage) in the average number of messages exchanged under this message traffic reduction
scheme, as compared to when no such scheme is used.
A
LU -17 Agreement Protocols (1 period)
33
LU Objectives
1. To study the various agreement protocols LU Outcomes
1. Explore the need for agreement protocols Resource Reference
1. Ch 8
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. What system model could be assumed for the study of agreement
protocols?
R
2. Discuss the model of processor failures in Agreement protocols.
3. List the classifications of agreement protocols R 4. What is a Byzantine agreement problem? R
5. Discuss the solution to the Byzantine agreement problem. R 6. What is the upper bound on the no of faulty processors? Why? L 7. Specify a few applications for agreement protocols
8. Show that Byzantine agreement cannot always be reached among four processors if two processors are faulty
A
9. How can the blue army loyal generals reach agreement on troop strength
of all other loyal generals using byzantine generals’ problem?
U
MODULE-3 DISTRIBUTED RESOURCE MANAGEMENT
Module Overview
This module explains about distributed file systems concepts like mechanisms for building
distributed file systems and design issues of distributed file systems. It deals with the distributed
shared memory algorithms. It also discusses the various distributed scheduling algorithms. Case
studies are analysed.
LU -18 Distributed File systems, Architecture (1 period)
LU Objectives
1. To learn the goals of distributed file systems
2. To study the architecture of distributed file systems 3. To understand the mechanisms involved in building distributed file systems
LU Outcomes
1. Appreciate the need and goals for distributed file systems 2. Explore the architecture of distributed file systems
3. Identify the underlying mechanisms for building distributed file systems Resource Reference
1. Ch 9.1-9.3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. List the goals of distributed file systems R 2. What is network transparency? U
3. Discuss the typical data access actions in a distributed file system with a neat flow chart.
R
4. What is mounting? What will be the contents of mount table? R
34
5. Discuss how caching is used to improve the performance in a distributed file system
U
6. State how a communication in a distributed file system can be made
secure
U
7. Discuss the various underlying mechanisms in building a distributed file system
R
LU -19 Design Issues ( 1 period)
LU Objectives
1. To study the various design issues in distributed file system (DFS) LU Outcomes
1. Analyse the design issues and their solutions
Resource Reference
1. Ch 9.4
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. How are resources named in DFS? R 2. What is the use of a name server? R
3. Explain how caches improve performance in a DFS? U 4. Where cache is placed in the client and server? Why? U 5. Specify the various writing policies used in DFS. U
6. Compare client initiated vs. server initiated approaches to maintaining cache consistency
U
7. Specify how a DFS can be made more available with replication? R
8. What is scalability? How is it achieved in a DFS? R
LU -20 Case Studies ( 1 period)
LU Objectives
1. To learn about the architecture and design issues of Sun Network File System, Sprite File System and Coda file system
LU Outcomes
1. Compare the various existing distributed file systems Resource Reference
1. Ch 9.5
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. Discuss the architecture of Sun Network File System. R 2. What is the caching policy in sun NFS? R
3. What are the advantages and disadvantages of a stateless server? U 4. Explain how a file is located in Sprite file system? R 5. What is the use of prefix table? R
6. Discuss the design goals and implementation of Coda file system? R 7. Analyse the caching policies of any two DFS. L
8. What is the benefit of grouping files into volumes in Coda? R 9. What is a call back mechanism? R 10. Explain the following sentence. Consistency, availability and U
35
performance tend to be contradictory forces in a distributed file system”
LU -21 Distributed Shared Memory, Architecture, Algorithm ( 1 period)
LU Objectives
1. To learn the motivation, architecture and algorithms for distributed shared memory(DSM) LU Outcomes
1. Explore the motivation, architecture of DSM 2. Compare the various algorithms for DSM
Resource Reference
1. Ch 10.1-10.3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Discuss the architecture and motivation behind DSM R 2. Compare the working of central server algorithm with the distributed
algorithm
U
3. Specify the differences between read replication and full replication algorithms.
U
LU -22 Protocols, design issues( 1 period)
LU Objectives
1. To learn the various coherence protocols used in DSM.
2. To understand the design issues in DSM LU Outcomes
1. Compare the working of various coherence protocols 2. Explore the design issues and the solutions in DSM.
Resource Reference
1. Ch 10.4-10.6
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. List the different memory consistency models R 2. Compare write invalidate and write update protocols. U
3. Discuss the cache coherence in PLUS system. R 4. Discuss the benefits of type specific memory coherence in Munin DSM
system
R
5. What is the major shortcoming of Munin’s type specific memory coherence protocol?
R
6. Describe the design issues in DSM R
LU -23 Case Studies ( 1 period)
LU Objectives
1. To learn about the architecture and working of example DSMs LU Outcomes
1. To compare the working of DSMs like IVY,Mirage and Clouds Resource Reference
36
1. Ch 10.7
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. What is the coherence protocol followed in IVY? R
2. Discuss the dynamic distributed manager scheme. R 3. Compare Mirage and Clouds DSM. U
LU -24 Distributed Scheduling, Issues,Components ( 2 periods)
LU Objectives
1. To learn about scheduling tasks in a distributed system and its advantages 2. To study various issues and components in distributed scheduling
LU Outcomes
1. Identify the benefits of distributed scheduled
2. Explore the issues and components in distributed scheduling Resource Reference
1. Ch 11.1-11.5
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. How is load measured in a system? R 2. State the difference between load sharing and load balancing U 3. Compare pre-emptive and non pre-emptive job transfers. U
4. List the components of a load distributing algorithm R 5. Specify the three types of information policies R
LU -25 Algorithm ( 1 period)
LU Objectives
1. To study the various distributed scheduling algorithms. LU Outcomes
1. Compare the performance of sender initiated, receiver initiated and symmetrically initiated load distribution algorithms
Resource Reference
1. Ch 11.6,11,7
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level 1. Discuss and compare the performance of sender initiated algorithms R
2. Explain sender initiated load sharing with threshold policy with a diagram
U
3. What is the transfer policy of receiver initiated algorithms? U 4. In what way symmetrically initiated algorithms are better than sender
initiated and receiver initiated algorithms? R
5. Under what situation sender initiated algorithms do better? R 6. How adaptive load distribution algorithms work? 7. Predict the performance of the receiver initiated load sharing algorithm
when the entire system workload is generated at only a few nodes in the system instead of equally at all the nodes.
L
8. Identify all the overheads in a load sharing policy U State the difference between load sharing and load balancing R Describe the concept of distributed scheduling and explain suitable R
37
algorithms.
MODULE-4 FAILURE RECOVERY AND FAULT TOLERANCE
Module Overview:
This module introduces the definitions, classification of failures, backward and forward error
recovery, synchronous and asynchronous check pointing and recovery. It deals with fault tolerance.
It explains about commit and non blocking commit protocols, voting and dynamic voting protocols.
LU -26: Recovery- Basic Concepts, Classification of Failures (1 Period)
LU Objectives
1. To understand the process of recovery and classification of failures
LU Outcomes
1. Explore the system model and the process of recovery
2. Analyse the various types of failures and their effects.
Resource Reference
1. Ch 12.1-12.3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level 1. Explain about the failure models in distributed systems R
2. Differentiate error, fault and failure U 3. Classify system failures R 4. How does a communication failure affect the system? R
5. Differentiate synchronous and asynchronous check pointing L 6. Define recovery in concurrent systems. R
7. What are failures in OS? How they are classified? How are they recovered? Describe few approaches with suitable algorithm.
R
LU -27: Basic Approaches to Recovery (1 Period)
LU Objectives
1. To learn backward and forward error recovery approaches 2. To study the various approaches to backward error recovery
LU Outcomes
1. Compare backward and forward error recovery approaches 2. Analyse the performance of various backward error recovery approaches.
Resource Reference
1. Ch 12.4,12.5
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
38
S. No Test Questions Level 1. Differentiate forward and backward error recovery mechanisms. U 2. State the purpose of write ahead log U
3. What is a state based approach to error recovery? R 4. How do you recover the data when failure occurs? L 5. Distinguish between synchronous and asynchronous recovery system. E
6. Give an example for any one of the recovery algorithm and where the recovery algorithm can terminate after only one iteration.
L
7. Give an example for any one of the recovery algorithm and need to execute for N iterations where N is the number of processor in the system.
L
LU -28: Recovery in Concurrent System (1 Period)
LU Objectives
1. To understand the process of recovery in concurrent systems
LU Outcomes
1. Analyse the issues in error recovery in a concurrent system
Resource Reference
1. Ch 12.6,12.7
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level 1. Define a concurrent system. R
2. What happens when you rollback a process in a concurrent system? U 3. How do you recover the data when failure occurs? L
4. Explain the problem of domino effect and orphan messages R
5. List the problems that can arise during the rollback of cooperating processes.
6. How are lost messages handled? R
7. Define live locks. What is the difference between a deadlock and a live lock?
U
8.
Show that when checkpoints are taken after every K (k>1) messages are sent, the recovery mechanism can suffer from the domino effect.
Assume that a process takes a checkpoint immediately after sending the Kth message but before doing anything else.
L
9. Write a message complexity of any one of the rollback recovery
algorithm. R
LU -29: Synchronous and Asynchronous Check pointing and Recovery (1 Period)
LU Objectives
1. To study synchronous and asynchronous check pointing and recovery algorithms
LU Outcomes
1. Compare the various synchronous and asynchronous check pointing and recovery algorithms.
39
Resource Reference
1. Ch 12.8,12.9
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level
1. Distinguish between synchronous and asynchronous check pointing and recovery algorithms.
R
2. Explain access matrix model. R
3. Summarize the characterization of synchronous check pointing. R 4. Explain with example The Checkpoint Algorithm. R 5. Explain with example The Rollback Recovery Algorithm. R
6. Discuss scheme for Asynchronous Check pointing and Recovery. R
7. Discuss the algorithm for Asynchronous Check pointing and Recovery
with example. R
8. In the synchronous check pointing algorithm, a process on receiving a “take a tentative checkpoint” message will send a similar message to all
the processes in the check point cohort set. Why is this necessary?
L
9.
Give an example where the asynchronous recovery algorithm will need
to execute |N| iterations where |N| is the number of processors in the system.
L
10. Give an example where the asynchronous recovery algorithm will
terminate after only one iteration. L
LU -30: Check pointing in Distributed Database Systems (1 Period)
LU Objectives
1. To learn the issues in check pointing and recovery in distributed database systems
LU Outcomes
1. Analyse how check pointing and recovery help in maintaining consistency in a distributed database system
2.
Resource Reference
1. Ch 12.10
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level 1. Discuss the term authentication in distributed systems R
2. Define the notion of consistency in a distributed database system R 3. Discuss about the principle of distributed database systems R 4. Discuss the Agarwala check pointing algorithm R
5. Explain how a distributed data base system can recover from failure using checkpoints recorded.
R
6. How synchronization issues exist in distributed database applications. L
LU -31: Fault Tolerance, Issues,Committ Protocols (2 Periods)
LU Objectives
40
1. To learn the different types of failures that may occur in a distributed system 2. To study the various blocking and non blocking commit protocols
LU Outcomes
1. Identify the classes of failures 2. Compare the performance of non blocking commit protocols against blocking commit
protocols
Resource Reference
1. Ch 13.1-13.3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level 1. What are the classifications of faults? R
2. Explain in detail about architecture of fault tolerance in database Systems
R
3. Define fault tolerance R
4. Explain the characteristics of atomic actions. R 5. What steps could be taken to improve the fault tolerance of your own. U
6. Explain the concept of Generals Paradox for commit protocols. R 7. Discuss the working of two phase commit protocol R 8. Explain how site failures are handled in a distributed system U
9. What is a non blocking commit protocol? R 10. Discuss a synchronous non blocking commit protocol. R
11.
The two-phase commit protocol is a centralized protocol where the decision to abort or commit is taken by the coordinator. Design a decentralized two phase commit protocol where no site is designated to
be a coordinator.
C
LU -32: Voting Protocols, Dynamic Voting Protocols (2 Periods)
LU Objectives
1. To study the need for voting protocols
2. To understand the working of Static and dynamic voting protocols.
LU Outcomes
1. Identify the need for voting protocols
2. Analyse the static and dynamic voting protocols
Resource Reference
1. Ch 13.6
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level 1. What do you mean by static voting R
2. What is the need for voting protocols? R 3. Differentiate commit and voting protocols U 4. Illustrate the fault tolerance implementation by voting protocols. U
5. Explain in detail The Static Voting Algorithm R 6. What is a dynamic voting protocol? R
7. Discuss the majority based dynamic voting protocol? R 8. Specify the principle behind dynamic vote reassignment protocol U 9. Consider a system with three sites employing two-phase commit A
41
protocols. Illustrate a situation where in a site may not be able to arrive at a consistent decision concerning the outcome of the transaction in the event of site failures. Assume that a site can communicate with any
other operating site to check the outcome of a transaction.
10.
Consider a system using the dynamic vote reassignment protocol with an overthrow technique to increase the voting power of a site. Show
that if a site j increases its voting power by twice the number of votes of the failed site I, all the majority groups that used I can still form a
majority group using site j instead.
L
MODULE-5 MULTIPROCESSOR AND DATABASE OPERATING SYSTEMS
Module 5 Overview
This module discusses about the design issues of multiprocessor operating
systems. It discusses the threads, process synchronization, and processor scheduling and memory
management. It also deals with reliability and fault tolerance. It introduces the database operating
system. It explains the transaction-concurrency control in database systems. It focuses the
distributed database systems. It also deals with concurrency control algorithms for distributed
database systems.
LU -33: Structures, Design Issues, Threads (1 period)
LU Objectives
1. To learn the different multiprocessor structures and design issues. 2. To study about thread management
LU Outcomes
1. Explore the various multiprocessor structures and design issues 2. Performance analysis of user level threads and kernel level threads
Resource Reference
1. Ch 17.1-17.4
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level
1. Explain the overview of multi-processor operating system R 2. List the design issues of multiprocessor operating system R
3. Compare the three different multiprocessor architectures U 4. How does a master slave configuration work? U 5. State the advantages of symmetric multiprocessor system R
6. Which is faster user level or kernel level threads? U 7. List the advantages of kernel level threads R 8. Define Thread R
9. What is multi-threading? R 10. How threads differ from processes? U
LU -34: Process Synchronization (2 Periods)
LU Objectives
1. To learn about the various process synchronisation solution
42
LU Outcomes
1. Provide process synchronisation in a multiprocessor system
Resource Reference
1. Ch 17.5
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level 1. State the need for process synchronisation R
2. What are the issues in process synchronisation? R 3. Provide a solution using test and set instruction A 4. Apply sawp instruction to the critical section problem A
5. How does the compare and sawp instruction work? R
6. Compare the various synchronisation techniques with respect to
communication and processing overheads. U
LU -35: Processor Scheduling ( 1 Period)
LU Objectives
1. To learn about the various processor scheduling algorithms.
LU Outcomes
1. Compare scheduling algorithms in various multiprocessor computers.
Resource Reference
1. Ch 17.6
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level 1. What is the goal of processor scheduling? R
2. List the issues in processor scheduling R 3. Discuss co-scheduling of the Medusa OS R 4. What is smart scheduling? U
5. Explain affinity based scheduling R 6. Compare uniprocessor and multiprocessor scheduling U
7. If the subtasks of a task have large critical sections, which scheduling
policy is most desirable? Explain. A
8. If nothing about the subtasks of a task is known, which scheduling
policy would you recommend and why? A
9. Can the performance of a multiprocessor system with 2 identical processors be worse than the performance of a uniprocessor system
L
LU -36: Memory Management (1 Period)
43
LU Objectives
1. To study memory management in MACH operating system
2.
LU Outcomes
1. Analyse the various issues in memory management with MACH os as case study
2.
Resource Reference
1. Ch 17.7
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level 1. List the memory management design issues R
2. Specify how memory protection is offered in MACH OS U 3. What techniques are used by MACH os to improve the efficiency R
4. List the data structures used by MACH virtual memory management
systems R
5. What are the page replacement algorithm s used in MACH os? R
LU -37: Reliability / Fault Tolerance (1 Period)
LU Objectives
1. To study fault tolerance in multiprocessor os
LU Outcomes
1. Analyse the various issues of fault tolerance and reliability in a multiprocessor system
Resource Reference
1. Ch 17.8
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level
1. List the design issues in fault tolerance R 2. Explain how fault detection is done in a Sequoia architecture R
3. Specify how recovery from process, memory and I/O failures can be
achieved. U
LU -38: Database Operating Systems (1 Period)
LU Objectives
1. To understand the need for database operating systems
44
LU Outcomes
1. Explore the requirements of database operating system
Resource Reference
1. Ch 18
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level
1. Give notes on database operating system R 2. Specify the two approaches to database system design R
3. In what way services offered by general purpose os is inadequate for a database os? L
4. Discuss the requirements of database os R
LU -39: Introduction – Concurrency Control: Theoretical Aspects (1 Period)
LU Objectives
1. To study the theoretical concepts of concurrency control
LU Outcomes
1. Explore the issues in concurrency control
Resource Reference
1. Ch 19.1-19.5
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level 1. Define a database system R
2. What is a transaction conflict? R 3. Describe a concurrency control model for a database system R
4. Explain the inconsistent retrieval problem with an example U 5. What is an inconsistent update? R 6. Describe the serializabilty theory R
LU -40: Distributed Database Systems (1 Period)
LU Objectives
1. To study about the distributed database systems(DDBS)
LU Outcomes
1. Appreciate the motivation and issues behind distributed databases
Resource Reference
45
1. Ch 19.6
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
S. No Test Questions Level
1. What is heterogeneous database system? R 2. List the motivations for distributed database systems? U
3. Explain the serializability condition in DDBS. R 4. Discuss the transaction processing model of DDBS R 5. What complications may arise in a DDBS? L
6. Design a distributed database system by applying all the mechanisms? A
LU -41: Concurrency Control Algorithms (2 Period)
LU Objectives
1. To study the various concurrency control algorithms in DDBS
LU Outcomes
1. Compare the working of lock based, timestamp based and optimistic concurrency control algorithms
Resource Reference
1. Ch 20
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. State the differences between lock based and timestamp based concurrency control algorithms
U
2. Explain how two phase locking works R 3. List the problems with two phase locking U
4. What is a cascaded rollback? R 5. How a timestamp based locking is used in DDBS? R 6. Explain the optimistic concurrency control algorithm R
7. What is the difference between concurrency control and mutual exclusion R
8. Why are timestamp-based concurrency control algorithms free from deadlock> List basic, multiversion and conservative timestamp ordering
algorithms in increasing order of transaction aborts.
L
46
COURSE DETAILS – ADVANCED SYSTEM SOFTWARE
Subject Code : CS9223
Subject Name : ADVANCED SYSTEM SOFTWARE
Semester : ME(CSE) II Semester
Prepared By : Mrs.S.Vanitha Sivagami
Approved By : Dr.K.Muneeswaran
Effective Date : 06.02.2013
Revision No. : 1
Course Objective:
To familiarize the phases of a compiler and understand in detail the functions of each
phase
To design a Scanner, Parser for the given language
To write semantic routines to generate the intermediate code
To perform code optimization for a piece of code
To understand the different forms of intermediate representations
To know in detail about the concept of virtualization
To introduce the features of Virtual Machines like Pascal P-Code and JVM
Course Prerequisite:
System Software – Operating Systems -Principles of Compiler Design
Concept Map
47
Course Outcomes–Programme Outcomes mapping
(3- Substantially, 2-Moderately, 1-Slightly)
S.No Course Outcomes
Programme Outcomes
1 2 3 4 5 6 7 8 9 10 11 12
1. Identify the features of a good computer
programming language
2 2 1 2 2
2. Identify the phases of a compiler in a
modular form and bring out the
functions of each phase
2 3 1 1 2 3
3. Design a Scanner for the given language 2 3 3 2 1 2 1
4. Design a Parser for the given language 2 3 3 2 1 2 1
Implement the System Security Procedures 3 2 1 1 2 3 2 2 2 1 2
Interpret the functions and uses of firewalls 3 2 2 1 3 3 3 2 2 3
Organize the User Security tools and
techniques 3 2 1 2 2 3 2 2 2 2 2
Apply procedures to program security 3 2 2 1 3 3 2 2 1
92
Concept Map
Syllabus (As per Anna University)
UNIT I
An Overview of Computer Security, Access Control Matrix, Policy-Security policies, Confidentiality
policies, Integrity policies and Hybrid policies.
UNIT II
Cryptography- Key management – Session and Interchange keys, Key exchange and generation,
Cryptographic Key Infrastructure, Storing and Revoking Keys, Digital Signatures, Cipher
Techniques
UNIT III
Systems: Design Principles, Representing Identity, Access Control Mechanisms,
Information Flow and Confinement Problem.
UNIT-IV
Malicious Logic, Vulnerability Analysis, Auditing and Intrusion Detection
UNIT-V
Network Security, System Security, User Security and Program Security
93
Total Hours: 45
TEXTBOOK:
Matt Bishop ,“Computer Security art and science ”, Second Edition, Pearson Education
REFERENCES:
1.Mark Merkow, James Breithaupt “ Information Security : Principles and Practices”
First Edition, Pearson Education,
2. Whitman, “Principles of Information Security”, Second Edition, Pearson
Education
3. William Stallings, “Cryptography and Network Security: Principles and Practices”,
Third Edition, Pearson Education.
4. Charles P.Pfleeger and Shari Lawrence Pfleeger,”Security in Computing” Third
Edition.
ONLINE MATERIALS:
1. http://www.information-security-policies-and-standards.com/weblinks.htm -Resources regarding information security policies.
2. http://www.opengroup.org/security/links.html Link to Information security resources 3. http://www.ieee-security.org/Cipher/InterestingLinks.html Information Security Resources
4. http://www.infosecresources.com Information Security Resources 5. http://www.backtrack-linux.org Linux Distribution focusing on Information Security 6. http://www.sagemath.org Cryptographic tools
7. http://www.networksecuritytoolkit.org Network Security Toolkit 8. http://www.cryptool.com Tool for Cryptography and Cryptanalysis. 9. http://www.sectools.org Information Security Tools
10. http://www.cse.sc.edu/~maxal/e-books.html Resources on Cryptography and Security. 11. http://www.isthe.com/chongo/tech/math/index.html Prime Numbers and Cryptography.
12. http://www.cosic.esat.kuleuven.be/publications/thesis-201.pdf Mathematical aspects of Symmetric-key cryptography.
13. http://math.scu.edu/~eschaefe/crylec.pdf An Introduction to Cryptography and Cryptanalysis.
6. Software quality infrastructure – procedures and work instructions
1
7. Staff Training and certifications 1
8. Configuration management 1
9. Documentation control 1
Sub Total 9
MODULE –V
1. Project progress control 1
2. Costs of software quality 1
3. Quality management standards – ISO 9000 Series 1
4. Quality management standards – CMM 1
5. Project process standards 1
6. Management and its role in SQA 2
7. SQA unit 2
Sub Total 9
Total No. of periods 51
DELIVERY PLAN FOR THE LEARNING UNITS (LU)
MODULE-I
This module deals with the introduction to software, its quality requirements and the need of
software quality assurance team and review procedure for maintaining the quality
LU -1: Introduction to software quality - challenges – objectives (1 Period)
LU Objectives
1. To define and explain various software quality terminologies
2. To explain the objectives of software quality assurance activities and to distinguish those
activities from the quality control.
LU Outcomes
1. Familiar with the software quality terminologies
172
2. Realize the importance of quality assurance activities in software development
Resource Reference
1. Chapter 2 of R1
Possible Assessment Questions: (Level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Define software, software quality and software quality assurance R
2. Distinguish between software errors, software faults and software failures L
3. Identify the various causes of software errors L
4. Explain the objectives of software quality assurance activities U
5. Distinguish and explain the differences between software quality assurance
and quality control.
L
6. List the four components of a software system. R
7. How does the quality of each component contribute to the quality of the
developed software?
U
8. How does the quality of each component contribute to the quality of the
software maintenance?
U
LU -2: Components of SQA (1 Period)
LU Objectives
1. To discuss about the wide range of SQA components available to planners of an intra-
organizational SQA system.
2. To understand the potential contribution of each component, about the entire range of
components, and about the system as a defined entity.
LU Outcomes
1. Familiar with the components available in the SQA system
2. Pick out and apply the right quality assurance component at proper phase of the project
Resource Reference
173
1. Chapter 4 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain briefly on SQA System with architecture diagram U
2. List down the pre-project SQA components R
3. Describe the pre-project SQA components in detail U
4. List down the software project lifecycle SQA components R
5. Describe the software project lifecycle SQA components in detail U
6. List down the infrastructure components for error prevention and
improvement R
7. Describe the infrastructure components for error prevention and
improvement in detail U
8. List down the management SQA components R
9. Describe the management SQA components in detail U
10. Discuss the guidelines for construction of organizations SQA system U
LU -3: Contract review (1 Period)
LU Objectives
1. To explain the contract review stages, their objectives and factors affecting the review
process
2. To discuss the process and importance of carrying out a contract review for internal
projects
LU Outcomes
1. Realize the importance of the contract review
2. Arrange and plan for a contract review process for the projects
Resource Reference
1. Chapter 5 of R1
174
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the two contract review stages U
2. List the objectives of contract review. R
3. Identify the factors that affect the extent of the contract review L
4. Identify the difficulties in performing a major contract review L
5. Explain the recommended avenues for implementing a major contract
review
U
6. Discuss the importance of carrying out a contract review for internal
projects
U
7. List the various aspects involved with the examination of the customer’s
capabilities
R
8. What proposal team activities are required regarding each of the revealed
development risks?
R
LU -4: Development and Quality plans (1 Period)
LU Objectives
1. To explain the objectives and elements of a development plan and a quality plan
2. To identify the major software risk items.
3. To explain the process of software risk management
4. To discuss the importance of development and quality plans for small projects
5. To discuss the importance of development and quality plans for internal projects
LU Outcomes
1. Design a development plan for any kind of projects
2. Realize the importance of development plan and educate the same to fellow team
members
3. Design a quality plan for any kind of projects
4. Realize the importance of quality plan and educate the same to fellow team members
5. Carrying out the risk management process in software products
175
Resource Reference
1. Chapter 6 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the objectives of development and quality plans U
2. Identify the elements of a development plan L
3. Identify the elements of a quality plan L
4. Identify the major software risk items L
5. Explain the process of software risk management U
6. Discuss the benefits of preparing development and quality plans for small
projects
U
7. Discuss the benefits of preparing development and quality plans for
internal projects.
U
LU -5: SQA components in project life cycle (1 Period)
LU Objectives
1. To describe the various software development models and discuss the differences
between them
2. To explain the considerations affecting intensity of applying quality assurance activities
LU Outcomes
1. Compare various software development models and pick out the right model for the
project
2. Apply appropriate quality assurance activities to the software development model
Resource Reference
1. Chapter 7 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
176
Sl.No Test Questions Level
1. Describe the various software development models and discuss the
differences between them.
U
2. Explain the considerations affecting application of quality assurance
activities
U
3. What are the seven basic phases of the development process suggested by
the SDLC model?
U
4. List the conditions necessary for the prototyping model to be applied R
5. List the advantages of prototyping compared to the SDLC methodology for
development of small to medium-sized projects
U
6. Explain why the advantages of prototyping cannot be realized for large
software systems
U
7. Describe the four activities to be repeated in each iteration of the spiral
development process. Explain why the four activities designated are to be
repeated in each iteration of the development process
U
8. Explain the advantages of the spiral model as compared with the SDLC
model
U
LU -6: SQA defect removal policies (1 Period)
LU Objectives
1. To explain the different aspects of verification, validation and qualification associated with
quality assurance activities
2. To describe the model for the SQA plan’s defect-removal effectiveness and cost
LU Outcomes
1. Setting of verification, validation and qualification criteria for each and every quality
assurance activity
2. Creation of model for the SQA plan’s defect-removal effectiveness and cost
Resource Reference
1. Chapter 7 of R1
177
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the different aspects of verification, validation and qualification for
quality assurance activities.
U
2. Describe the model for SQA defect removal effectiveness and cost U
3. List out the average defect removal effectiveness of quality assurance
activities based on Boehm and Johns
U
4. List out the average defect removal cost of quality assurance activities
based on Boehm and Johns
U
5. Illustrate with an example on computing defect removal effectiveness of
various phases of the project based on the defect identification rate
U
LU -7: Reviews (1 Period)
LU Objectives
1. To explain the direct and indirect objectives of review methodologies.
2. To explain the contribution of external experts to the performance of review tasks
3. To compare the three major review methodologies
LU Outcomes
1. Plan for review processes based on the objectives of SQA
2. Create an internal atmosphere inside software industry to bring the external experts for
reviewing the tasks carried out for maintaining quality
3. Strengthen the quality process by carrying out review, walkthrough and inspection
Resource Reference
1. Chapter 8 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the direct and indirect objectives of the review methodologies U
2. Explain the contribution of outside experts to the performance of review U
178
tasks
3. Compare the objectives and participants of the three team review methods L
4. For each direct and indirect objectives, indicate the review technique or
techniques that contribute(s) the most to achieving that objective
L
5. Explain the importance of enforcing templates and sticking to style
procedures and conventions
U
6. Compare the various review techniques.
(1) In what aspects are design reviews more formal than inspections?
(2) In what aspects are inspections more formal than walkthroughs?
L
MODULE-II
This module gives an overview on software testing process. The test generation based on the
requirements, finite state machines and combinatorial designs is introduced. The techniques for
test selection, minimization and prioritization from large number of tests for carrying out the
regression testing are also discussed. Also, the measurement of adequacy of the testing using
control flow, data flow and program mutation techniques are also discussed.
LU -8: Basics of Software Testing (1 Period)
LU Objectives
1. To present basic concepts and terminology in software testing
2. To discuss the role of control flow graph in software testing
3. To present the relationship between various testing techniques and their use in different
scenarios
LU Outcomes
1. Knowledge attainment in basics of software testing process
2. Carry out software testing in different scenarios using appropriate techniques
3. Usage of mathematical techniques for carrying out software testing
Resource Reference
179
1. Chapter 1 of R2
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Differentiate Errors, Faults and Failures L
2. Explain in detail on static testing U
3. Illustrate with block diagram the process of model checking U
4. What is a Control Flow Graph (CFG)? How it helps in software testing? U
5. List out the types of testing and explain them in detail U
6. Explain in detail on saturation effect U
LU -9: Test generation from requirements (2 Period)
LU Objectives
1. To introduce the classes of test generation techniques
2. To discuss on the techniques of partition testing
3. To discuss on the techniques of predicate testing
LU Outcomes
1. Ability to generate tests from requirements using category-partition method
2. Generation of tests from requirements using cause-effect graphing method
3. Generation of tests from requirements using predicates
Resource Reference
1. Chapter 2 of R2
180
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain in detail on Equivalence Partitioning method U
2. Illustrate with example on test selection based on equivalence classes U
3. Illustrate with example on boundary value analysis U
4. List out the steps in category partition method R
5. Illustrate with a simple example on generation of tests from requirements
using category-partition method
U
6. What is cause-effect graphing? R
7. Illustrate with a simple example on generation of tests from requirements
using cause-effect graphing
U
8. Illustrate with a simple example on generation of tests from predicates
(Conditions from requirements)
U
LU -10: Test generation from Finite state models (2 Periods)
LU Objectives
1. To introduce and explain how the finite state machine can be used for test generation
2. To introduce W-Method, Partial W-Method (W p-Method) and UIO-Method for constructing
a test set from given finite state machine
LU Outcomes
1. Test generation from basic finite state machine
2. Test generation from minimal, complete and connected finite state machine using several
methods
Resource Reference
1. Chapter 3 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
181
Sl.No Test Questions Level
1. What is a Finite state machine? R
2. Explain in detail on working of Finite state machine U
3. List out the properties of Finite state machine R
4. Illustrate with an example on W-Method for constructing a test set from
given finite state machine
U
5. Illustrate with an example on Partial W-Method (W p-Method) for generating
a test set from minimal, complete and connected finite state machine
U
6. Illustrate with an example on UIO-Method for constructing a test set from
given finite state machine based on unique input/output sequence
U
LU -11: Test generation from combinatorial designs (2 Periods)
LU Objectives
1. To introduce the basics of combinatorial test design process
2. To describe the ancient methods like latin squares and mutually orthogonal latin squares
(MOLS) and their application for the selection of subset
3. To discuss on the methods for generating combinatorial design (for use in software
testing)
LU Outcomes
1. Generation of tests from combinatorial designs
2. Usage of mathematical methods for the selection of subset
3. Generation of combinatorial designs using several methods
Resource Reference
1. Chapter 4 of R2
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is meant by Combinatorial design? R
182
2. Discuss briefly on combinatorial test design process U
3. Explain the Latin square of order 2 and 4 with example U
4. Explain the Mutually Orthogonal Latin square (MOLS) of order 2 and 3 with
example
U
5. List out the shortcomings of using MOLS for test design U
6. Illustrate with an example on generation of test case using simple
orthogonal array
U
7. Illustrate with an example on generation of test case using mixed level
orthogonal array
U
8. Write a procedure for generating mixed-level covering arrays for pairwise
designs
A
LU -12: Test selection for regression testing (1 Period)
LU Objectives
1. To introduce regression testing process
2. To explain how regression test selection is done using execution trace and dynamic
slicing
LU Outcomes
1. Realize the importance of regression testing
2. Test selection using various techniques for carrying out regression test
Resource Reference
1. Chapter 5 of R2
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is regression testing? R
2. Illustrate in detail on regression test process U
3. Illustrate how the test selection is carried out using execution trace U
183
4. Illustrate how the test selection is carried out using dynamic slicing U
5. What is dynamic slicing? R
LU -13: Test minimization and prioritization for regression testing (1 Period)
LU Objectives
1. To explain how regression test minimization is done
2. To discuss how regression test prioritization is carried out
LU Outcomes
1. Capable of minimizing tests using various techniques for carrying out regression test
2. Capable of prioritizing tests using various techniques for carrying out regression test
Resource Reference
1. Chapter 5 of R2
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is test minimization? R
2. Write the procedure for test minimization A
3. Illustrate with example on set-cover optimization problem U
4. Explain with example how the regression test minimization is done? U
5. What is test prioritization? R
6. Write the procedure for test prioritization A
7. Explain with example how the regression test prioritization is done? U
8. List out the tools for regression testing R
LU -14: Test adequacy: Assessment using Control Flow and Data Flow (1 Period)
184
LU Objectives
1. To discuss and explain the test adequacy assessment using control flow and data flow
LU Outcomes
1. Realize the importance of test adequacy assessment
2. Assessing test adequacy using control and data flow
Resource Reference
1. Chapter 6 of R2
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is test adequacy? R
2. How the test adequacy can be measured? U
3. Describe the way of enhancing the testing using measurement of adequacy? U
4. List out the coverage patterns based on control flow U
5. Illustrate with examples on how test adequacy assessment is done using
control flow
U
6. What is C-Use and P-Use? R
7. What is a data flow graph? Give an example U
8. How a data flow graph can be drawn for a given program? U
9. List out the coverage patterns based on data flow R
10. Illustrate with examples on how test adequacy assessment is done using
data flow
U
LU -15: Test adequacy: Assessment using Program Mutation (1 Period)
LU Objectives
1. To discuss and explain the test adequacy assessment using mutation
185
2. To provide guidelines for designing the mutation operators
LU Outcomes
1. Familiar with the process of mutation
2. Assessment of test adequacy using mutation
Resource Reference
1. Chapter 7 of R2
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Discuss briefly on Mutation and Mutants? U
2. What are First-Order and Higher-Order Mutants? R
3. Differentiate Strong and Weak Mutants L
4. Illustrate with examples on how test adequacy assessment is done using
program mutation
U
5. What are Mutation operators? List out the types of mutation operators R
6. List out the guidelines for design of mutation operators R
7. Illustrate with an example on how fault detection is done using mutation U
8. Discuss in detail on mutation operators for C language U
9. Discuss in detail on mutation operators for Java language U
10. List out the tools used for mutation testing
R
MODULE-III
This module lists out various types of testing, its methodology and importance. The procedures for
planning, managing, executing and reporting of software testing are also discussed. Also the
importance of automation and usage of tools is highlighted in this module
LU -16: Testing strategies – White box testing (1 Period)
186
LU Objectives
1. To discuss about basics of white box testing
2. To explain the concepts of static and structural testing and its real world applications
LU Outcomes
1. Realize the importance of white box testing
2. Capable of carrying out white box testing in real world applications
Resource Reference
1. Chapter 3 of R3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is White box testing? R
2. What are the classifications of white box testing? R
3. Discuss briefly on static testing U
4. Discuss briefly on structural testing U
5. How functional testing is carried out? U
6. Differentiate Code coverage and Code complexity testing L
7. List out the challenges in white box testing R
LU -17: Black box testing (1 Period)
LU Objectives
1. To discuss about basics of black box testing
2. To explain the types of black box testing and its real world applications
LU Outcomes
187
1. Realize the importance of black box testing
2. Capable of carrying out black box testing in real world applications
Resource Reference
1. Chapter 4 of R3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is Black box testing? R
2. Differentiate White and Black box testing L
3. What are the classifications of black box testing? R
4. Discuss briefly on requirements based testing U
5. Differentiate positive and negative testing L
6. How user documentation testing is carried out? U
LU -18: Integration testing (1 Period)
LU Objectives
1. To discuss about basics of integration testing
2. To explain the types of integration testing and its real world applications
LU Outcomes
1. Realize the importance of integration testing
2. Capable of carrying out integration testing in real world applications
Resource Reference
1. Chapter 5 of R3
188
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is integration testing? R
2. What are the types of integration testing? R
3. Discuss briefly on Top-down integration testing U
4. Discuss briefly on Bottom-up integration testing U
5. How Bi-Directional integration testing is carried out? U
6. Discuss briefly on Scenario testing U
LU -19: System and acceptance testing (1 Period)
LU Objectives
1. To discuss about basics and to explain the process of system testing
2. To describe the phases involved in acceptance testing
LU Outcomes
1. Realize the importance of System and acceptance testing
2. Capable of carrying system and acceptance testing in real world applications
Resource Reference
1. Chapter 6 of R3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is system testing? R
2. What are the types of system testing? R
189
3. Discuss briefly on Functional testing U
4. Discuss briefly on Non- Functional testing U
5. Differentiate Functional and Non- Functional testing L
6. How acceptance test is carried out? U
7. Discuss briefly on phases involved in acceptance test U
LU -20: Performance testing (1 Period)
LU Objectives
1. To discuss about basics of performance testing
2. To describe the methodology involved in performance testing
LU Outcomes
1. Realize the importance of performance testing
2. Capable of carrying out performance testing in real world applications
Resource Reference
1. Chapter 7 of R3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is performance testing? R
2. Discuss briefly on performance testing methodology U
3. Discuss briefly on performance testing process U
4. How performance benchmarking is carried out in performance testing? U
5. List out the tools for performance testing R
LU -21: Regression testing (1 Period)
LU Objectives
190
1. To discuss about basics and explain the types of regression testing and its real world
applications
2. To describe the phases involved in regression testing
LU Outcomes
1. Realize the importance of regression testing
2. Capable of carrying out regression testing in real world applications
Resource Reference
1. Chapter 8 of R3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is regression testing? R
2. What are the types of regression testing? R
3. Discuss briefly on smoke or sanity test U
4. How regression test is carried out? R
5. Discuss briefly on phases involved in regression test U
LU -22: Internationalization testing (1 Period)
LU Objectives
1. To discuss and explain the types of internationalization testing and its real world
applications
2. To describe the phases involved in internationalization testing
LU Outcomes
1. Realize the importance of internationalization testing
191
2. Capable of carrying out internationalization testing in real world applications
Resource Reference
1. Chapter 9 of R3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is internationalization testing? R
2. What are the types of internationalization testing? R
3. Discuss briefly on language test U
4. Discuss briefly on fake language test U
5. Discuss briefly on localization test U
6. How internationalization test is carried out? U
7. Discuss briefly on phases involved in internationalization test U
8. List out the tools used for internationalization test R
LU -23: Ad hoc testing (1 Period)
LU Objectives
1. To discuss about basics of Ad hoc testing
2. To explain the types of Ad hoc testing and its real world applications
LU Outcomes
1. Realize the importance of Ad hoc testing
2. Capable of carrying out Ad hoc testing in real world applications
Resource Reference
1. Chapter 10 of R3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
192
Sl.No Test Questions Level
1. What is Ad hoc testing? R
2. What are the types of Ad hoc testing? R
3. Discuss briefly on buddy test U
4. Discuss briefly on pair test U
5. Discuss briefly on exploratory test U
6. How iterative testing is carried out? R
7. Discuss briefly on agile and extreme testing U
LU -24: Website testing (1 Period)
LU Objectives
1. To discuss about basics of website testing
2. To describe the phases involved in website testing
LU Outcomes
1. Realize the importance of website testing
2. Capable of carrying out website testing in real world applications
Resource Reference
1. Chapter 12 of R3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is website testing? R
2. Discuss briefly on website load testing U
3. How security test in web application is carried out? U
4. Discuss briefly on phases involved in website test U
193
5. List out the tools for carrying out website testing R
LU -25: Usability and Accessibility testing (1 Period)
LU Objectives
1. To discuss and describe the phases involved in usability testing
2. To discuss and describe the accessibility testing
LU Outcomes
1. Realize the importance of usability and accessibility testing
2. Capable of carrying out usability and accessibility testing in real world applications
Resource Reference
1. Chapter 12 of R3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is usability testing? R
2. Discuss briefly on Aesthetics testing U
3. How usability test is carried out? U
4. Discuss briefly on phases involved in acceptance test U
5. List out the tools for carrying out usability testing R
LU -26: Test planning and management (1 Period)
LU Objectives
1. To explain the process involved in test planning
2. To describe the management process involved in testing phase
194
LU Outcomes
1. Plan for the software testing for any given problem
2. Managing the software testing process to achieve quality software product
Resource Reference
1. Chapter 15 of R3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is a test plan? R
2. Discuss briefly on phases involved in test planning U
3. What is test deliverables? R
4. Describe the steps for managing infrastructure for carrying out the testing U
5. Describe the steps for managing people involved in carrying out the testing U
LU -27: Test execution and reporting (1 Period)
LU Objectives
1. To explain the process involved in test execution
2. To describe the procedure involved in reporting the test results
LU Outcomes
1. Plan for the execution of software testing for any given problem
2. Reporting the software test result in better form so that it conveys clear message to both
developers and clients
Resource Reference
195
1. Chapter 15 of R3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is test case specification? R
2. Discuss briefly on phases involved in test execution U
3. What is traceability matrix? R
4. How the test summary document can be prepared? U
5. Describe the steps for preparing test report U
LU -28: Software test automation and Tools (1 Period)
LU Objectives
1. To explain the process of designing test automation
2. To introduce the tools available for doing the testing
LU Outcomes
1. Capable of automating the testing process wherever manual effort is needed
2. Ability to use or introduce tools in the testing process
Resource Reference
1. Chapter 16 of R3
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is test automation? R
2. Discuss briefly on ways of finding the areas to be automated U
196
3. Explain in detail, the design and architecture for test automation? U
4. List down the generic requirements for the test automation? R
5. List down the testing tools and their feature R
MODULE-IV
This module gives an overview on models and metrics related to software quality. The
infrastructure to be developed, formation of procedures and documentations related to software
product quality is also discussed. Also, the procedure of configuration control (version
maintenance) for all work products related to quality is discussed in this module
LU -29: Hierarchical models of software quality (1 Period)
LU Objectives
1. To introduce the basic concepts and explain the hierarchical models of software quality.
2. To discuss the relationships between quality criteria as suggested by Perry.
LU Outcomes
1. Realize the importance of software quality and its basic model
2. Listing out the quality criteria for a given problem and to find the relationships between
the criteria
Resource Reference
1. Chapter 2 of R5
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. What is a hierarchical model? List out its significance R
2. Explain briefly on GE Model (McCall) U
3. Explain briefly on Boehm Model U
4. List out the three areas addressed by McCall Model R
197
5. How the quality criteria interrelate as per Perry? U
6. McCall’s and Boehm’s models were developed in the era of batch processing
and mainframe computers. How far are they affected by the move to interactive computing? As organizations move towards networked group working systems, what new criteria of quality will be needed?
L
7. How far does Perry’s analysis of relationships tally with your own experience
of computer systems? Has it been overtaken by advances in technology?
L
LU -30: Software quality metrics (1 Period)
LU Objectives
1. To explain the objectives of software quality metrics.
2. To list the requirements to be fulfilled by successful software quality metrics and to
explain how software quality metrics are categorized
3. To describe the process of defining a new software quality metrics.
4. To explain the reasons for limitations characterizing some software quality metrics
LU Outcomes
1. Realize the importance of the software quality metrics
2. Ability to list down the requirements to be fulfilled by successful software quality metrics
3. Analyze the existing metrics and apply them in the software projects
4. Ability to define new software quality metrics based on the project needs
Resource Reference
1. Chapter 21 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the objectives of software quality metrics U
2. List the requirements for successful software quality metrics R
3. Explain how software quality metrics are categorized U
4. Describe the process of defining a new software quality metric U
198
5. Explain the reasons for limitation characterizing some software quality
metrics
U
LU -31: Function Points (1 Period)
LU Objectives
1. To explain the objectives of KLOC metric
2. To explain the objectives of function point metric
3. Compare the KLOC and function point measures for the size of a software system.
LU Outcomes
1. Realize the objectives and importance of KLOC metric
2. Realize the objectives and importance of function point metric
3. Apply the KLOC and function point metric in real world software projects
Resource Reference
1. Chapter 21, Appendix 21A of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain with a practical example on function point metric U
2. Discuss briefly on the advantages and disadvantages of function point metric
U
3. Compare the KLOC and function point measures for the size of a software
system.
L
4. A human resources software system requires 15000 lines of Visual Basic
code and 5000 lines of SQL code.
Estimate the number of function points required for the software system
E
LU -32: Software maintenance quality (1 Period)
LU Objectives
199
1. To list the software maintenance components and explain their distinction.
2. To describe and explain pre-maintenance software quality components.
3. To list down the infrastructure and managerial tools for supporting and controlling
maintenance quality assurance.
LU Outcomes
1. Realize the importance of software maintenance components
2. Identification of the software maintenance components and apply them in software
projects
3. Analyze the existing tools available for maintenance and pick up appropriate tool for for
controlling software maintenance quality
Resource Reference
1. Chapter 11 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. List the components of software maintenance and explain their
distinctiveness
R
2. Describe the foundations of high quality maintenance U
3. Describe and explain the pre-maintenance software quality components U
4. List the infrastructure tools that support maintenance quality assurance. R
5. List the main managerial tools for controlling software maintenance quality
and explain their importance
R
6. What are the basic elements of a maintenance plan? Explain the importance
of each element
R
7. It is claimed that higher standards are needed for training and certification
of maintenance team members than for development team members.
(1) Do you agree or disagree with this statement? List your arguments. (2) If you agree with the above, what component of software
maintenance (corrective, adaptive or functionality improvement) do
you consider most suitable for the above statement?
E
8. Most software corrective maintenance procedures require extensive U
200
documentation of the activities performed.
(1) List the main uses for the various types of corrective maintenance
documentation. (2) Explain the importance of the required documentation in your own
words
LU -33: Effect of case tools (1 Period)
LU Objectives
1. To list out and explain the contribution of CASE tools to software development and
software quality maintenance.
LU Outcomes
1. Use the CASE tools in software development and maintenance
2. Realize the importance of CASE tools and educate the team on using it
Resource Reference
1. Chapter 13 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the contribution of CASE tools to software development U
2. Explain the difference between classic and real CASE tools and provide
some examples
U
3. List the main contributions of real CASE tools to product quality R
4. Explain the contribution of CASE tools to the quality of software
maintenance
U
5. “The main component of real CASE tools is the repository.”
(1) Define “repository” in your own words (2) List the functions a repository fulfills and explain their impact on
software development productivity. (3) List the functions a repository serves and explain their impact on
software quality
U
6. The contribution of real CASE tools to the quality of project management is
debatable.
(1) Describe the quality aspects of project management.
U
201
(2) Discuss what contributions real CASE tools can make to the quality of project management and why.
LU -34: Software quality infrastructure – procedures and work instructions (1 Period)
LU Objectives
1. To explain the contribution of procedures and work instructions to software quality
assurance
2. To List the activities involved in maintaining an organization’s procedures
LU Outcomes
1. Formulation of the procedures for maintaining quality in all aspects of software
development process
2. Capable of maintaining procedures and work instructions implemented by software
quality assurance team
Resource Reference
1. Chapter 14 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the contribution of procedures to software quality assurance U
2. Explain the difference between procedures and work instructions U
3. List the activities involved in maintaining an organization’s procedures
manual
R
4. List the benefits of implementing an SQA procedures manual in an
organization
R
5. Some software quality experts claim that a standard procedures manual
with no changes or adaptations can serve 90% of the organization.
Do you agree with this statement? List your arguments
E
6. As an SQA unit member, you are required to prepare the first draft of a new
procedure.
(1) Suggest what sources of information may be used to prepare the
draft. (2) Mark those sources mentioned in your answer to (1) that are
L
202
essential for a good draft
LU -35: Staff Training and certifications (1 Period)
LU Objectives
1. To explain and discuss the main objectives and requirements for training and
certification.
2. To list the main components of a certification program.
3. To explain the objectives of follow-up of trained and certified staff performance and the
main sources of the follow-up data
LU Outcomes
1. Realize the importance of training the staff and keep constant records of their progress
2. Implementation of training programs for staff members in both technical and non-
technical aspects
3. Encouraging the staff members to get certified after training for creating a quality
environment
Resource Reference
1. Chapter 16 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the main objectives of training and certification U
2. Discuss what is needed to prepare a training and updating program U
3. List the main components of a certification program R
4. Explain the objectives of follow-up of trained and certified staff performance
and main sources of the follow-up data
U
LU -36: Configuration management (1 Period)
203
LU Objectives
1. To explain the objectives of software configuration and change management and to
differentiate baseline and intermediate software configuration versions.
2. To explain the objectives of software configuration management plans.
3. To explain the nature of the tasks fulfilled by software configuration management audits.
LU Outcomes
1. Realize the importance of versioning and baselining of software product
2. Setting up a software configuration management team with proper plans and audits for
maintaining the configuration items of all project components
3. Formulation of procedures and implemention the change management process in
industry
Resource Reference
1. Chapter 18 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Define software configuration version R
2. Explain the tasks of software configuration management U
3. List the main tasks of software change control R
4. Explain the difference between baseline and intermediate software
configuration Versions
U
5. Explain the objectives of software configuration management plans U
6. Describe the nature of the tasks performed in software configuration
management audits
U
7. Most SCM systems are operated nowadays by specialized software
packages.
Explain the special features offered effectively and efficiently only by
computerized management software packages and explain their
contribution to software quality.
U
204
LU -37: Documentation control (1 Period)
LU Objectives
1. To explain and describe the tasks involved in establishment and maintenance of
a controlled documents list
2. To discuss the issues covered by documentation control procedures.
LU Outcomes
1. Realize the importance of documentation while carrying out a software project
2. Creation of documents and proper maintenance of them wherever needed in the project
Resource Reference
1. Chapter 19 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the objectives of controlled documents U
2. Describe the tasks involved in establishment and maintenance of a
controlled documents list
U
3. Discuss the issues covered by documentation control procedures U
4. List down the typical controlled documents (including quality records) R
5. List out the issues of controlled document storage and retrieval R
MODULE-V
This module discuss about the progress tracking, cost constraints of the project. The role of
standards in implementing the quality aspects of the project and development environment is
discussed briefly. Also, the role of management in software quality management is also discussed.
LU -38: Project progress control (1 Period)
205
LU Objectives
1. To explain the components of project progress control.
2. To explain the implementation issues involved in project progress control
LU Outcomes
1. Implementation of project progress control in the industry and also make use of the tools
2. Design of progress report for tracking the project
Resource Reference
1. Chapter 20 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the components of management’s control of project progress U
2. Explain the implementation issues associated with project progress control U
3. List down the services provided by computerized tools for project process
control
R
4. List down the main budget items which demand control in the project R
5. Design a template of Project leader’s progress report C
LU -39: Costs of software quality (1 Period)
LU Objectives
1. To explain and justify development of a unique quality cost model for software
development
2. To explain the standard and unique difficulties arising in application of cost of software
quality systems
206
LU Outcomes
1. Development of unique quality cost model for software development
2. Implementation of the optimized cost model with best process in software development
process
Resource Reference
1. Chapter 22 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the objectives of cost of software quality measurements U
2. Compare the classic software quality costs model with the extended model L
3. Justify the formulation of a unique quality cost model for software
development
E
4. Describe the implementation of a cost of software quality system U
5. Explain the standard and unique problems involved in implementing a cost
of software quality system
U
6. List some examples of hidden failure costs. Indicate for what type of
software development organization and situation these failure costs could
become extremely high?
R
7. Compare the characteristics of prevention costs for software development
with any manufacturing industry
L
8. Compare the characteristics of appraisal costs for software development
with any manufacturing industry
L
9. Compare the characteristics of internal failure costs for software
development with any manufacturing industry
L
10. Compare the characteristics of external failure costs for software
development with any manufacturing industry
L
LU -40: Quality management standards – ISO 9000 Series (1 Period)
LU Objectives
207
1. To describe the general principles of underlying quality management according to ISO
9000-3 and its certification process.
2. To describe the principles underlying ISO/IEC 15504
LU Outcomes
1. Creation of a quality software development environment as specified in ISO 9000 series
in the industry
2. Creation of proper documentation as specified in ISO 9000 series to get ISO certification
for the industry
Resource Reference
1. Chapter 23 of T1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the benefits of the use of SQA standards U
2. Describe the contributions made by the use of standards U
3. Describe the general principles underlying quality management according to
ISO 9000-3
U
4. Describe the ISO 9000-3 certification process U
5. Describe the principles that guided the developers of ISO/IEC 15504 U
6. Define the various classes of SQA standards R
7. Explain the differences between various classes of SQA standards U
8. The SPICE project performed a comprehensive trial for the early versions of
the ISO/IEC 15504 Standard.
Explain the contribution of the trial to development of the standard
U
LU -41: Quality management standards – CMM (1 Period)
LU Objectives
208
1. To describe the principles embodied in the CMM
2. To explain the key process areas of CMM
3. To describe the significance of CMMI and its key process areas
4. To compare CMMI with CMM
LU Outcomes
1. Creating a quality software development environment as specified in CMM standard in
the industry
2. Creation of proper documentation as specified in CMM standard to get CMM Level
certification for the industry
3. Ability for creating a quality software development environment as specified in CMMI
standard in the industry
4. Creation of proper documentation as specified in CMMI standard to get CMMI Level
certification for the industry
Resource Reference
1. Chapter 23 of T1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Describe the principles embodied in the Capability Maturity Model (CMM) U
2. Explain in detail on key process areas of CMM U
3. Describe the principles embodied in the Capability Maturity Model
Integration (CMMI)
U
4. The evolution and diversification of the CMM methodology have produced
several specialized CMM products that were offered to the software industry.
At a certain point, SEI moved toward creation of integrated CMM models.
(1) Explain the reasons for this move (2) List some arguments against integration
U
5. CMM and CMMI are both composed of almost identical capability maturity
models.
While CMM bases its assessments on 18 key process areas, CMMI employs
24 process areas.
(1) Explain the differences between the CMM and CMMI process areas in relation to the respective subject matter.
(2) Indicate which of the capability levels have been substantially
changed (3) Can you characterize the observed changes?
E
209
LU -42: Project process standards (1 Period)
LU Objectives
1. To explain the concepts embodied in IEEE/EIA Std 12207.
2. To explain the concepts and essence of the SVVP as required by IEEE Std 1012
3. To explain the concepts embodied in IEEE Std 1028.
LU Outcomes
1. Creation of a software life cycle process as specified in IEEE 12207 standard in the
industry
2. Framing of verification and validation process as specified in IEEE 1012 standard in the
industry
3. Framing of review process as specified in IEEE 1028 standard in the industry
Resource Reference
1. Chapter 24 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Explain the concepts underlying IEEE/EIA Std 12207 U
2. Explain the concepts underlying IEEE Std 1012 U
3. Explain the essence of the SVVP as required by IEEE Std 1012 U
4. Explain the concepts underlying IEEE Std 1028 U
5. The 1998 version of IEEE Std 1012 introduces the notion of “V&V metrics”
in one of its Annexes. This notion was absent from the 1986 version
(reaffirmed 1992).
(1) Explain the notion of “V&V metrics” and how it should be implemented.
(2) Discuss the contribution of V&V metrics to software quality and to the effectiveness of V&V activities
U
LU -43: Management and its role in SQA (2 Periods)
210
LU Objectives
1. To describe top management’s responsibilities regarding software quality.
2. To describe the main objectives of management reviews.
3. To explain and list out the SQA-related responsibilities of department management.
LU Outcomes
1. Realize the importance of the management’s responsibility in software quality
2. Ability to set objectives and conduct management review
3. Ability to set the software quality assurance responsibilities for management and
managers for maintaining quality in industry and projects
Resource Reference
1. Chapter 25 of T1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. List the actors in a typical quality assurance organizational framework R
2. Describe top management responsibilities regarding software quality U
3. Describe the software system-related responsibilities of the executive in
charge of software quality issues
U
4. Describe the main objectives of management reviews U
5. Explain the SQA system-related responsibilities of department management U
6. List the SQA professional hands-on tasks required of project managers R
7. The top management contributes to software quality by employing three
main managerial tools.
(1) List the tools applied by top management to achieve its software quality objectives.
(2) Describe each tool in your own words and explain how it affects software quality
U
8. The executive in charge of software quality issues is responsible for the
preparation of the annual SQA activities program and budget. (1) Describe in your own words the activities the executive has to
perform to prepare the mentioned program and budget.
(2) Describe the participation of the heads of the SQA unit and sub-units in the preparation of the program and budget
U
211
9. The executive in charge of software quality issues is responsible for overall
control of the performance of SQA activities.
(1) List the types of SQA activities under the executive’s responsibility
(2) Describe in your own words the activities the executive has to perform to control the SQA activities
U
LU -44: SQA unit (2 Periods)
LU Objectives
1. To describe the SQA unit’s tasks according to the proposed organizational structure
model.
2. To describe the development, audit and maintenance tasks associated with SQA
standards and procedures.
3. To describe the tasks, types and characteristics of SQA forum.
LU Outcomes
1. Familiar with all the tasks performed by SQA team for maintaining quality across the
whole industry
2. Define the project related, development and maintenance tasks for the SQA team
3. Ability to assign tasks for SQA team members
Resource Reference
1. Chapter 26 of R1
Possible Assessment Questions: (Rating the level of questions – R, U, A, L, E, C)
Sl.No Test Questions Level
1. Describe the SQA unit’s tasks according to the proposed Organizational
Structure Model
U
2. Describe the typical tasks of the head of an SQA unit U
3. Describe typical project life cycle tasks U
4. Describe the audit types the SQA unit is involved with U
5. Describe the development and maintenance tasks associated with SQA U
212
standards and procedures
6. Describe the tasks of SQA trustees U
7. Describe and compare the types of SQA committees L
8. Describe SQA forum characteristics U
9. List the four sub-units that deals with SQA operations U
10. List the three sub-units that deals with SQA development and maintenance R
11. SQA trustees are expected to be SQA agents in their teams/units and
provide the internal support for successful implementation of SQA
components.
(1) Explain how SQA trustees complement the formal activities
performed by SQA units and unit managers. (2) Evaluate the contributions of SQA trustees to software quality
E
213
LAB COURSE MANUAL
Subject Code : CS9227
Subject Name : OPERATING SYSTEM LAB
Semester : ME (CSE) II Semester
Prepared By : Ms. Golda Jeyasheeli
Approved By : Dr.K.Muneeswaran
Effective Date : 06.02.2013
Revision No. : 1
Course Objective:
To achieve synchronisation among multiple processes running in a multiprocessor system
(Multiprocessor operating system)
To provide synchronisation using monitors in a multithreaded application. (Multiprocessor
operating system)
To write a program to identify the various LAN hardware, network configuration option in a
system. (Network operating system)
To develop real time applications like alarm clock. (Real Time operating system)
To apply concurrency control algorithms for database transactions.(Database operating
system)
To write a distributed application using RMI. (Distributed operating system)
To write a program order events in a distributed system using vector clocks. (Distributed
operating system)
Course Prerequisite:
Data structure – Algorithms – Any programming language