49
ECMS Phase 2 Presentation Team S07 Metric No Name A0006361U AYE THET MON A0065958L NG SIEW LENG A0065772X PRAGATI A0019692X TIN LAI WAI A0065741E VARUN TAK

Team S07 Metric NoName A0006361U AYE THET MON A0065958L NG SIEW LENG A0065772X PRAGATI A0019692X TIN LAI WAI A0065741E VARUN TAK A0065913A ZHANG SHUDONG

Embed Size (px)

Citation preview

ECMS Phase 2 Presentation

ECMS Phase 2 PresentationTeam S07Metric NoName A0006361U AYE THET MON A0065958L NG SIEW LENG A0065772X PRAGATIA0019692X TIN LAI WAI A0065741E VARUN TAK A0065913A ZHANG SHUDONG1AgendaScope of projectGlobal use case diagram Analysis use cases High Level design (Software Architecture)Prototype stage challengesTechnical risks and MitigationTransition strategy Progress TrackingPlans for implementation phaseChange RequestsQuestion and Answers2Scope of Project3Customer Profile Management (Marketing Staff)Maintain customers profiles with their supplier information. Agent Profile Management (Marketing Staff)Maintain agents profiles with the branch detailsShipment Tracking Management (Customer Service Staff)Track shipment by creating new shipment, updating shipment status with email notification featureSea & Air Import Document Processing (Operation Staff)Maintain air & sea import jobs and generate all the necessary documents as required.Business Reporting (Operation Staff)User Administration4Global use case diagram 5

6Analysis Use Case #1Maintain Air Freight Job Records (Add)7

8Analysis Use Case #1Maintain Air Freight Job Records (Update)9

10Analysis Use Case #1Maintain Air Freight Job Records (Delete)11Analysis Use Case Maintain Air Freight Job Records (Delete)

12Analysis Use Case #2 Search Customer Profile13

14Software Architecture15Architectural changes and motivations behind the changesSNoChangeMotivation1Traditional user interface approach dropped and adopted Rich User InterfaceCustomer requirement of having enhanced UI with less number of steps to perform an operations.Intuitive UI.Non-Blocking UI experience.

2EJB centric approach has dropped, and Web centric approach adopted.

Support to Rich UI framework, which does most of the processing by using client resources such as browser cache and client machine processor which doesnt need the container to manage heavy EJBInstead an efficient and light weight container required to service Rich UI components16High Level design - Software Architecture

17Software ComponentsThird party Software Component and librariesVendorLicenseJDK/ JREOracleSun License (most of it also under GPL)Spring Framework 3.0Spring SourceSpring libraries are licensed under the terms of the Apache License, Version 2.0.Ext JS 4.0SenchaExtJs 4.0 is available in dual licensing scheme; however, we have used it under the licensing terms of GNU GPL license v3.Hibernate CoreJBOSS CommunityThe GNU Lesser General Public License version 2.1 (LGPLv2.1)Tomcat 7.0ApacheApache Tomcat is developed under the Apache License version 218Dual layer MVC architecture

19UI Layer Data Package

20JSON Parsing

1234521Following are key features of Spring framework, which ECMS application enjoys:Annotation Driven Architecture.IOC or Dependency Injection by its Component Scanning mechanism, which saves the time for instantiation of user objects.Decoupling between Dispatcher and Mapping and View resolving mechanism.Aspect Oriented Programming modelSpring in-built role based security.

22Spring MVC Architectural View

23Data Base Layer

24Prototype Stage Challenges25Prototype challenges (1)SnoChallengesAction Performed /Solutions1To reduce the number of steps taken to complete a user operationRequirement of having many CRUD operation with less number of steps, this is challenging to achieve if we proceed with a traditional approach of UI using HTML forms and pagesUsed Rich UI components from third party open source libraries with AJAX to provide enhanced user interface, which capable of operations without leaving a page2To reduce the latency time for a User actionFor non-blocking user experience of ECMS UI, it requires to reduce the latency time, which is time taken between data packets leaves and receive, from and by the client browser for given user commandAjax communication between UI and Service layer to meet this challenge26Prototype challenges (2)SnoChallengesAction Performed /Solutions

3Technological evolution (UI layer framework)Ext JS framework was revised in April 2011 from 3.x to 4.x which includes the MVC architecture. This change has required us to move to ExtJS 4.x and refactor the design at Client Tier to exhibit MVC architecture introduced in ExtJS 4.x.ExtJS 4.x documentation followed and revised the UI layer structure, integrated ExtJS 4.x together with ExtJS 3.x, to not to disturb existing modules.New features development with carry on using ExtJS 4.x , Ext3.x features shall be interchange with ExtJS4.x4Novelty of Technology Ext JS 4.x and Spring framework 3.x are new technologies which have recently released in 2011.An important use case prototyped. 27Technical Risks and Mitigation28SnoRiskRisk Mitigation1Integration of two new frameworks at different layers (ExtJS (UI) and Spring framework (Service)), where team has no prior experience.Integrating two frame works performed in steps, as two unknown frameworks required good time of study and analysis.UI layer integrated to the system with ExtJS framework, which communicates to the server using Servlet technology.Spring Controller accessed by JSP at front end.JSP interchanged with Java Script and Servlet interchanged with Spring MVC Controller to finally integrate both layer MVCs2Exchanging Objects between layersPrototyped by sending JSON from UI Layer to Server and transform to JAVA object at Service Layer and vice versa.29SnoRiskRisk Mitigation3Managing large number of records at UI Layer on general user queries (Risk realized proactively)Pagination Feature prototyped to mitigate the risk.Pagination component send Ajax request to get the limited number of records on Java Script loads.HibernateCallback implemented to get the limited number of records.4Boundary objects from analysis phase requires realization using Java Script ComponentsMain Job use case implemented using ExtJS and Spring MVC.30Transition StrategyUser Interface Layer31Static Structure (1)

32Static Structure (2)

33Dynamic Structure

34Asynchronous calls to server

35

Communication Between UI and Service Layer36Transition StrategyService Layer37Static Structure

38Dynamic Structure

39Transition StrategyPersistence Layer40Static Structure

41Dynamic Structure

42Deployment Structure

43Progress Tracking44

45Expended Effort Vs Budgeted Effort for Phase 2 Activities46Plan for Implementation Phase47

481 team member to handle data persistence layer and creation of common objects ~ to complete by 7th Oct

5 team member to handle detailed design spec (sequence diagram for 40+ use cases) in parellel ~ to complete by 7th Oct

1 team member (identified from above 5) to start working on system test plan by mid Sept, the rest continue with design spec

Upon completion of design spec, 1 team member released from development to work on user guide and acceptance test plan

Remaining 3 plus the database team member to start coding by 7th Oct, task allocation by use case basis.

Target to complete coding, unit testing, code reviews and system integration by 25th Nov

System testing preparation starts as early as 19th Nov, estimate to complete testing and test results logging by end Dec

Kick-start documenting end-of-project report by 22th Oct, estimate to take place throughout till end of project phase49Change Request50Change RequestsItemDescriptionType1Customer requests to add one new function to allow user to view the jobs in a particular month sorted by the sale person.New Requirement2During preparation of UCMS, the team feel that there are some implicit requirements which are not mentioned explicitly in the URS. However, they need to be delivered for a complete system.These implicit requirements are as follows:List all User Accounts Search User AccountEditing of sub-job/Deleting of sub-jobSearch Job RecordsSearch Customer Cargo Record to add to a new shipping tracking recordSearch Shipment Tracking RecordImplicit Requirement3Customer change request to move 'Import job from tracking function from Tracking Menu to Document Processing Menu.New Requirement51We are getting stronger nowBy overcoming obstacles encountered in phase 2:

Obstacle 1: Small team, Big SystemStrategy: Prototyping phase has produced a framework to help us in automating the dominating number of CRUD cases in the system

Obstacle 2: Relaxing project tracking during early phase 2 Strategy: Practiced close project tracking in meeting tighter deadlines nearer the endTeam power unleashed

Obstacle 3: Manpower shortage closer to deadline Strategy:Swapping of roles leading to discovery of better roles for team member

Key to MovE forward

52Questions and Answers53System Administrator