Upload
jasmine-warren
View
216
Download
2
Embed Size (px)
Citation preview
Integrated Case StudiesIntegrated Case StudiesComputing for Real-time Computing for Real-time
SystemsSystems
University of the West of EnglandUniversity of the West of England
IntroductionIntroduction• About UsAbout Us
• Company OverviewCompany Overview
• QA and the Project Life CycleQA and the Project Life Cycle
• Case Study 1Case Study 1
• Case Study 2Case Study 2
• Lessons to be LearntLessons to be Learnt
About UsAbout Us
• Senior Software Senior Software EngineerEngineer
• 11 Years with MPC11 Years with MPC• Chief Head HunterChief Head Hunter
• Adrian StevensAdrian Stevens
About UsAbout Us
• Software EngineerSoftware Engineer• 2 ½ Years with 2 ½ Years with
MPCMPC• Local BSc Local BSc
Graduate in Graduate in Computer ScienceComputer Science
• John GossJohn Goss
What We DoWhat We Do
““Creative software solutions for Creative software solutions for product development and technical product development and technical
business problems”business problems”
Company OverviewCompany Overview• High Quality Software SolutionsHigh Quality Software Solutions
• Strong Business FocusStrong Business Focus
• Founded in 1984Founded in 1984
• 40 Employees40 Employees
Market SectorsMarket Sectors• Silicon DevelopersSilicon Developers
• TelecommunicationsTelecommunications
• Digital TV/MediaDigital TV/Media
• Cellular/MobileCellular/Mobile
ServicesServices• AnalysisAnalysis
• DesignDesign
• DevelopmentDevelopment
• SupportSupport
• ManagementManagement
Quality ProceduresQuality Procedures• QuoteQuote• Quality PlanQuality Plan• Project PlanProject Plan• Functional SpecificationFunctional Specification• Software DesignSoftware Design• Write the Code!Write the Code!• Test PlanTest Plan• TestingTesting• ReleaseRelease
ISO-9001: 2000ISO-9001: 2000• MPC was recently auditedMPC was recently audited
• Received recommendation for Received recommendation for certification for ISO-9001: 2000certification for ISO-9001: 2000
Case StudiesCase Studies• Project BackgroundProject Background
• Product FeaturesProduct Features
• MPC Data’s RoleMPC Data’s Role
• Project StatisticsProject Statistics
• AnalysisAnalysis
• ConclusionConclusion
Project BackgroundProject Background• Marine RadioMarine Radio
• Sends and receives emergency Sends and receives emergency distress signalsdistress signals
• Other calls to marine craft and coast Other calls to marine craft and coast stationstation
• DSC (Digital Selective DSC (Digital Selective Communications)Communications)
• Complex globally ratified standardsComplex globally ratified standards
Further InformationFurther Information• Very competitive fieldVery competitive field
• Prototype demonstrated at the Prototype demonstrated at the Southampton Boat Show October Southampton Boat Show October 20022002
• Due for launch soonDue for launch soon
Product FeaturesProduct Features• Fully operated anywhere on the shipFully operated anywhere on the ship• Multiple HandsetsMultiple Handsets
• MicrophoneMicrophone• SpeakerSpeaker• KeypadKeypad• LCDLCD
• Intercom UnitsIntercom Units• Fully integrated with other Marine Fully integrated with other Marine
InstrumentsInstruments• NMEA 0183 StandardNMEA 0183 Standard• e.g. Chart Plotters, GPS Devicese.g. Chart Plotters, GPS Devices
MPC Data’s RoleMPC Data’s Role• Mitsubishi M16C ProcessorMitsubishi M16C Processor
• Written in C and AssemblerWritten in C and Assembler
• All Embedded SoftwareAll Embedded Software• Operating SystemOperating System• Low Level Device DriversLow Level Device Drivers• Handset CommsHandset Comms• Audio Path SwitchingAudio Path Switching• Comprehensive User InterfaceComprehensive User Interface
Project StatisticsProject Statistics• Memory consumption:Memory consumption:
ROM: 105K/128K bytesROM: 105K/128K bytes
RAM: 4.3K/5K bytesRAM: 4.3K/5K bytes
NVM: 2.7K/16K bytes NVM: 2.7K/16K bytes
• Source code:Source code:C files: 66C files: 66
H files: 61H files: 61
ASM files: 1ASM files: 1
Make files: 1Make files: 1
Project StatisticsProject Statistics• Team Size: 5 Software EngineersTeam Size: 5 Software Engineers• Estimated Effort: 227 Man DaysEstimated Effort: 227 Man Days• Predicted Time Scale: 15 WeeksPredicted Time Scale: 15 Weeks
• Actual Effort: 381 Man DaysActual Effort: 381 Man Days• Actual Time Scale: 24 WeeksActual Time Scale: 24 Weeks
• Reported Bugs: 157Reported Bugs: 157• Mostly UIMostly UI
Analysis of OverspendAnalysis of Overspend• Change RequestsChange Requests
14 Man Days14 Man Days
• Bug FixesBug Fixes35 Man Days35 Man Days
• Customer Hardware ProblemsCustomer Hardware Problems10 Man Days10 Man Days
• Debugging Tools ProblemsDebugging Tools Problems5 Man Days5 Man Days
• Underestimated RequirementsUnderestimated Requirements79 Man Days79 Man Days
• Customer Delays (Handsets)Customer Delays (Handsets)11 Man Days11 Man Days
ConclusionConclusion
Despite problems…Despite problems…
• Follow up orders were placedFollow up orders were placed
• Further enhancements were not Further enhancements were not overspent or lateoverspent or late
• Product is now being distributedProduct is now being distributed
Project BackgroundProject Background• Modifying existing Handheld Terminal Modifying existing Handheld Terminal
firmwarefirmware
• Used in high street storesUsed in high street stores
Product FeaturesProduct Features• Symbol PDT6100 TerminalSymbol PDT6100 Terminal
• Barcode ScannerBarcode Scanner
Technology DetailsTechnology Details• x86 Based Devicex86 Based Device
• Customised version of DR-DOSCustomised version of DR-DOS
• MS Visual C++ 1.52cMS Visual C++ 1.52c
• 16 Bit DOS executable16 Bit DOS executable
• Modified C Runtime LibraryModified C Runtime Library
• No debug facilitiesNo debug facilities
MPC Data’s RoleMPC Data’s Role• Discuss requirements with account Discuss requirements with account
managermanager• No programming experienceNo programming experience• Didn’t understand what we needed to Didn’t understand what we needed to
know to implement changesknow to implement changes• Many implications of requirements were Many implications of requirements were
not considered by customernot considered by customer
• Development environment set upDevelopment environment set up
• Enhancements to existing systemEnhancements to existing system
Project StatisticsProject Statistics• Team Size: 2 Software EngineersTeam Size: 2 Software Engineers
• Estimated Effort: 47.5 Man DaysEstimated Effort: 47.5 Man Days
• Actual Effort:Actual Effort: 47.7 Man Days47.7 Man Days
AnalysisAnalysis• No real overspendNo real overspend
• We had successfully allocated time We had successfully allocated time for:for:• Finalising requirementsFinalising requirements• Development environment set upDevelopment environment set up
Lessons to be LearntLessons to be Learnt• Ensure quote includes relevant exclusions Ensure quote includes relevant exclusions
omitted from specificationomitted from specification• UI specifications must be interpreted UI specifications must be interpreted
correctlycorrectly• Look to previous experience for effort Look to previous experience for effort
estimatesestimates• Delays to dependencies should be Delays to dependencies should be
consideredconsidered• Third party software and hardware problems Third party software and hardware problems
can cause serious overspendcan cause serious overspend