CS 532(Mid-Term)- Project Presentation Team Name – Sprightly Team Members- Varun Kumar (Student id: ) Sowmya Gopisetty (Student id: ) 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 on the right, we value the items on the left more”. --
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 and incremental 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
Sequence Diagram
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 framework Advantages 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 MVC Advantages 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 ?