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

Enterprise Cargo Management System (ECMS)

  • Upload
    nile

  • View
    68

  • Download
    1

Embed Size (px)

DESCRIPTION

Enterprise Cargo Management System (ECMS). SE18S07. I work as IT specialist at IBM. I am the ‘service provider’ of ECMS. I service my team, my principle is quality service on demand and on time. Project Members. - PowerPoint PPT Presentation

Citation preview

Slide 1

Enterprise Cargo Management System(ECMS)SE18S07Metric NoName A0006361U AYE THET MON A0065958L NG SIEW LENG A0065772X PRAGATIA0019692X TIN LAI WAI A0065741E VARUN TAK A0065913A ZHANG SHUDONG1Project MembersISS SE18T7S2

I work as Software Engineer at IBM. I am the translator of ECMS.I work as System Analyst at Starhub. I am the transformer, the Bumble Bee, of ECMS.I work as IT specialist at IBM. I am the service provider of ECMS. I service my team, my principle is quality service on demand and on time.I work as Senior SW engineer at ST Electronics Satcom. I am the integrator of ECMS.I am a homemaker soon to start job hunting. I am a general busy body of ECMS.I work as Development Engineer at Rohde&Schwarz. I am the UHU glue of ECMS .AgendaProject Background and Requirements OverviewProject Plan and Development ApproachRequirement AnalysisGlobal Use Case DiagramAnalysis Use CaseSoftware ArchitectureSoftware ArchitectureTransition StrategyTechnical ChallengesDemoQuality Assurance PracticesProject Schedule & EffortLesson LearntQ&A

3ISS SE18T7S3Project Background and Requirements OverviewISS SE18T7S44Project BackgroundOur client, WWW Cargo Pte Ltd, is a private company offering a one-stop total logistics packageThe new system is expected to ease their daily operations which is currently very much manual in nature, to a large extent.ECMS spans across the following business functions in WWW Cargo for work automation:Marketing DepartmentCustomer Service DepartmentOperations Department

ISS SE18T7S5

5Requirements 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

ISS SE18T7S66Project PlanISS SE18T7S7Project PlanISS SE18T7S8

Project Risks and ChallengesProject RisksMitigation PlanTeam member commitmentKeep a back-up for each key resource.Lack of Domain Knowledge.Conduct more meeting sessions with user or stake holders to understand the requirement.Prepare a prototype.Resource overload due to small team size of 6 member, who are committed for 88 man-day for the projectBi-weekly progress meeting to closely monitor team member progress and workload to ensure no overload and even distribution of workloadAllocate backup person for each roleDefects in open source software componentsAdopt well known and stable open source components.ISS SE18T7S9Development 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. 10ISS SE18T7S10Project Development ApproachRequirementGathering, UI Prototype andAnalysisExperimental Reference application developmentDesign andDevelopmentOf Use CasesEntity and DAO ImplementationImprovement And updates in Reference AppContinuousIntegration andTest11ISS SE18T7S11Requirement Analysis and DesignISS SE18T7S12Global use case diagram ISS SE18T7S13

ISS SE18T7S14

ISS SE18T7S15

ISS SE18T7S16Analysis Use Case Maintain Air Freight Job Records (Update)ISS SE18T7S17

ISS SE18T7S18Analysis Use Case Maintain Air Freight Job Records (Delete)

ISS SE18T7S19Software ArchitectureISS SE18T7S2020

21ISS SE18T7S21Software 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 2ISS SE18T7S2222Dual layer MVC architecture

ISS SE18T7S2323UI Layer Data Package

ISS SE18T7S2424Response with JSON form of ObjectsResponse with JAVA type of ObjectsThird Party Library org.JSONJSON ParserExtJS 4.x AJAX Request/ResponseSpring MVC 3.xJAVA ObjectsExtJS 4.xJSONXMLHttpRequestHttpRequestJSON Parsing12345ISS SE18T7S2525Following 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.

ISS SE18T7S2626Spring MVC Architectural View

ISS SE18T7S27Servlet ContainerFront Controller(DispatcherServlet) User Defined Controller (handleRequest())View Template (JSTL/PDF/XLS)Response with ModelRequestRender responseReturnRequestResponse27Data Base Layer

ISS SE18T7S2828Spring SecuritySecurity ContextAuthentication ObjectWebAuthenticationDetails ObjectUserAuthority29Versioning to control Concurrent updatesRequestContextHolderRequestSessionVersionVersionDAOECMS DB30Transition StrategyISS SE18T7S3131Transition Strategy - User Interface LayerISS SE18T7S3232Static Structure (1)

ISS SE18T7S3333Static Structure (2)

ISS SE18T7S3434Dynamic Structure

ISS SE18T7S3535Asynchronous calls to server

ISS SE18T7S3636

Communication Between UI and Service LayerISS SE18T7S3737Transition Strategy- Service LayerISS SE18T7S3838Static Structure

ISS SE18T7S3939Dynamic Structure

ISS SE18T7S4040Transition Strategy-Persistence LayerISS SE18T7S4141Static Structure

ISS SE18T7S4242Dynamic Structure

ISS SE18T7S4343Deployment Structure

ISS SE18T7S4444Technical ChallengesISS SE18T7S45Technical Challenges and MitigationTechnical ChallengesMitigation MethodNovelty of Technology (ExtJS 4.0) at UI LevelExtJS documentation studied and referenced Prototype developed for a main use caseWiki pages were used to share the knowledge within the team.www.code.google.com/p/iss2011s7/w/listJSON Parser issues - JSON Parser was not able to parse the null value objects directlyNull values are replaced with empty string before it transmitted from server to UI layer.

Handling of complex objects at the UI Layer (Ext JS 4.0)Pattern of complex object handling researched and mapping handled at the UI layer.Communication and parsing of Complex object from UI to Service LayerAdditional transfer objects were used to do the communicationLazy Fetching of Data from databaseLazy 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.

ISS SE18T7S46Race 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.47ISS SE18T7S47Race Conditions-Problem

Race condition here

Result with no updates48ISS SE18T7S48Race Conditions-Solution

After request event fired

49ISS SE18T7S49DemoLink to DemoISS SE18T7S50Quality Assurance PracticesISS SE18T7S5151Quality PlanPrepared and approved at the beginning of projectSoft filing system approach followed. Filing location Google Project - ISS2011S7Location - https://iss2011s7.googlecode.com/svn/trunk/DocumentsISS SE18T7S5252Peer ReviewInspection review of documents planned - useful tool to remove defects and identify potential improvements using the diversity and power of the group. 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. ISS SE18T7S5353Software 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 ReleaseISS SE18T7S5454Testing 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. Test Case Reference no indicated in the issue raised, so that developer can recreate the steps to duplicate the issue.

ISS SE18T7S5555Testing MetricsTest Case Execution Rate = 75%

Test Run (V0.1 0.5)

Test Case Execution Rate = 95%Test Run (V0.6)

ISS SE18T7S5656Acceptance 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 Minor13Total22ISS SE18T7S5757Project Schedule & Effort- Plan Vs ActualISS SE18T7S5858Project Schedule (Plan Vs Actual)ISS SE18T7S59

ISS SE18T7S6060ISS SE18T7S61Phase 1 Planning & Requirement Scoping (29th Jan 2011 8th April 2011)

61

ISS SE18T7S6262ISS SE18T7S63Phase 2 Requirement Analysis & High Level Design (9th April 2011 19th August 2011)

63

ISS SE18T7S6464ISS SE18T7S65Phase 3 Detailed Design, Implementation till Delivery (20th August 2011 Feb 2012)

65Lessons LearntISS SE18T7S6666Lessons LearntConsistent project tracking is key to meeting deadlinesIdentify slippages early and allow prompt action for resolution

Optimization of resources and individual team members strengthDeployment of right people for right taskSwapping of roles in phase 3

Enriching learning journey on technology (for eg: communication and parsing of complex objects from UI to service layer, JSON parser cant parse object with null values)

Driven by necessity (small team with big system) to 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

ISS SE18T7S6767Our Warriors !

ISS SE18T7S68System Administrator