CS 532(Mid-Term)- Project Presentation Team Name – Sprightly Team Members- Varun Kumar (Student...

Post on 29-Jan-2016

215 views 1 download

Transcript of CS 532(Mid-Term)- Project Presentation Team Name – Sprightly Team Members- Varun Kumar (Student...

CS 532(Mid-Term)- Project Presentation Team Name – Sprightly

Team Members- Varun Kumar (Student id: 102211) Sowmya Gopisetty (Student id: 102219) Avneet Dhanoa

Project Introduction Enterprise Application Management (EAM)

is a web based application for project management using Agile methodology

Project Vision, Scope and Agile Methodology:

What is Agile Methodology:

Manifesto for Agile Software Development“We are uncovering better ways of developing

software by doing it and helping others do it.Through this work we have come to value:

Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more”.

-- http://www.agilemanifesto.org

Project Team and Responsibilities Varun Kumar – Project Manager and

Database Administrator

Avneet Dhanoa – Developer and Designer

Sowmya Gopisetty – Developer and

Project Coordinator

Stake Holders Clients Developers Database Administrators Future Associates Website visitors and users

∙ Highest priorities first

₋ Implement highest priorities to acceptance

∙ Time-boxed development

₋ Establish a heartbeat through standup meetings, short iterations andincremental releases∙ Just in time elaboration of requirements

₋ Maximize work not done by avoiding unnecessary inventory

₋ Plan, design, build, test and review

∙ Pull quality forward

₋ Reduce technical debt by building in quality early in the lifecycle

∙ Collaborate, inspect and adapt

₋ Visibility, reviews, demonstrations, retrospectives

Key Agile Principles

Product Features

Features are high-level expressions of desired system or product behavior. They are easily expressed in natural language often from the end user perspective.

Gathered from the stake holders to represent user, customer and business functionality

Support the high level product vision, planning, and scoping

Acts as a placeholder for a later elaboration They are documented in EAM with user Stories

Define Stories

Elaborate Stories –Adding Detail

∙Add more detail to Story ₋Description, ₋Rank ₋Priority ₋Risk ₋Estimate ₋Owner

Process Flow Diagram

Use Case Diagrams

Actor1

Login

Sucess Login

Fail Login

-End1

*

-End2

*

-End3

*-End4

*

-End5

*

-End6

*

Story

Update story

Delete story

Add Task

Actor2

-End7

*

-End8

*

-End9

*

-End10

*

-End11

*

-End12

*

-End13

*

-End14

*

Actor3

Story

Create task

Update task

Delete task

Create story

-End15*

-End16*

-End17

*

-End18

*

-End19

*

-End20

*

-End21

*

-End22

*

-End23

*

-End24

*

Sequence Diagram

Registarion

Login

Create Story

Create Task

Iteration

Create Task

Start Story

Start Task

Close Task

Close Story

Complete Iteration

Close Story

Log off

Requirements Summary Activities

Requirements Summary Activities

•Filtering and Sorting•Rich Text Fields: hyperlinks and images•In-line add •Multi-edit•Bulk Changes•CSV import and export•Attachments

User Story Summary Page

The Backlog

The Backlog is a collection of requirements • Product Backlog• Release Backlog• Iteration Backlog

Types of Work Products• Stories• Defects• Defects Suites• Test Cases

Technology and Environment

Technology

Java J2EE, JSF, MyFaces, RichFaces Spring framework, Hibernate(JPA), AJAX, XHTML, Javascript CSS

Environment Eclipse 3.2 MYSQL5.1. and XAMP Tomcat 6.1 Google Code SVN repository. Windows XP

Methodology Agile SCRUM

Java and J2EE Technology J2EE is a platform-independent, Java-centric

environment for developing, building and deploying Web-based enterprise applications online.J2EE includes many components of the Java Standard Edition (J2SE).The J2EE platform consists of a set of services, APIs, and protocols that provide the functionality for developing multitiered, Web-based applications.

Development Language

Java is a technology that allows software designed and written just once for an idealized "virtual machine" to run on a variety of real computers, including Windows PCs, Macintoshes, and Unix computers. On the web, Java is quite popular on web servers, used "under the hood" by many of the largest interactive websites. Here it serves the same role that PHP, ASP or Perl might, although traditionally Java has been used for larger-scale projects.

Advantages

Portable Highly Secured Object oriented Automatic memory management Java is distributed Robust Multithreaded

Spring frameworkAdvantages Layered architecture. Spring Enables POJO Programming, POJO programming enables continuous integration and

testability. Dependency Injection and Inversion of Control Simplifies JDBC Open source and no vendor lock-in

Spring Framework

Features Lightweight Inversion of control (IOC) Loose coupling is achieved in spring using the

technique Inversion of Control Aspect oriented (AOP) MVC Framework Spring MVC web application framework, built support

JSP, Velocity, Tiles, iText, and POI. Transaction Management JDBC Exception Handling

JSF and Spring MVCAdvantages JavaServer Faces architecture makes it easy for the developers

to use. In JavaServer Faces technology, user interfaces can be created easily with its built-in UI component library, which handles most of the complexities of user interface management.

Offers a clean separation between behavior and presentation. Provides a rich architecture for managing component state,

processing component data, validating user input, and handling events

Hibernate (JPA)

Advantages

Improved productivity High-level object-oriented API Less Java code to write No SQL to write

Improved performance Sophisticated caching Lazy loading Eager loading

Improved maintainability A lot less code to write

Questions ?