2010 mca syllabus



Download 2.13 Mb.
Page12/17
Date09.01.2017
Size2.13 Mb.
#8190
1   ...   9   10   11   12   13   14   15   16   17

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:

  1. Write and use requirement document (Use-Cases)

  2. Identify classes from given problem statements

  3. Use and design software blue prints using UML

  4. Identify design patterns to be required to implement for a given problem.

Pre-requisites

Object Oriented Programming with Java (J030109)

Software Engineering



Text Books

  1. UML Distilled, 3rd Edition, Martin Fowler

  2. Design Patterns Elements of Reusable Object-oriented Software- Erich Gama, Richjard Helm, Ralph Jonson and Jon Vlissides

Reference Book

  1. Applying UML and Patterns, Craig Larman

  2. Head First Design Patterns, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates

  3. 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

  1. Familiar with various models of computation and analyze the algorithm efficiency.

  2. Various types of data structures and its usage

  3. Use different algorithm patterns to solve problem

Pre-requisites

Any program language

Text Book(s)

  1. Data structures and Algorithms,

  2. 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

  1. To teach the fundamental concepts of distributed programming, with particular emphasis on enterprise application development.

  2. To introduce various distributed programming architectures and how to apply them.

  3. 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

  1. Cay S. Horstmann and Gary Cornell ,Core Java-Volume-I, Sun Core Series, Eighth Edition, 2008

  2. Java Server Programming, Worx Press

  3. 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


Download 2.13 Mb.

Share with your friends:
1   ...   9   10   11   12   13   14   15   16   17




The database is protected by copyright ©ininet.org 2024
send message

    Main page