580 likes | 911 Views
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.
E N D
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 I work as System Analyst at Starhub. I am the transformer, the Bumble Bee, of ECMS. 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 Software Engineer at IBM. I am the translator of ECMS. I work as Development Engineer at Rohde&Schwarz. I am the UHU glue of ECMS . ISS SE18T7S
Project Background and Requirements Overview Project Plan and Development Approach Requirement Analysis Global Use Case Diagram Analysis Use Case Software Architecture Software Architecture Transition Strategy Technical Challenges Demo Quality Assurance Practices Project Schedule & Effort Lesson Learnt Q&A Agenda ISS SE18T7S
Project Background and Requirements Overview ISS SE18T7S
Project Background • Our client, WWW Cargo Pte Ltd, is a private company offering a one-stop total logistics package • The 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 Department • Customer Service Department • Operations Department ISS SE18T7S
Requirements Overview • Customer Profile Management (Marketing Staff) • Maintain customers’ profiles with their supplier information. • Agent Profile Management (Marketing Staff) • Maintain agents’ profiles with the branch details • Shipment Tracking Management (Customer Service Staff) • Track shipment by creating new shipment, updating shipment status with email notification feature • Sea & Air Import Document Processing (Operation Staff) • Maintain air & sea import jobs and generate all the necessary documents as required. • User Administration • Maintain list of user accounts with their user name, password and access rights, allow change of password ISS SE18T7S
Project Plan ISS SE18T7S
Project Plan ISS SE18T7S
Project Development Approach Requirement Gathering, UI Prototype and Analysis Continuous Integration and Test Entity and DAO Implementation Design and Development Of Use Cases Experimental Reference application development Improvement And updates in Reference App ISS SE18T7S
Requirement Analysis and Design ISS SE18T7S
Global use case diagram ISS SE18T7S
Analysis Use Case Maintain Air Freight Job Records (Update) ISS SE18T7S
Software Architecture ISS SE18T7S
Software Components ISS SE18T7S
Dual layer MVC architecture ISS SE18T7S
Third Party Library org.JSON JSON Parser Spring MVC 3.x ExtJS 4.x JSON JAVA Objects XMLHttpRequest HttpRequest Response with JSON form of Objects ExtJS 4.x AJAX Request/Response Response with JAVA type of Objects JSON Parsing 3 1 2 5 4 ISS SE18T7S
Servlet Container Request User Defined Controller (handleRequest()) Request Front Controller (DispatcherServlet) Response with Model Response Render response Return View Template (JSTL/PDF/XLS) Spring MVC Architectural View ISS SE18T7S
Data Base Layer ISS SE18T7S
Spring Security Security Context Authentication Object Authority WebAuthenticationDetails Object User
Versioning to control Concurrent updates RequestContextHolder Request Session Version ECMS DB DAO Version
Transition Strategy ISS SE18T7S
Transition Strategy- User Interface Layer ISS SE18T7S
Static Structure (1) ISS SE18T7S
Static Structure (2) ISS SE18T7S
Dynamic Structure ISS SE18T7S
Asynchronous calls to server ISS SE18T7S
Communication Between UI and Service Layer ISS SE18T7S
Transition Strategy- Service Layer ISS SE18T7S
Static Structure ISS SE18T7S
Dynamic Structure ISS SE18T7S
Transition Strategy-Persistence Layer ISS SE18T7S
Static Structure ISS SE18T7S
Dynamic Structure ISS SE18T7S
Deployment Structure ISS SE18T7S
Technical Challenges ISS SE18T7S
Technical Challenges and Mitigation ISS SE18T7S
Race Conditions-Problem Result with no updates Race condition here ISS SE18T7S
Race Conditions-Solution ISS SE18T7S After request event fired
Demo Link to Demo ISS SE18T7S
Quality Assurance Practices ISS SE18T7S
Quality Plan • Prepared and approved at the beginning of project • Soft filing system approach followed. Filing location – • Google Project - ISS2011S7 • Location - https://iss2011s7.googlecode.com/svn/trunk/Documents ISS SE18T7S
Software Configuration Management • Simple 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 testing • Last test run done on fully integrated system. ISS SE18T7S
Testing Strategy and Practices • Test 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 automatically • Issue 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 SE18T7S
Testing Metrics • Test Case Execution Rate = 95% • Test Case Execution Rate = 75% • Test Run (V0.6) • Test Run (V0.1 – 0.5) ISS SE18T7S
Acceptance Procedure • User 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. ISS SE18T7S
Project Schedule & Effort- Plan Vs Actual ISS SE18T7S