se18s07 1iss se18t7s metric noname a0006361u aye thet mon a0065958l ng siew leng a0065772x pragati...

61
Enterprise Cargo Management System (ECMS) SE18S07 1 ISS SE18T7S Metric No Name A0006361U AYE THET MON A0065958L NG SIEW LENG A0065772X PRAGATI A0019692X TIN LAI WAI A0065741E VARUN TAK

Upload: lorin-todd

Post on 27-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Slide 1

Enterprise Cargo Management System(ECMS)SE18S071ISS SE18T7SMetric NoName A0006361U AYE THET MON A0065958L NG SIEW LENG A0065772X PRAGATIA0019692X TIN LAI WAI A0065741E VARUN TAK A0065913A ZHANG SHUDONG1AgendaProject BackgroundRequirements OverviewGlobal Use Case DiagramAnalysis Use CaseTechnical Risks and MitigationSoftware ArchitectureTransition StrategyQuality Assurance PracticesProject Schedule & EffortLesson LearntQ&A

2ISS SE18T7S2Project Background3Project BackgroundOur client, WWW Cargo Pte Ltd, is a private company offering a one-stop total logistics packageIt provides freight forwarding operations , customs brokerage, transportation & third party warehousing/distribution needsThe company management feels the urgency to bring the company operational efficiency to a next high level relying on enterprise IT systemSE18 Team 07 have taken up the opportunity to propose and implement the ECMS for WWW Cargo Pte Ltd to assist and automate its daily end-to-end business operations.The new system is expected to ease their daily operations which is currently very much manual in nature, to a large extent.ECMS will span across the following business functions in WWW Cargo for work automation:Marketing DepartmentCustomer Service DepartmentOperations Department

4Requirements Overview5Requirements OverviewCustomer 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.User AdministrationMaintain list of user accounts with their user name, password and access rights, allow change of password

6Global use case diagram

Analysis Use Case Maintain Air Freight Job Records (Add)

Analysis Use Case Maintain Air Freight Job Records (Delete)Analysis Use Case Maintain Air Freight Job Records (Delete)

Technical Risks and Mitigation13Race ConditionsDuring the coding, many race conditions are discovered, because of asynchronous nature of the requests.Among such scenarios the most encountered one is, when a code segment is in under UPDATE or CREATE operation, during this time sending a SELECT request for the same record within the same session is found to be a race condition.Above race condition identified, and resolved by using afterRequest event handle the SELECT request to update the UI Store.1414Race Conditions-Problem

Race condition here

Result with no updates1515Race Conditions-Solution

After request event fired

1616Technical ChallengesNovelty of technology at UI layer.ExtJS 4.0 released in April 2011, hence not a mature online contents to study the technology.ExtJS documentation studied and referenced.Wiki pages were used to share the knowledge within the team.www.code.google.com/p/iss2011s7/w/listJSON Parser wasn't able to parse, if object properties contain null valuesWork around Null values are replaced with empty string before it transmitted from server to UI layer.Long term fix strategyJSON Parser to be fixed.

1717Technical ChallengesHandling complex objects at UI Layer (ExtJS)Mapping between objectsCommunication and parsing of Complex object from UI to Service Layer.Additional Transfer Objects used to communicate.Lazy Fetching Lazy fetching was not able to achieve because of JSON Parser limitation of unable to handle null values, where lazy fetching operations are tend to contain null values for contained complex objects.

1818Development ApproachA reference model developed for an important use case (Air Job) including UI widgets, controllers, services and DAOs.After full requirement analysis Entities and DAO layer interfaces are finalized, and implemented.Individual was assigned use cases to construct both UI components and Service components. 1919Flow of Development ActivitiesRequirementGathering, UI Prototype andAnalysisExperimental Reference application developmentDesign andDevelopmentOf Use CasesEntity and DAO ImplementationImprovement And updates in Reference AppContinuousIntegration andTest2020Software Architecture21

2222Software 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 223Dual layer MVC architecture

24UI Layer Data Package

25JSON Parsing

1234526Following 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.

27Spring MVC Architectural View

28Data Base Layer

29Transition Strategy30Transition 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

43Quality Assurance Practices44Quality PlanPrepared and approved at the beginning of projectSoft filing system approach followed. Filing location Google Project - ISS2011S7Location - https://iss2011s7.googlecode.com/svn/trunk/Documents45Document Review ProcedureReview of documents done as per the schedule in the project plan. Review Forms used to capture the defects found in the documentation. Approval to the document given after the changes requested in the review form were made and verified by an assigned reviewer. 46Software Configuration ManagementSimple Configuration Management system for code implementation was selected. Main Features All development changes done on main trunk. Feature by feature tagged and released for system testingLast test run done on fully integrated system. Tag VersionFeatures0.1Air Documents Processing0.2Sea Documents Processing0.3Customer Profile Management0.4Agent Profile Management + User Administration0.5Shipment Tracking Management0.6Full integrated system 1.0Initial Release47Testing Strategy and PracticesTest plan and cases created and approved after internal review. Issues found during system testing logged using Issue Tracker (corrective actions). Issues notified to the developer automaticallyIssue fixes notified to tester on change of status by developer so that retesting can be done.

48Testing Strategy and Practices (contd)Test Case Reference no indicated in the issue raised, so that developer can recreate the steps to duplicate the issue.

49Testing MetricsTest Coverage = 75%

Test Run (V0.1 0.5)

Test Coverage = 95%Test Run (V0.6)

50Acceptance ProcedureUser invited to do the multiple round of acceptance testing. First Round focus on functionality testing (completed)Second Round focus on non-functionality requirements (ongoing)Feedbacks given in the first round of acceptance testing gave us following metrics

Based on the functionality handled, user has accepted the new software, and the system will be deployed and supported by us for the next 2 months. SeverityNo of Open PointsCritical / Severe0High / Major0Medium / Minor8Low / Very Minor13Total2251Project Schedule & Effort- Plan Vs Actual52Phase 1 Planning & Requirement Scoping29th Jan 2011 8th April 201153

5455Phase 2 Requirement Analysis & High Level Design29th Jan 2011 8th April 201156Phase 3 Implementation till Delivery

5758Phase 3 Detailed Design, Implementation till Delivery20th August 2011 Feb 201259

6061Lessons Learnt62Lessons LearntNumerous discoveries on technology (for eg: communication and parsing of complex objects from UI to service layer, JSON parser cant parse object with null values)

Constantly looking for reuse throughout all phasesImplementation phase make use of prototyping in design phase to produce technical framework for automation of CRUD use case implementationAnalysis & Testing - produce use case analysis and test case for one set CRUD and to be referenced for the remaining - key to small team with big system

Consistent project tracking is key to meeting deadlinesIdentify slippages early and allow prompt action for resolution

Deployment of right people for right taskSwapping of roles in phase 3

63System Administrator