36
Integrated Case Integrated Case Studies Studies Computing for Real-time Computing for Real-time Systems Systems University of the West of University of the West of England England

Integrated Case Studies Computing for Real-time Systems University of the West of England

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

The Rest…The Rest…

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

Quality PlanQuality Plan

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

Case Study 1Case Study 1

Marine RadioMarine Radio

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

Development Set UpDevelopment Set Up

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

Final ProductFinal Product

Final ProductFinal Product

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

Case Study 2Case Study 2

Handheld Barcode ReaderHandheld Barcode Reader

PDT6100PDT6100

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

ConclusionConclusion• Project completed bang on targetProject completed bang on target

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

Questions?Questions?