Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
M.Tech CSE 5301 Software Engineering Regulations- 2012 L T P C 3 0 3 OBJECT ORIENTED SYSTEM DESIGN 0 INTRODUCTION Overview of System Analysis, Structured System Analysis- Object Oriented AnalysisComparison of SSA and OOA- Evolution of object models- Object modeling- Major and Minor elements of object models- Object Classifications- Objects and their relationshipsClasses- Class relationships – Association- Aggregation- Inheritance- InstantiationUsing. UML AND USE CASE MODELING UML: an Introduction- Views and Diagrams- extended UML - Modeling requirements using use case diagrams – Components of use case model- Components of a use case diagram- steps in processing requirements specifications to construct use case diagramUse case identification and description. WORKFLOW AND BEHAVIORAL MODELING Modeling workflows using Activity diagrams: Components of activity diagrams- Steps in construction – Examples - Modeling behavior with state diagrams: Notations- Nesting of states- steps in construction – Examples. UML Interaction diagrams: Interaction diagrams – Components- steps in construction- examples. Collaboration diagramsTiming diagrams- Interaction overview diagrams. STRUCTURAL MODELING Class diagrams- Object diagrams- Component diagrams- Deployment diagramsPackage diagrams- Composite structure diagrams. OTHER OBJECT ORIENTED METHODOLOGIES Booch methodology- OMT- Coad/Yourdon approach- Shalear/ Mellor’s approachOOSE- Comparative study- Case Study: Patterns and frameworks- Modeling ATM, eshop, Cruise Control System, cellular network. REFERENCES 1. Grady Booch, James Rumbaugh and Ivar Jacobson, “The Unified Modeling Language User Guide”, Addison-Wesley Longman, USA, 2005. 2. Ali Bahrami, “Object Oriented System Development”, McGraw Hill International Edition, Singapore, 1999. 3. Fowler, “Analysis Patterns”, Addison Wesley, USA, 1996. 4. Erich Gamna, “ Design Patterns”, Addison Wesley, USA, 1994. 1 M.Tech CSE 5302 Software Engineering Regulations- 2012 L T P C 3 0 3 SOFTWARE ARCHITECTURE AND DESIGN 0 INTRODUCTION TO ARCHITECTURE Notion of Architecture – Notion of Software Architecture - Architectural Styles – Description of Software Architecture –Visual Notation – Examples. DESIGN FUNDAMENTALS The Basic Concepts of Design – Characteristics of Design Activities – Essential Elements of Design – The Factors that Affect the Design – Design Principles Basic Rules of Software Design – Design Processes DESIGN METHODOLOGIES Structured Design – Design Practices – Stepwise Refinement – Incremental Design – Structured System Analysis and Design – Jackson Structured Programming – Jackson System Development – Designing with Objects – User Interface Design. ARCHITECTURAL DESIGN Typical Architectural Design – Data Flow – Independent Components – Call and Return – Using Styles in Design – Choices of Style – Combination of Styles – Architectural Design Space – Theory of Design Spaces – Design Space of Architectural Elements – Design Space of Architectural Styles. CASE STUDIES Tools for Architectural design – Case Studies. REFERENCES 1. Hong Zhu, “Software Design Methodology From Principles to Architectural Styles”, Elsevier, 2005. 2. David Budgen, "Software Design", Second Edition, Pearson Education, 2004. 3. Mary Shaw David Garlan, " Software Architectural Perspectives on an emerging discipline ", EEE, PHI 1996. 4. John Robinson, “Software Design for Engineers and Scientists”, Newnes, 2004. 5. R. S. Pressman, "Software Engineering", Fifth Edition, McGraw Hill Inc., 2001. 6. A. G. Suteliffe, "Human Computer Interface Design", Second Edition Macmillan, 1995. 2 M.Tech CSE 5303 Software Engineering SOFTWARE REQUIREMENTS AND ESTIMATION Regulations- 2012 L T P C 3 0 3 0 REQUIREMENT ENGINEERING Requirements Elicitation, Requirement Elicitation techniques, Requirement Analysis, Requirement Analysis Models, Requirement Documentation, Requirement Management, IEEE Std. for SRS APPLICATIONS OF STATISTICS IN SOFTWARE ENGIENEEING Cost Estimation- Statistical Inadequacies in Estimating-Maturity and Data GranularityReliability of Model Inputs- Managing to Estimates: Assessment and ReliabilityReliability Growth Modeling-Structural Modeling Issues- Experimentation, Data Collection, and General Statistical Techniques- Software Measurement and MetricsSTATISTICAL CHALLENGES: Software Engineering Experimental Issues -Combining Information -Visualization in Software Engineering- Configuration Management DataFunction Call Graphs- Test Code Coverage- Code Metrics- Challenges for VisualizationOpportunities for Visualization- Orthogonal Defect Classification SIZE ESTIMATION Function Point Analysis, Mask II FPA, LOC estimation, Conversion between size measures - schedule & cost estimation: Estimation factors, COCOMO-II, Putnam Estimation Model, Estimation by Analogy, Validating Software Estimates. EFFORT, SCHEDULE AND COST ESTIMATION Estimation factors, COCOMO-II, Putnam Estimation Model, Estimation by Analogy, Validating Software Estimates SOFTWARE ESTIMATION TOOLS Introduction to software life cycle, management activities in software project Tools: Software Estimation Tools-Industry Resources: IFPUG, UQAM-SEMRL, COSMIC, IEEE, COCOMO REFERENCES 1. Swapna Kishore, Rajesh Naik, “Software Requirements and Estimation”, TMH, 1992. 2. K.K. Aggarwal & Yogesh Singh, "Software Engineering", 2nd Ed., New Age International Publishers, New Delhi, 2005. 3.Roger Pressman, “Software Engineering: A Practitioiner’s Approach”, 3rd Edition, McGraw Hill, 1992. 4.Statistical Software Engineeirng, Technical Report, National Academy Press,Washington, D.C. 1996 3 M.Tech MAT5101 Software Engineering Regulations- 2012 L T P C 3 0 0 3 APPLIED MATHEMATICS CLASSICAL OPTIMIZATION TECHNIQUES Statement of optimization problem – classification – optimization technique Unconstrained Optimization – Equality constraints – Inequality constraints – Lagrange Multiplier method – Kuhn-Tucker Condition - Indirect search methods – Gradient of a function – Steepest descent method – Conjugate gradient method – Newton’s method. LINEAR PROGRAMMING Standard form of Linear programming problem – definitions and theorems – Solution of linear simultaneous equations – Simplex algorithm – graphical method – Dual simplex method – Transportation problem - Applications. MATRIX THEORY Matrix Norms - Jordan Canonical form Generalized Eigen vectors - Singular Value Decomposition - Pseudo Inverse - Least square Approximations – QR Algorithm. PROBABILITY AND RANDOM PROCESS Probability - Random Process variables - Binomial, Poisson, Geometric, Uniform Normal, Exponential Distributions - Moment generating functions and their properties Functions of random variables. QUEUING THEORY Single and multiple server Markovian queuing models - Customer impatience- Queuing applications. TEXT BOOK: 1. Singiresu S.Rao ,Engineering Optimization , New Age International (P) Ltd ,2001 2. Gupta S.C. and Kapoor V.K. Fundamentals of Mathematical Statistics, sultan Chand and sons , Newdelhi,2001 3. Lewis.D.W. Matrix Thoery, Allied Publishers, Chennai 1995 REFERENCES : 1. S.D.Sharma, Operations Research, Kedar Nath Ram Nath & co 2008. 2. M.K. Ochi., Applied Probability and Stochastic processes, John Wiley & sons 1992. 3. Bronson.R. Matrix operations , Schaums outline series , Tata Mcgraw Hill, Newyork. 4 M.Tech CSE 5305 Software Engineering Regulations- 2012 L T P C 3 0 3 ADVANCED JAVA PROGRAMMING 0 JAVA BASICS REVIEW Java streaming - Networking - Event handling - Multithreading - Byte code Interpretation - Customizing application - Data Structures - Collection classes. DISTRIBUTED COMPUTING Custom sockets - Remote Method Invocation - Activation - Object serialization Distributed garbage collection - RMI - IIOP - Interface definition language - CORBA JINI overview. JAVA BEANS AND SWING Bean concepts - Events in bean box - Bean customization - Persistence - Application deployment using swing - Advanced swing techniques - JAR file handling. JAVA ENTERPRISE APPLICATIONS JNI - Servlets - Java Server Pages - JDBC - Session beans - Entity beans - Programming and deploying enterprise Java Beans - Java transactions. RELATED JAVA TECHNIQUES , J2EE and J2ME Java Media Frame work - 3D graphics - Internationalization - Case study - Deploying ntier application, E- commerce applications. J2EE architecture- Design techniques and coding standards for J2EE projects-Data Access in J2EE- Data access using entity beansWeb tier MVC design-J2ME overview- Small computing technology- Architecture and development environment. REFERENCES 1. Deitel & Deitel , "Java How to program" , Prentice Hall. 2. Gary Cornell and Cay S. Horstmann, "Core Java Vol 1 and Vol 2", Sun Microsystems Press. 3. Stephen Asbury, Scott R. Weiner, Wiley, "Developing Java Enterprise Applications". Object Oriented Programming with JAVA, Buyya, Selvi, Chu, TMH, 2010 4. Rod Johnson, Expert One-on-One J2EE Design and Development (Programmer to Programmer) , Wiley Publishing, 2003. 5. James Keogh, J2ME: The Complete Reference, McGraw-Hill/Osborne. 5 M.Tech Software Engineering Regulations- 2012 L CSE 5306 T P C 0 3 SOFTWARE QUALITY ASSURANCE 3 0 CONCEPTS, SOFTWARE QUALITY COMPONENETS AND PROJECT LIFE CYCLE Introduction to software quality - challenges – objectives – quality factors – components of SQA – contract review – development and quality plans – SQA components in project life cycle – SQA defect removal policies – Reviews SOFTWARE TESTING TECHNIQUES-I Testing and levels- Taxonomy of bugs- Testing and levels- Flow graphs and path testing Transaction of flow testing - Data flow testing SOFTWARE TESTING TECHNIQUES-II Domain testing - Paths, Path products and regular expressions - Logic based testing States, State graphs and transition testing -Graph matrices and applications SOFTWARE QUALITY METRICS, MANAGEMENT AND DOCUMENTATION Hierarchical models of software quality – software quality metrics –function points Software product quality – software maintenance quality – effect of case tools – software quality infrastructure – procedures – certifications – configuration management – documentation control. SQM STANDARDS AND PROJECT PROGRESS CONTROL Project progress control – costs – quality management standards – project process standards – management and its role in SQA – SQA unit REFERENCES 1. Daniel Galin, Software quality assurance – from theory to implementation, Pearson education, 2009. 2. Aditya Mathur, Foundations of software testing, Pearson Education, 2008 3. Srinivasan Desikan and Gopalaswamy Ramesh, Software testing – principles and practices , Pearson education, 2006 4. Ron Patton, Software testing , second edition, Pearson education, 2007 5. Alan C Gillies, “Software Quality Theory and Management”, Cengage Learning, Second edition, 2003 6. Arun Kumar Khannur,Software Testing: Techniques and Applications, Pearson Education, 2011 6 M.Tech Software Engineering Regulations- 2012 L CSE 5381 T P C CASE TOOLS LABORATORY 0 0 3 1 LIST OF EXPERIMENTS 1. Phases in software development project, overview, need, coverage of topics. 2. Assign the requirement engineering tasks. 3. Perform the system analysis: Requirement analysis, SRS. 4. Perform the function oriented diagram: DFD and Structured chart. 5. Perform the user’s view analysis: Use case diagram. 6. Draw the structural view diagram: Class diagram, object diagram. 7. Draw the behavioral view diagram: Sequence diagram, Collaboration diagram. 8. Draw the behavioral view diagram: State-chart diagram, Activity diagram. 9. Draw the implementation view diagram: Component diagram. 10. Draw the environmental view diagram: Deployment diagram. 11. Perform various testing using the testing tool unit testing, integration testing. 12. Draw UML diagrams using Rational rose software. 13. Draw UML diagrams using Microsoft Visio software. 7 M.Tech CSE 5382 Software Engineering ADVANCED JAVA PROGRAMMING LABORATORY Regulations- 2012 L T P C 0 0 1 3 1. Develop static pages (using Only HTML) of an online Bookstore. The pages should resemble: www.amazon.com. The website should consist the following pages. · Home page · Registration and user Login · User Profile Page · Books catalog · Shopping Cart · Payment By credit card · Order Conformation 2. Validate the Registration, user login, user profile and payment by credit card pages using JavaScript. 3. Create and save an XML document at the server, which contains 10 users information. Write a program, which takes User Id as an input and returns the user details by taking the user information from the XML document. 4. Bean Assignments a. Create a Java Bean which gives the exchange value of INR (Indian Rupees) into equivalent American/Canadian/Australian Dollar value. b. Create a simple Bean with a label - which is the count of number of clicks. Than create a Bean Info class such that only the “count” property is visible in the property Window. c. Create two Beans-a) Key Pad .b) Display Pad. After that integrate the two Beans to make it work as a Calculator. d. Create two Beans Traffic Light (Implemented as a Label with only three background colors-Red, Green, Yellow) and Automobile (Implemented as a Text Box which states its state/movement). The state of the Automobile should depend on the following Light Transition Table. Light Transition Automobile State Red ---> Yellow Ready Yellow ---> Green Move Green --> Red Stopped 5. Install TOMCAT web server. Convert the static web pages of Experiment 2 into dynamic web pages using servlets and cookies. Hint: Users information (user id, password, credit card number) would be stored in web.xml. Each user should have a separate Shopping Cart. 6. Redo the previous task using JSP by converting the static web pages of assignments 2 into dynamic web pages. Create a database with user information and books information. The books catalogue should be dynamically loaded from the database. Follow the MVC architecture while doing the website. 7. Implement the “Hello World!” program using JSP Struts Framework. 8 M.Tech CSE 5307 Software Engineering Regulations- 2012 L T P C 3 0 3 SOFTWARE RELIABILITY AND METRICS 0 FUNDAMENTAL TO SOFTWARE RELIABILITY Basic Concepts – Failure and Faults – Environment – Availability –Modeling – Uses SOFTWARE RELIABILITY MODELING Concepts – General Model Characteristic – Historical Development of Models – Model Classification Scheme – Markovian Models – General Concepts – General Poisson – Type Models – Binomial – Type Models – Poisson – Type Models – Fault Reduction Factor for Poisson – Type Models COMPARISON OF SOFTWARE RELIABILITY MODELS Comparison Criteria – Failure Data – Comparison of Predictive Validity of Model Groups – Recommended Models – Comparison of Time Domains – Calendar Time Modeling – Limiting Resource Concept – Resource Usage model – Resource Utilization – Calendar Time Estimation and Confidence Intervals MEASUREMENTS THEORY Fundamentals of Measurement – Measurements in Software Engineering – Scope of Software Metrics – Measurements theory – Goal based Framework – Software Measurement Validation PRODUCTS AND MANAGEMENT METRICS Measurement of Internet Product Attributes – Size and Structure – External Product Attributes – Measurement of Quality – Quality Management Models – Rayleigh Model – Problem Tracking Report (PTR) Model – Reliability Growth Model – Model Evaluation – Orthogonal Classification REFERENCES 1. John D. Musa, Anthony Iannino and Kazuhira Okumoto, “Software Reliability, Measurement, Prediction, Application, Series in Software Engineering and Technology”, McGraw Hill, 1987. 2. Norman E, Fenton and Share Lawrence Pfleeger, “Software metrics”, Second Edition, Thomson, 2002. 3. John D. Musa, “Software Reliability Engineering”, Tata McGraw Hill, 1999. 9 M.Tech CSE 5308 Software Engineering Regulations- 2012 L T P C 3 0 3 SOFTWARE PROJECT MANAGEMENT 0 INTRODUCTION Introduction – Product Life – Project life cycle models - water fall model – Prototyping model –RAD model – Spiral Model – Process Models – Matrices. SOFTWARE CONFIGURATION MANAGEMENT Software Configuration Management – Definitions and terminology – processes and activities –Configuration audit – Matrices – Software Quality assurance – definitions – quality control and assurance – SQA Tools – Organization of Structures - Risk Management – Risk Identification, quantification Monitoring – Mitigation. PROJECT MANAGEMENT Project initiation – Project Planning and tracking – what, cost, when and how – organizational processes – assigning resources – project tracking – project closure – when and how. ESTIMATION Software requirements gathering – steps to be followed – skills sets required – challenges – metrics – Estimation 3 phases of estimation – formal models for size estimation – translating size estimate to effort schedule estimate, metrics – Design and Development phases – reusability, Technology choices, Standards, Portability user interface – testability – diagonosability etc. TESTING AND MAINTENANCE Project Management in testing phase – in the maintenance phase – Impact on internet on project Management. REFERENCES 1. Gopalaswamy Ramesh, “Managing Globle Software Projects” Tata McGraw Hill Publishing Company, New Delhi, 2002 2. Bob Hughes and Mike Cotterell “Software Project Management”2nd edition, Tata McGraw Hill Publishing Company, New Delhi, 2002. 10 M.Tech CSE 5309 Software Engineering Regulations- 2012 L T P C 3 0 3 SOFTWARE TESTING 0 INTRODUCTION Assessing Software Testing Capabilities and Staff competencies – Staff – Roles-Defects – Business Perspective – Quality of Test Process and Testers – Summary. Building a Software Testing Environment – Building a Software Testing Strategy – Strategic Risks – Economics – Problems – Economics of System Development Life Cycle Testing – Organizational Issue – Policy – Structured Approach – Strategy – Methodology – Status – Summary. TESTING METHODOLOGIES Establishing a Software Testing Methodology – Defects – Reduce the Cost – Verification and Validation – Functional and Structural – Workbench Concept – Considerations in Developing Testing Methodologies – Tactics Checklist – Summary-Determining Software Testing Techniques – Tool Selection Process – Selecting Techniques / Tools – Structured System Testing Techniques. LEVELS OF TESTING The Need for Levels of Testing- Unit Test- Unit Test Planning- Designing the Unit Tests. The Class as a Testable Unit- The Test Harness- Running the Unit tests and Recording results- Integration tests- Designing Integration Tests- Integration Test Planning- System Test – The Different Types, Regression Testing, Alpha, Beta and Acceptance Tests TEST MANAGEMENT Introductory Concepts- Testing and Debugging Goals and Policies- Test Planning- Test Plan Components- Test Plan Attachments- Locating Test Items- Reporting Test ResultsThe role of three groups in Test Planning and Policy Development- Process and the Engineering Disciplines- Introducing the test specialist- Skills needed by a test specialistBuilding a Testing Group TESTING SPECIALIZED SYSTEMS AND APPLICATION Testing Specialized Systems and Application – Client / Server Systems - Overview – Objective – Concerns – Workbench – Rapid Application Development - Overview – Objective – Concerns – Workbench – Adequacy of System Documentation - Overview – Objective – Concerns – Workbench – Web Based Systems - Overview – Objective – Concerns – Workbench – Off-the Shelf Software - Overview – Objective – Concerns – Workbench – Multi platform Environment - Overview – Objective – Concerns – Workbench – Security - Overview – Objective – Concerns– Workbench – Data Warehouse - Overview – Objective – Concerns – Workbench. 11 M.Tech Software Engineering Regulations- 2012 REFERENCES 1. William E.Perry, “Effective Methods for Software Testing”, John Wiley and Sons, Inc., 3rd edition,2006 2. P.C. Jorgensen, “Software Testing A craft Man’s Approach”, CRC Press, 3rd edition 2008. 3. Ilene Burnstein, “Practical Software Testing”, Springer International Edition, Chennai, 2003 4. Edward Kit, “Software Testing in the Real World – Improving the Process”, Pearson Education, New Delhi, 1995 5. Elfriede Dustin, “Effective Software Testing”, Pearson Education, New Delhi, 2003 6. Renu Rajani and Pradeep Oak, “Software Testing – Effective Methods, Tools and Techniques”, Tata McGraw-Hill, New Delhi, 2003 12 M.Tech CSE 5310 Software Engineering Regulations- 2012 L T P C 3 0 3 ADVANCED DATABASES 0 DATABASE MANAGEMENT Relational Data Model – SQL – Database Design – Entity–Relationship Model Relational Normalization – Embedded SQL – Dynamic SQL – JDBC – ODBC ADVANCED DATABASES Object Databases – Conceptual Object Data Model – XML and Web Data – XML Schema – Distributed Databases – OLAP and Data Mining – ROLAP and MOLAP QUERY AND TRANSACTION PROCESSING Query Processing Basics – Heuristic Optimization – Cost Size Estimation – Models of Transactions – Architecture – Transaction Processing in a Centralized and Distributed System – TP Monitor IMPLEMENTING AND ISOLATION Schedules – Concurrency Control – Objects and Semantic Commutativity – Locking – Crash– Abort and Media Failure – Recovery – Atomic Termination – Distributed Deadlock – Global Serialization – Replicated Databases – Distributed Transactions in Real World DATABASE DESIGN ISSUES Security – Encryption – Digital Signatures – Authorization – Authenticated RPC – Integrity – Consistency – Database Tuning – Optimization and Research Issues REFERENCES 1. Philip M. Lewis, Arthur Bernstein and Michael Kifer, “Databases and Transaction Processing An Application-Oriented Approach”, Addison-Wesley, 2002. 2. R. Elmasri and S.B. Navathe, “Fundamentals of Database Systems”, 3rd Edition,Addison Wesley, 2004. 3. Abraham Silberschatz, Henry. F. Korth and S.Sudharsan, “Database System Concepts”, 4th Edition, Tata McGraw Hill, 2004. 4. Raghu Ramakrishnan and Johannes Gehrke, “Database Management Systems”, 3rd Edition, TMH, 2003. 13 M.Tech CSE 5383 Software Engineering Regulations- 2012 L T P C 0 0 1 SOFTWARE PROJECT DEVELOPMENT LAB 3 LIST OF EXPERIMENTS 1. Preparation of System Requirement Specification (SRS) and related analysis documents as per the guidelines in ANSI/IEEE Std 830-1984. 2. Estimation using COCOMO and Functions point model for the project chosen. 3. Developing Schedules and Tracking the progress 4. Decomposing systems into modules. 5. Design documents representing the complete design of the software system as well as the design diagrams for each module. 6. Analysis and design for the same problem in O-O approach. 7. Test documents as per ANSI/IEEE Std. 829/1983 and prepare Software Test Documentation. 8. Implementation 9. Testing the developed software– preparation of test cases, Execution of test cases. 10. Debugging 11. Maintenance using SCM tools Develop any one of the following system using above mentioned software Engineering methodology: 1. Online Railway reservation system 2. Payroll processing application 3. Inventory system 4. Automating the Banking process 5. Software for game 6. Library management system 7. Create a dictionary 8. Text editor 9. Telephone director 10. Create an E- Book of your choice. 14 M.Tech CSE 5384 Software Engineering Regulations- 2012 L T P C 0 0 1 SOFTWARE TESTING LABORATORY 3 LIST OF EXPERIMENTS 1. Study of various tools Study various tools such as WinRunner, LoadRunner, TestDirector, Rational Rose Suite etc. 2. Perform various types of testing: a. Unit Testing b. Regression Testing c. Integration Testing d. Validation Testing e. Acceptance Testing f. System Testing 3. Prepare test plan and develop test case hierarchy 4. Generate Test cases and Test Documentation in the following case studies a. Library System b. Course Registration System c. Implement a Quiz System d. Student Marks Analyzing System e. Online Ticket Reservation System f. Stock Manegment System g. Real-Time Scheduler 15 M.Tech CSE 5310 Software Engineering Regulations- 2012 L T P C 3 0 3 SOFTWARE REUSE 0 FUNDAMENTALS Organizing Reuse – Introduction – Motivation for Reuse – Reuse Driven Organizations – Managing a Reuse Project – The Characteristics of Reuse of Project – Roles in Reuse Projects – Adopting a Project to Reuse – Reuse Tools REUSE METRICS Managing a Repository – The REBOOT Component Model – Classification – Configuration Management of the Repository – Managing the Repository – Computer Supported Cooperative Working – Process Metrics for Reuse – Product Metrics – Cost Estimation – Forming a Reuse Strategy – Assessing Reuse Maturity REUSABLE COMPONENTS Practicing Reuse – Generic Reuse Development Processes – Develop for Reuse – Develop with Reuse –Testing Reusable Components – Object Oriented Components – Techniques and Life Cycles – Object Oriented Development for Reuse – Detailed Design for Reuse – Implementation for Reuse –Verification –Test and Validation REUSE PHASES Development with Reuse – With Reuse Specific Activities – Common Reuse Processes – Phases of Development with Reuse – Impact of Reuse on Development Cycle CLEAN ROOM SOFTWARE ENGINEERNG Re-engineering for Reuse – Methodology – Retrieving Objects in Non–Object Oriented Code– Measurements – Tools Support for Re-engineering – Overview of Clean Room Software Engineering –Phases in Clean Room Method – Box Structures Algorithms – Adapting the Box Structures REFERENCES 1. Even-Andre Karisson, “Software Reuse A Holistic Approach”, John Wiley and Sons, 1996. 2. Karma McClure, “Software Reuse Techniques Additional reuse to the Systems development process”, Prentice Hall, 1997. 16 M.Tech CSE 5311 Software Engineering Regulations- 2012 L T P C 3 0 3 SOFTWARE AGENTS 0 AGENTS – OVERVIEW Agent Definition – Agent Programming Paradigms – Agent Vs Object – Aglet – Mobile Agents – Agent Frameworks – Agent Reasoning JAVA AGENTS Processes – Threads – Daemons – Components – Java Beans – ActiveX – Sockets – RPCs – Distributed Computing –Aglets Programming – Jini Architecture – Actors and Agents – Typed and Proactive Messages MULTIAGENT SYSTEMS Interaction between Agents – Reactive Agents – Cognitive Agents – Interaction Protocols – Agent Coordination – Agent negotiation – Agent Cooperation – Agent Organization – Self-Interested Agents in Electronic Commerce Applications INTELLIGENT SOFTWARE AGENTS Interface Agents – Agent Communication Languages – Agent Knowledge Representation – Agent Adaptability – Belief Desire Intension – Mobile Agent Applications AGENTS AND SECURITY Agent Security Issues – Mobile Agents Security – Protecting Agents against Malicious Hosts – Untrusted Agent – Black Box Security – Authentication for Agents – Security Issues for Aglets REFERENCES 1. Bigus & Bigus, “Constructing Intelligent agents with Java”, Wiley, 1997. 2. Bradshaw, “Software Agents”, MIT Press, 2000. 3. Russel & Norvig, “Artificial Intelligence a modern approach”, Prentice Hall, 1994. 4. Richard Murch and Tony Johnson, “Intelligent Software Agents”, Prentice Hall, 2000. 5. Michael Wooldridge, “An Introduction to Multi Agent Systems”, John Wiley, 2002. 17 M.Tech CSE 5312 Software Engineering Regulations- 2012 L T P C 3 0 3 DESIGN PATTERNS 0 FUNDAMENTALS Design Pattern – Design Pattern in Smalltalk MVC – Describing Design Patterns – Organizing Catalog – Solving Problems using Design Patterns DESIGN Design Problems – Document Structure – Formatting – Embellishing User Interface – Supporting Multiple Look and Feel – Multiple Window Systems – User Operations – Spell Check and Hyphenation CREATIONAL PATTERNS Abstract factory – Builder – Factory Method – Prototype – Singleton STRUCTURAL PATTERNS Adapter – Bridge – Composite – Decorator – Facade Flyweight – Proxy BEHAVIORAL PATTERNS Chain of Responsibility – Command – Interpreter – Iterators – Mediators – Momento – Observer – State – Strategy – Template Method – Visitor – Case Study REFERENCES 1. Erich Gamma, Richard Helm, Ralph Johnson, John Vissides and Grady Booch, “Design Patterns”, Addison Wesley, 1995. 2. Craig Larman, “Applying UML and Patterns”, Prentice Hall, 2nd Edition, 2002. 3. Thomas Mowbray and Raphel Malveaux, “CORBA and Design Patterns”, John Wiley, 1997. 4. William J Brown et al., “Anti-Patterns Re factoring Software, Architectures and Projects in Crisis”, .John Wiley, 1998. 18 M.Tech CSE 5313 Software Engineering PERSONAL SOFTWARE PROCESS & TEAM SOFTWARE PROCESS Regulations- 2012 L T P C 3 0 3 0 FUNDAMENTALS Software Engineering – Time management – Tracking Time – Period and Product Planning – Product Planning – Product Size – Managing Your Time – Managing Commitments – Managing Schedules PLANNING The Project Plan – The Software Development Process – Defects – Finding Defects – The Code Review Checklist – Design Defects – Product Quality – Process Quality TSP STRATEGY Team Software Process Overview – The Logic of the Team Software Process – Launching a Team Project – The Development Strategy – The Development Plan – Defining the Requirement PRODUCT IMPLEMENTATION Designing with Teams – Product Implementation – Integration & System Testing – The Postmortem TEAM MANAGEMENT The Team Leader Role – Development Manager Role – The Planning Manager Role – The Quality – Process Manager Role – The Support Manager Role REFERENCES 1. Watt S Humphery, “Introduction to Personel Software Process, Addison Wesley, 2000. 19 M.Tech CSE 5314 Software Engineering SOFTWARE COMMUNICATION AND DOCUMENTATION Regulations- 2012 L T P C 3 0 3 0 BASIC CONCEPTS Importance of communication and documentation; Different types of communication; Spoken communication; written communication; Different types of documentation. SPOKEN INDIVIDUAL SPOKEN COMMUNICATION Elements of good individual communication - getting over nervousness - organizing one self - characteristics of effective communication - augmenting spoken words by actions and other means - other aspects of spoken communication like speeches; presentations; use of visual aids. GROUP COMMUNICATION Meeting - effective participation - effective management of meetings - preparing minutes - " virtual " meetings - audio conference - video conference - use of collaboration tools. DIFFERENT TYPES OF WRITTEN COMMUNICATION Principles of effective written comminucation - differences between written communication and spoken communication - resume writing - e-mail; effective e-mail techniques - proposals - contracts - user guides - external technical documentation for software - internal software technical documentation - users guides – letters and different types of letters -legal issues. TECHNOLOGY AND STANDARDS Use of various tools and technologies - need for standardization - role of processes and standards in doucmentation - on-line help - impact of Interent on documentation common challenges in the harnessing of technology; courses summary. References: 1. Huckin, et al, " Technical Writing and Professional Communication ",McGraw Hill, 1991. 2. W.R. Gordin and Edward W.Mammen: " The Art of Speaking Made Simple ", Rupa & Co., 1982. 3. Ron Ludlow and Fergus Panton, " The Essence of Effective Communication ", PHI (P) Ltd., New Delhi, 1995. 4. Sushil Bahl: " Business Communication Today ", Response Books, New Delhi, 1996. 5. Eyre, " Effective Communication Made Simple ", W.H. Allen, London, 1979. 6. Gloria Wilson and Garry Bitter, " Learning Media Design (Text and CD Rom) ", PHI (P) Ltd., New Delhi, 1998. 7. Simmon Collin - " Multimedia Made Simple ", Asian Books (P) New Delhi, 1996. 8. Bennet - " Illustrated World of DTP ", Dreamland Publications, New Delhi, 1998. 20 M.Tech CSE 5315 Software Engineering Regulations- 2012 L T P C 3 0 0 3 NATURAL LANGUAGE PROCESSING FUNDAMENTALS Natural Language Processing – Linguistic Background – Spoken Language Input and Output Technologies – Written Language Input – Mathematical Methods – Statistical Modeling and Classification Finite State Methods Grammar for Natural Language Processing – Parsing – Semantic and Logic Form – Ambiguity Resolution – Semantic Interpretation INFORMATION RETRIEVAL Design Features – Evaluation Measures – Vector Space Model – Term Distribution Model – Latent Semantic Indexing – Discourse Segmentation – Search Engine – Features – Performance Measure – NLP Based Information Retrieval – Information Extraction TEXT MINING Clustering – Hierarchical Clustering – Non Hierarchical Clustering – Text Categorization Decision Tree – Maximum Entropy Model – Perception – K-Nearest Neighbor Classification – Use of Categories and Clusters for Organizing Retrieval Result GENERIC ISSUES Multilinguality – Multilingual Information Retrieval and Speech Processing – Multimodality – Text and Images – Modality Integration – Transmission and Storage – Speech Coding– Evaluation of Systems – Human Factors and User Acceptability APPLICATIONS Machine Translation – Transfer Metaphor – Interlingua and Statistical Approaches – Discourse Processing – Dialog and Conversational Agents – Natural Language Generation – Surface Realization and Discourse Planning REFERENCES 1. Daniel Jurafsky and James H. martin, “Speech and Language Processing”, 2000. 2. Christopher D.Manning and Hinrich Schutze, “Foundations of Statistical Natura Language Processing”, MIT Press, 1999. 3. James Allen, “Natural Language Understanding”, Benjamin/ Cummings Publishing Co. 1995. 4. Gerald J. Kowalski and Mark.T. Maybury, “Information Storage and Retrieval systems”, Kluwer academic Publishers, 2000. 5. Tomek Strzalkowski,“ Natural Language Information Retrieval “, Kluwer Academic Publishers, 1999. 6. Ron Cole, J.Mariani, et. al, “Survey of the State of the Art in Human Language Technology”, Cambridge University Press, 1997. 7. Michael W. Berry, “ Survey of Text Mining Culstering, Classification and Retrieval”, Springer Verlag, 2003. 21 M.Tech CSE 5316 Software Engineering Regulations- 2012 L T P C 3 0 3 XML AND WEB SERVICES 0 FUNDAMENTALS Role of XML – XML and The Web – XML Language Basics – SOAP – Web Services – Revolutions of XML – Service Oriented Architecture (SOA) XML TECHNOLOGY XML – Name Spaces – Structuring with Schemas and DTD – Presentation Techniques – Transformation – XML Infrastructure SOAP Overview of SOAP – HTTP – XML–RPC – SOAP Protocol – Message Structure – Intermediaries – Actors – Design Patterns and Faults – SOAP with Attachments WEB SERVICES Overview – Architecture – Key Technologies – UDDI – WSDL – ebXML – SOAP and Web Services in E-Com – Overview of .NET and J2EE XML SECURITY Security Overview – Canonicalization – XML Security Framework – XML Encryption – XML Digital Signature – XKMS Structure – Guidelines for Signing XML Documents – XML in Practice REFERENCES 1. Frank. P. Coyle, XML, “Web Services and The Data Revolution”, Pearson Education, 2002. 2. Ramesh Nagappan, Robert Skoczylas and Rima Patel Sriganesh, “Developing Java Web Services”, Wiley Publishing Inc., 2004. 3. Sandeep Chatterjee and James Webber, “Developing Enterprise Web Services”, Pearson Education, 2004. 4. McGovern, et. al., “Java Web Services Architecture”, Morgan Kaufmann Publishers, 2005. 22 M.Tech Software Engineering Regulations- 2012 L CSE 5317 T P C DISTRIBUTED COMPONENT ARCHITECTURE 3 0 0 3 SOFTWARE ARCHITECTURE Introduction - Software Architecture - Definition – needs, approaches, roles of Software Architecture. Evolution of Distributed Systems -Distributed Objects - Methods of distribution - Component Concepts - Introduction to UML. COMMON OBJECT REQUEST BROKER ARCHITECTURE History of CORBA - CORBA architecture - CORBA object life cycle - CORBA invocation life cycle - Performance Considerations.CORBA services: CORBA Object location service - CORBA messaging service - CORBA Event Service - CORBA Security Service - CORBA Object Transaction Service. DISTRIBUTED COMPONENT OBJECT MODEL Microsoft DCA - DCOM Architecture - Interfaces and Object Identification - COM IDL - Look up strategies in COM - Type Libraries - Exploring I Unknown and IClassFactory Standard and Custom Marshalling.DCOM services: Persistence service- COM security service- Clustering in COM- MS Transaction Service. ENTERPRISE JAVA BEANS J2EE architecture- Enterprise Beans as distributed objects - Inside Enterprise beans- The EJB Container- Types of Beans- Passivation and Activation - Message Driven Beans, Comparison of EJB, COM, CORBA and .NET. SERVICE ORIENTED ARCHITECTURE Introduction to Web Services- Introduction to Service Oriented Architecture- Business value- Architectural elements- Web services and SOA. REFERENCES: 1. 2. 3. George T Heineman and William T Councill , “Component-based Software Engineering: Putting the pieces together”, Addison-Wesley, USA, 2001. Sudha Sadasivam G, “Distributed Component Architecture”, Wiley India Pvt Ltd, New Delhi, 2007. Roger Sessions, “COM and DCOM”, Wiley Computer Publishing, New York, 1998. 23 M.Tech CSE 5318 Software Engineering Regulations- 2012 L T P C 3 0 3 AD HOC NETWORKS 0 FUNDAMENTALS Fundamentals of Wireless Communication Technology – The Electromagnetic Spectrum – Radio Propagation Mechanisms – Characteristics of the Wireless Channel – IEEE 802.11a–b Standard – Origin Of Ad hoc Packet Radio Networks – Technical Challenges – Architecture of PRNETs – Components of Packet Radios – Ad hoc Wireless Networks –What Is an Ad Hoc Network? Heterogeneity in Mobile Devices – Wireless Sensor Networks – Traffic Profiles – Types of Ad hoc Mobile Communications – Types of Mobile Host Movements – Challenges Facing Ad hoc Mobile Networks–Ad hoc wireless Internet AD HOC ROUTING PROTOCOLS Issues in Designing a Routing Protocol for Ad hoc Wireless Networks – Classifications of Routing Protocols – Table–Driven Routing Protocols – Destination Sequenced Distance Vector (DSDV) – Wireless Routing Protocol (WRP) – Cluster Switch Gateway Routing (CSGR) – Source–Initiated On- Demand Approaches – Ad hoc On-Demand Distance Vector Routing (AODV) – Dynamic Source Routing (DSR) –Temporally Ordered Routing Algorithm (TORA) – Signal Stability Routing (SSR) – Location – Aided Routing (LAR) – Power–Aware Routing (PAR) – Zone Routing Protocol (ZRP) MULTICASTROUTING IN AD HOC NETWORKS Issues in Designing a Multicast Routing Protocol – Operation of Multicast Routing Protocols – An Architecture Reference Model for Multicast Routing Protocols – Classifications of Multicast Routing Protocols – Tree-Based Multicast Routing Protocols – Mesh-Based Multicast Routing Protocols – Summary of Tree and Mesh-Based Protocols – Energy – Efficient Multicasting – Multicasting with Quality of Service Guarantees – Application – Dependent Multicast Routing – Comparisons of Multicast Routing Protocols TRANSPORT LAYER- SECURITY PROTOCOLS Issues in Designing a Transport Layer Protocol for Ad hoc Wireless Networks – Design Goals of a Transport Layer Protocol for Ad hoc wireless networks – classification of transport layer solutions – tcp over Ad hoc Wireless Networks – Other Transport Layer Protocols for Ad hoc Wireless Networks – Security in Ad hoc Wireless Networks – Network Security Requirements – Issues and Challenges in Security Provisioning – Network Security Attacks – Key Management – Secure Routing in Ad hoc Wireless Networks QOS AND ENERGY MANAGEMENT Issues and Challenges in Providing QOS in Ad hoc Wireless Networks –Classifications of QOS Solutions – MAC Layer Solutions – Network Layer Solutions – QOS Frameworks for Ad Hoc Wireless Networks Energy Management in Ad hoc Wireless Networks – Introduction – Need for Energy Management in Ad hoc Wireless Networks – 24 M.Tech Software Engineering Regulations- 2012 Classification of Energy Management Schemes – Battery Management Schemes – Transmission Power Management Schemes – System Power Management Schemes REFERENCES 1. C. Siva Ram Murthy and B.S. Manoj, “Ad Hoc Wireless Networks Architectures and Protocols”, Prentice Hall PTR, 2004. 2. C.K. Toh, “Ad Hoc Mobile Wireless Networks Protocols and Systems”, Prentice Hall PTR, 2001. 3. Charles E. Perkins, “Ad Hoc Networking”, Addison Wesley, 2000. 25 M.Tech CSE 5319 Software Engineering Regulations- 2012 L T P C 3 0 3 DATA WAREHOUSING AND DATA MINING 0 FUNDAMENTALS Relation to Statistics – Databases – Data Mining Functionalities – Steps in Data Mining Process – Architecture of a Typical Data Mining Systems – Classification of Data Mining Systems – Overview of Data Mining Techniques DATA PREPROCESSING AND ASSOCIATION RULES Data Preprocessing – Data Cleaning– Integration– Transformation – Reduction– Discretization Concept Hierarchies – Concept Description Data Generalization and Summarization based Characterization– Mining Association Rules in Large Databases. PREDICTIVE MODELING Classification and Prediction Issues Regarding Classification and Prediction– Classification by Decision Tree Induction – Bayesian Classification – Other Classification Methods – Prediction – Clusters Analysis Types of Data in Cluster Analysis – Categorization of Major Clustering Methods Partitioning Methods – Hierarchical Methods DATA WAREHOUSING Data Warehousing Components – Multi Dimensional Data Model – Data Warehouse Architecture –Data Warehouse Implementation – Mapping the Data Warehouse to Multiprocessor Architecture – OLAP – Need – Categorization of OLAP Tools APPLICATIONS Applications of Data Mining – Social Impacts of Data Mining – Tools – An Introduction to DB Miner – Case Studies – Mining WWW – Mining Text Database – Mining Spatial Databases REFERENCES 1. Jiawei Han and Micheline Kamber, “Data Mining Concepts and Techniques”, Morgan Kaufmann Publishers, 2002. 2. Alex Berson and Stephen J. Smith, “Data Warehousing- Data Mining & OLAP”, Tata Mcgraw Hill, 2004. 3. Usama M.Fayyad, Gregory Piatetsky, Shapiro, Padhrai Smyth and Ramasamy Uthurusamy, “Advances in Knowledge Discovery and Data Mining”, The M.I.T Press, 1996. 4. Ralph Kimball, “The Data Warehouse Life Cycle Toolkit”, John Wiley & Sons Inc., 1998. 5. Sean Kelly, “Data Warehousing In Action”, John Wiley & Sons Inc., 1997. 26 M.Tech CSE 5320 Software Engineering SECURITY IN COMPUTING Regulations- 2012 L T P C 3 0 3 0 FUNDAMENTALS Security Problem in Computing – Elementary Cryptography – DES – AES – Public Key Encryption – Uses of Encryption. PROGRAM SECURITY Security Programs – Non Malicious Program Errors – Virus and Other Malicious Code – Targeted Malicious Code – Control against Program Threats. SECURITY IN OPERATING SYSTEM Protected Objects and Methods of Protection – Memory and Address Protection – Control of Access Generated Objects – File Protection Mechanisms – User Authentication – Trusted Operating Systems – Models of Security – Trusted Operating System – Assurance in Trusted Operating Systems. DATABASE and NETWORK SECURITY Database Security Requirements – Reliability and Integrity – Sensitive Data – Inference – Multilevel Databases and Multilevel Security – Threats in Networks – Network Security Controls – Firewalls – Intrusion Detection System – Security – E-mail. ADMINISTERING SECURITY AND ETHICAL ISSUES Security Planning – Risk Analysis – Organization Security Policies – Physical Security – Protection Programs and Data – Information and the Law – Software Failures – Computer Crime – Privacy – Ethical Issues. TEXT BOOK 1. Charles B. Pfleeger and Shari Lawrence Pfleeger, “Security in computing”, 3rd Edition, Pearson Education, 2003. REFERENCES 1. Matt Bishop, “Computer Security - Art and Science”, 1st Edition, Pearson Education, 2003. 2. William Stallings, “Cryptography and Network Security - Principles and Practices”, 3rd Edition, Prentice Hall of India, 2003. 3. Atul Kahate, “Cryptography and Network Security”, Tata McGraw Hill, 2003. 27 M.Tech Software Engineering CSE 5321 GRID AND UTILITY COMPUTING Regulations- 2012 L 3 T 0 P 0 C 3 INRODUCTION: High Performance Computing, Cluster Computing, Meta-computing, Peer-to-Peer Computing, Internet Computing, Grid Computing – Types of grids - The Grid: Past, Present, Future - A New Infrastructure for 21st Century Science, Grid Applications. GRID COMPUTING TECHNOLOGY: The Evolution of the Grid - Desktop Grids - Cluster Grids – HPC Grids – Computational and Data Grids. THE ANATOMY OF THE GRID: Virtual organizations, Grid architecture and its Relationship to other distributed technologies – autonomic computing – service on demand – SOA and the Grid – semantic grids - Service virtualization – Infrastructure and applications. THE OPEN GRID SERVICES ARCHITECTURE & INFRASTRUCTURE: Evolution to OGSA, Physiology of the Grid: OGSA Infrastructure - OGSA Basic Services, Creating and Managing Grid Services, Managing Grid Environments - GridEnabling software applications, Grid-Enabling network services, Grid Security, Grid Resource Management and Scheduling - High-level Introduction to OGSI, Technical details of OGSI specification. CLOUD COMPUTING: SOA - Web services- SaaS – Virtualisation - Ajax and Mashup – Map Reduce Model Cloud computing architectures. Case studies in cloud computing: the Amazon Elastic Compute Cloud and IBMs Blue Cloud – costing policies- Application Case Study: Globus Toolkit – Architecture, Programming model, Sample Implementation, High Level Services References 1. Rajkumar Buyya , Kris Bubendorfer, "Market-Oriented Grid and Utility Computing", Wiley Publications, 2009. 28 M.Tech CSE 5322 Software Engineering USER INTERFACE DESIGN Regulations- 2012 L 3 T 0 P 0 C 3 HUMAN FACTORS Human Factors of Interactive Software - Interaction Devices. MODELS Theories - Principles and Design Guidelines for User Interface Design - Object - Action Interface Model - Principles for Design - Data display and entry guidelines. DESIGN PROCESS User Interface Design Process - Usability Testing - Usability Requirements and Specification procedures and techniques. INFORMATION RELATED Information Search - Visualization and the WWW. USABILITY Usability of Web Sites and Case Study of e-commerce sites. REFERENCES 1. Ben Schneiderman, " Designing the User Interface ", Addison Wesley, 2000. 2. Jacob Nielsen, " Usability Engineering ", Academic Press, 1993. 3. Alan Dix et al, " Human - Computer Interaction ", Prentice Hall, 1993. 4. Alan Cooper, " The Essentials of User Interface Design ", IDG Books, 1995. 29 M.Tech CSE5323 Software Engineering PARALLEL COMPUTING Regulations- 2012 L T P C 3 0 0 3 INTRODUCTION Introduction-Parallel processing terminology-The sieve of Eratosthenes - PRAM Algorithms - Model for parallel computation- reducing the number of processors – Problems defying fast solutions on PRAMS. MUTIPROCESSOR AND MULTICOMPUTER Processor organizations- Processor arrays – Multiprocessors - Multi-computers- Flynn’s Taxonomy- Speedup, scaled speedup and parallelizability- Parallel programming languages - Programming parallel processes - Sequent C - nCube C - C-LINDA - A notation for expressing parallel algorithms. MAPPING AND SCHEDULING Mapping and scheduling - Mapping data to processors on processor arrays and multicomputers - Dynamic load balancing on multi-computers - static scheduling on UMA multiprocessors – Deadlock - Elementary Parallel algorithms - classifying MIMD algorithms - Reduction – Broadcast - Prefix sums SORTING TECHNIQUES Matrix multiplication - sequential matrix multiplication - Algorithm for processor array algorithms for multiprocessors – Sorting - Enumeration sort - Odd-even Transposition sort – Bitonic merge - Quick sort-based algorithms - Random read and Random write. PARALLEL ALGORITHMS Dictionary operations - Complexity of parallel search - Searching on Multiprocessors Combinatorial Search - Divide and conquer – TSP - Parallel Branch and Bound algorithms - Alpha beta search – Parallel Alpha beta search TEXT BOOK 1. Michael J.Quinn, “Parallel Computing, Theory and Practice”, Tata McGraw-Hill Publishing Company Limited, New Delhi, 2nd Edition, 2006. REFERENCES 1. Michael J. Quinn, “Parallel Programming in C with MPI and OpenMP”, McGraw Hill, 2004. 2. Rajaraman V, “Elements of Parallel computing” Prentice Hall of India, 2006. 3. Barry Wilkinson and Michael Allen, Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, PTR PrenticeHall, 2nd Edition, 2004. 4. David Culler, J.P.Singh, and Anoop Gupta, Parallel Computer Architecture: A Hardware/ Software Approach, Morgan Kaufmann Publishers Inc. 1998, 30