Page 12/17 Date 09.01.2017 Size 2.13 Mb. #8190
SEMESTER-IV
Subject Code
J030225
Title
Object Oriented Analysis And Design Pattern
Work Load Per Week
L:3 T:1
Examination
Internal: 30 University Exam: 70
Objectives
Teach students OOAD using with UML and standard agile software design patterns and usage of them.
Learning Outcomes
Upon completion of this course, students should be able to:
Write and use requirement document (Use-Cases)
Identify classes from given problem statements
Use and design software blue prints using UML
Identify design patterns to be required to implement for a given problem.
Pre-requisites
Object Oriented Programming with Java (J030109)
Software Engineering
Text Books
UML Distilled, 3rd Edition, Martin Fowler
Design Patterns Elements of Reusable Object-oriented Software- Erich Gama, Richjard Helm, Ralph Jonson and Jon Vlissides
Reference Book
Applying UML and Patterns, Craig Larman
Head First Design Patterns, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates
Software Engineering: A Practitioner's Approach, Roger Pressman
Syllabus
Lec.
Num
Unit Title
Details
Introduction
Review of Software Development Life Cycle,
Waterfall, spiral, Iterative and Incremental models
Object Oriented Methods: Rational Unified Process(RUP), XP and UML
Concept of modeling, UML, Static and Dynamic Modeling, Logical and Physical
Lec.
Num
Unit Title
Details
Gathering Requirements
Concept of Use Cases, Identifying Business Actors, Identifying the use cases, Writing Use Cases
Pre and Post Conditions, Drawing Use Cases
Specializing actors, Use Case Relationships
Documenting a process Flow
Concept of action and activity, Structuring control flow by Drawing a activity diagram for a given use-case,
Using fork and join, Decomposing an action, Using partitions, Signals and Swimlanes ,
Showing Tokens, Flow and Edges, Pins and Transformation
Static Modeling
Identifying classes and attributes from problem statements
Identifying and Drawing relationships
Visibility, Association Classes, Tangible verses Intangible Object
Aggregation, Composition, Interface realization
Using Object Diagrams
Dynamic Modeling
Object communication and Use Case realization using Sequence diagram
Messages and Types of messages used in Sequence Diagram
Sequence Vs Collaboration Diagram
Using State machines to describe behavior of system. Using sub-states
Designing the System Architecture
Using Packages and component Diagrams
Choosing a Network topology, Technology and using Deployment Diagrams to represent the same
Reusable Design Patterns
Agile Software Engineering and Design patterns
Creational Patterns
Creational Pattern, Why the name creational pattern?
Concept of factory in OOP.
Factory Method, Abstract Factory vs Factory Method
Builder Pattern - need its structure and example
Need of Singleton class, example and Structure
Prototype overview
Prototype Design Pattern
Structural Patterns
Adapter Pattern: real life example, Software example and Structure
Composite and Bridge Pattern
Decorator concept, example from java.io package;
Structure and comparison with composite pattern
Façade and Flyweight pattern structure
Concept and need of proxy, Pattern structure with example
Behavioral Patterns
Why Behavior Patterns. Chain of Responsibility Pattern
Command and Interpreter Patterns
Iterator pattern example from java.util package.
Mediator pattern:
Role of mediator to promote loose coupling in a set of objects interacting with each other
Memento:
Need of save state of an object ; using Memento to restore an object state by undo and redo.
Concept of Observer, one to many dependency, Example of weather forcast
State : how behavior of an object changes when its internal state changes.
Need of Family of algorithms, how we can make all this algorithms interchangeable using Strategy pattern,
Overview Template Method
Template method and Interpreter
Visitor: how a new operation can be defined without changing class
Introduction to Object Oriented (OO) Software Metrics
Intent of OO Metrics, Distinguishing Characteristics
Metrics for OO Design Model
Class and method oriented metrics
Metrics for OO Testing
OO for Object Oriented projects
Subject Code
J030226
Title
Applied Data Structures and Algorithm Design Pattern
Work Load Per Week
L:3 T:1 Lab:4
Examinations
Int: 30 Univ: 70 Practical 50
Objectives
To make students familiar with various data structures and algorithm design.
Learning Outcomes
At the end of course students should be
Familiar with various models of computation and analyze the algorithm efficiency.
Various types of data structures and its usage
Use different algorithm patterns to solve problem
Pre-requisites
Any program language
Text Book(s)
Data structures and Algorithms,
Fundamentals of Algorithm,
Syllabus
Lec.
Num.
Unit Title
Details
Learning Resources
1-3
Models of Computation
Definition of a problem, examples of problems, important problem types.
Definition of algorithm, algorithm representation, correctness of algorithm, time complexity and space complexity of algorithms.
Detailed model of computation
Simplified model of computation
Handout
4-8
Analysis of Algorithm Efficiency
Analysis framework
Asymptotic notation and basic efficiency
Classes ,Analysis of non-recursive algorithms
Analysis of recursive algorithms, Empirical
analysis of algorithms
A39-48,
A49-56
A57-63
A65-72
A80-85
Lec.
Num.
Unit Title
Details
Learning Resources
9-10
Linear Data Structures
Hierarchical data structures
Dynamic Sets, Stacks, Queues, Dequeues
Basic tree concepts
N-ary trees, breadth first and depth first traversals
Binary trees and binary tree traversal algorithms
Binary search trees- definition, inorder traversal in BST, searching in BST and its efficiency
Insertion and removal of elements in BST
Improving the efficiency of search in BST- balanced trees, definition of balance property AVL tree
Handout
Handout
Handout
Handout
Handout
11-20
Rebalancing – concept of rotation, insertion and removal in AVL trees, Red-black trees and B-trees
Handout
21-24
Algorithm design- Brute Force Pattern
Description and simple examples
Application-Selection sort and Bubble sort
Application-Sequential search and String matching
Application-Closest pair and Convex-hull
Application-Travelling Salesman problem, Knapsack problem, Assignment problem
Handout
A93-97
A98-101
H102-107
H108-115
25-28
Algorithm Design
Divided and Conqure Pattern
Description and simple examples
Merge sort and Quick SORT
Binary search and Binary tree Traversals
Multiplication of large integer and Strassen’s matrix multiplication,
Closest pair and convex hull problems.
Handout
A117-127
A128-135
A137-141
A142-146
Lec.
Num.
Unit Title
Details
Learning Resources
29-32
Algorithm Design- Decrease and Conquer Pattern
Description and simple examples
Insertion sort and Topological sorting
Depth-First Search and Breadth-First Search Generating Permutations and Generating Subsets
Handout
A149-154
A163-166
A167-171
33
Decrease-by-a-Constant-Factor Algorithms
Fake-coin Problem, Multiplication-a-la-Russe, Josephus Problem.
A172-176
34-36
Variable size decrease Algorithm
Computing median and selection problem, interpolation search, searching and insertion in BST, the game of NIM.
A177-184
37-42
Algorithm Design-Transform and Conquer
Description and Pre-sorting
Balanced Search Trees- AVL trees and
2-3 treesHeaps and Heap-sort
Horner’s Rule and Binary Exponentiation Problem-Reduction
A187-191
A202-210
A211-217
A218-223
A224-231
43-46
Algorithm Design-Space and Time Trade offs
Horspool’s and Boyer-Moore algorithms for string matching, Hashing-basic concepts, Hashing methods, Separate Chaining, and Open Addressing
A237-241
A242-251
A252-257
47-48
Algorithm design- Dynamic Programming Pattern
Description, Computing Fibonaccii Terms,Computing Binomial Coefficient
Warshall’s and Floyd’s Algorithms
Knapsack problem and Memory Functions
Handout
A270-276
A284-288
49-50
Algorithm Design- Greedy Pattern
Description and simple examples
Prim’s and Kruskal’s Algorithms
Dijkstra’s Algorithm Huffman Trees
Handout
A291-301
A305-309
A311-316
51-52
Limitations of Algorithm Power
P, NP, and NP-Complete Problems
Challenges of Numerical Algorithms
A377-380
A382-391
53-54
Algorithm Design-
Backtracking Pattern
Description, n- Queen’s Problem, Hamiltonian Circuit Problem, Subset-Sum Problem
A393-398
54-56
Algorithm Design-
Branch-and-Bound Pattern
Description, Application to Assignment Problem, Knapsack Problem, Travelling Salesman Problem
A402-410
Subject Code
J030227
Title
Distributed Programming
Work Load Per Week
L:3 T:1 Lab:4
Examination
Internal: 30 University Exam: 70
Practical: 50
Objectives
To teach the fundamental concepts of distributed programming, with particular emphasis on enterprise application development.
To introduce various distributed programming architectures and how to apply them.
To lean the importance of distributed computing and outline the factors to address when designing a distributed system.
Learning Outcomes
Upon completion of this course, students should be able to:
Understand the significance and basic concepts of distributed computing and Define technologies for distributed computing
Compare the different programming architectures used for distributed computing
Use JDBC, RMI and JavaIDL in applets and applications
Write a Servlet and JSP to take advantages distributed Technologies
Explain how object bus systems, publish-subscribe, and remote events function
Explain the basic concepts of JNDI , Java Transaction Service (JTS), and Java Message Service (JMS)
Pre-requisites
Object Oriented Programming with Java (J030109)
Database Management Theory (J030108)
Web Support Technologies (J030106)
Reference Books
Cay S. Horstmann and Gary Cornell ,Core Java-Volume-I, Sun Core Series, Eighth Edition, 2008
Java Server Programming, Worx Press
Mastering EJB, Rima Patel Sriganesh, Gerald Brose, and Micah Silverman, Wiley Publications
Syllabus
Lec. Num
Unit Title
Details
Socket Programming
Concept of Socket and Port, Understanding the classes from java.net package
Relation between Socket, Input Stream and Output Stream, Writing an Echo Server
Using ServerSocket and Socket, Writing a Server to handle single client. GreetServer and Others
Writing Multithreaded Server to handle Multiple clients.
Using Object Streams with Sockets.
Java Database Connectivity
Concept and need of JDBC API, Types of JDBC Drivers
Writing a simple JDBC program
Types of Statements and using all that statements
Types of Result Set
Database access via sockets
Servlet and JSP
What is a Servlet? Why Servlet? Writing a Compiling a first Servlet, Understanding Tomcat: Tomcat directory structure, Structure of web.xml file
Configuring and running a first Servlet, Servlet Life cycle, retrieving the parameters sent by user with request
Writing thread safe Servlet, Servlet and Cookies
Using Servlet Config and Servlet Context
Writing controller Servlet, getting and using Request Dispatcher
Using JDBC in Servlet
Session management using Servlet API.
Introduction to JSP, Understanding JSP architecture and life cycle of JSP-Servlet, Implicit Objects
Using Scriplets, Page and Include directives
JSP Standard actions-I
JSP Standard actions-II
Introduction to Using Tag libraries
Lec. Num
Unit Title
Details
RMI and CORBA
Understanding RMI Architecture, Wring Remote Interface and Implementing it.
Using rmic (RMI Compiler), using RMI registry, Writing and executing a RMI Client.
Understanding the working of client, JNDI and Naming class
CORBA introduction and Architecture
Anatomy of a CORBA-based application, CORBA vs. RMI
CORBA IDL: The interface definition language
IDL to Java Mapping, Writing a Simple CORBA Server
Naming, Binding registering and activating objects
Understanding using a tools to implement CORBA (Caffeine, Orbix)
Introduction to Mobile Agents and Voyager
Concept of Software Agents, Mobile Agent
Mobile agent applications, security in Mobile agents
Getting Started with Voyager
Programming with Mobile Agents
Introduction Enterprise Java Beans
Introduction to Enterprise JavaBeans
Session Beans, Writing, deploying and using stateless session bean, lifecycle of stateless bean
Need of Stateful Session Bean, Writing, deploying and using stateful session bean, lifecycle of stateless bean
Understanding Message Driven Beans
Need of Entity Bean, Persistence Mechanisms - BMP, CMP, Local and Home Interfaces, Entity Bean Implementation
deploying and using, Entity Bean Lifecycle and Lifecycle Methods, Entity Vs Session Bean
Understanding Container Managed Persistence (CMP)
Using Java Persistence API-I
Using Java Persistence API-II
SEMESTER-V
Subject Code
J030333
Title
Software Project Management and Software Testing
Work Load Per Week
L:3 T: 1 Lab:4
Examinations
Int: 30 Univ: 70 Practical : 50
Objectives
To provide basic project management skills with a strong emphasis on issues and problems associated with delivering successful IT projects and how the software is tested using various techniques to improve the quality of software. This course is designed to provide an understanding of the particular issues encountered in handling IT projects and to offer students methods , techniques and 'hands-on' experience in dealing with them.
Learning Outcomes
Understand and practice the process of project management and its application in delivering successful IT projects;
Evaluate a project to develop the scope of work, provide accurate cost estimates and to plan the various activities;
Identify the resources required for a project and to produce a work plan and resource schedule;
Understand diff. types of testing and how it is conducted.
Practice the automated tools available for testing.
Pre-requisites
Text Book(s)
A) Information Technology Project Management” Kathy schwalbe, International student edition, THOMSON course Technology, 2003
B) “Software project management”Bob hughes and Mike cotterell,Third edition, Tata McGraw-Hill
C) “Microsoft office Project 2003 Bible”, Elaine Marmel,Wiley publishing Inc.
Syllabus
Lec.
Num.
Unit Title
Details
Learning Resources
1
Introduction to project management
Project , project management, Importance
A 1 -11 or B 1-4
2
Characteristics of project how software projects are diff. than other projects, Problems with software projects
B 8 -10
Lec.
Num.
Unit Title
Details
Learning Resources
3
Phases of project life cycle
Initiation phase, planning phase, execution phase, monitoring and controlling phase, closing phase.
B 4 -7 or A 22 -24
4
The stakeholder of project
All parties involved in project, Role of Project Manager
A 1 -12 , 35 -37
5
Project management framework
A 7 -9, 38 – 41
6
Software tool for project management
C 21- 41
7
Project planning
Integration management :What is integration management, plan development and execution
A 50 – 70
8
scope management
What is scope management, methods for selecting project, scope statement, Work Breakdown Structure
A 76 – 87
9
Stepwise project planning
Overview, main steps in Project planning: identify project scope and objective, identify project infrastructure, analyze project characteristics, identify project products and activities, estimate effort for each activity , identify risk activity, allocate resources, review plan, execute plan.
B 18 -35
10
Use of software(Microsoft Project) to assist in project planning activities
C 43 – 77
11
Project scheduling
Time management: importance of Project schedules, schedules and activities, sequencing and scheduling activities
A 109 – 114
B 104 -106
12
project network diagram
Network Planning models, duration estimation and schedule development
A 114 -128
13
Critical path analysis
A 122 -127
B 118 – 123
14
PERT
A 127 -131
15
Use of software( Microsoft project) to assist in project scheduling
C 79 – 116
16
Project cost management
Importance and principles of project cost management
A 144 -147
B 81 -84
17
Resource planning
A 148- 149
Lec.
Num.
Unit Title
Details
Learning Resources
18
Cost estimating
Attributes to be considered in cost estimation, factors effecting the cost, various costs involved in it.
A 149 -157
B 85 -87
19
Cost estimation methods
Traditional method: Estimation by analogy, Expert judgment, Parkinson, price to win, top down, bottom up.
Hand out
20
COCOMO Model
21
Function point analysis
22
Cost budgeting
A 157 -159
23
Cost control
A 159 -167
24
Use of software( Microsoft project) to assist in cost management
C 117 – 147
25
Project quality management
Quality of information technology project
A 175- 179
26
Stages of software quality management
A 183 -187
27
PMBOK, Quality standards
B 234- 236, 240 -244
28
Tools and techniques for quality control
B 187-196, 237-238
29
Project risk management
The importance, Top risk in projects
A 273 – 275, Hand out
30
Common sources of risk in IT projects, elements in risk mgt.
A 276 – 278, 134 – 138
31
Risk identification
A 279-280
B 139 – 141
32
Risk quantification
A 280 – 286
B 142 – 156
33
Risk response development and control
A 286 – 288
34
Using software to assist in project risk management
Hand out
35
Fundamentals of Testing
Fundamentals of Software quality, quality views, People challenges in testing
Hand out
36
Principles of Verification and validation, Techniques of verification
Hand out
37
V model
Hand out
38
Testing process
Hand out
39
Unit testing
Hand out
Lec.
Num.
Unit Title
Details
Learning Resources
40
Integration testing
Hand out
41
System Testing and Acceptance testing
Hand out
42
Testing new product versions
Hand out
43
Testing planning: test plan, test plan template, risk analysis
Hand out
44
Test Design, good test case, test case template, test case mistakes
Hand out
45
Testing Execution: objectives, execution considerations, test execution activities, executing test
Hand out
46
Defect management: what is defect, defect life cycle, defect management process
Hand out
47
Test Metrics: purpose, characteristics of good metrics, metrics
Hand out
48
Functional testing tools
Hand out
49
Unit testing tools
Hand out
50
Test management tools
Hand out
Share with your friends:
The database is protected by copyright ©ininet.org 2024
send message