fotogazmic software (from left to right: chad zbinden, josey baker, rob mills, myra bergman, tinate...
TRANSCRIPT
FotoGazmic FotoGazmic SoftwareSoftware
(From left to right: Chad Zbinden, Josey Baker, Rob Mills, Myra Bergman, Tinate Dejtiranukul)
Client & End UserClient & End User
Professor Bernard Waxman
Upper ManagementUpper Management
Professor Xudong Yu
Organization PlanOrganization Plan
Myra BergmanLead Analyzer
Dr. Bernard Waxman
Client
Dr. Xudong YuUpper Management
Josey BakerLead Documenter
Robert MillsProject Leader
Tinate Dejtiranukul
Lead Tester
Chad ZbindenLead Designer
Purpose of the SystemPurpose of the System Image Enhancement Image Enhancement
Color & DensityColor & Density Select Portions of the Image and Select Portions of the Image and
IdentifyIdentify Predetermined List of Object Types Predetermined List of Object Types
Automatically Detect an 18% Gray Automatically Detect an 18% Gray CardCard
Gray CardGray Card
A card that reflects a known A card that reflects a known percentage of the light falling on it. percentage of the light falling on it.
Has a neutral gray finish that has an Has a neutral gray finish that has an 18 percent reflectance.18 percent reflectance.
Used to provide a known gray tone Used to provide a known gray tone in color work.in color work.
Gray Card CorrectionGray Card Correction
Original Image Corrected Image
• This example shows the Global Enhancement correction applied to the main image.
Objectives and Success Objectives and Success CriteriaCriteria
Document, Design, Implement, and Document, Design, Implement, and ProduceProduce
Software can Run on any PC that meets Software can Run on any PC that meets the Hardware Requirements the Hardware Requirements
Simplify the Task of Color and Density Simplify the Task of Color and Density Correction Correction
Enhance the Overall Quality of Digital Enhance the Overall Quality of Digital ImageImage
Functional Requirements Functional Requirements
Graphical User Interface Graphical User Interface Open, Read, Display, and Save TIFF Open, Read, Display, and Save TIFF
images images Preview FeaturePreview Feature One Level Undo FeatureOne Level Undo Feature Correction Correction
Automatic and Manual CorrectionsAutomatic and Manual Corrections Single selection or multiple selectionsSingle selection or multiple selections Full Amount or Percentage of Suggested Full Amount or Percentage of Suggested
CorrectionCorrection Entire Image or Selected Portion(s) Entire Image or Selected Portion(s)
Functional (cont.)Functional (cont.) Selection Tool Selection Tool
Pixel Group, Ellipse, or RectanglePixel Group, Ellipse, or Rectangle Identify the Area Identify the Area
Predetermined List of Object Types Predetermined List of Object Types Suggested Correction Suggested Correction
Stored RGB ValuesStored RGB Values
Functional (cont.)Functional (cont.)
Image DisplayImage Display Default—1 to 1Default—1 to 1
Display Options Display Options Zoom Capability Zoom Capability Scroll Bars Scroll Bars
Nonfunctional Nonfunctional RequirementsRequirements
User Interface and Human FactorsUser Interface and Human Factors Simple, User-friendly Graphical Interface Simple, User-friendly Graphical Interface Tool Selection Palette Tool Selection Palette Integrated Help System Integrated Help System
DocumentationDocumentation Well DocumentedWell Documented
Hardware ConsiderationHardware Consideration IBM compatible IBM compatible 1 Ghz Pentium IV, 256 MB Ram1 Ghz Pentium IV, 256 MB Ram 24-bit true color, 1280x1024 - graphics 24-bit true color, 1280x1024 - graphics
cardcard
Nonfunctional (cont.)Nonfunctional (cont.)
Performance CharacteristicsPerformance Characteristics Perform Corrections in a Timely Perform Corrections in a Timely
Manner Manner Error Handling and Extreme Error Handling and Extreme
ConditionsConditions Program Should Program Should NOT NOT Crash Crash Appropriate Error MessagesAppropriate Error Messages
Nonfunctional (cont.)Nonfunctional (cont.)
Quality IssuesQuality Issues High Quality Corrected ImagesHigh Quality Corrected Images Minimal Distortion Minimal Distortion Aesthetically Correct Aesthetically Correct
Density and ColorDensity and Color System ModificationsSystem Modifications
Easy to Modify Without Major Changes Easy to Modify Without Major Changes to System Designto System Design
Possibility for Further DevelopmentPossibility for Further Development
Use Case ModelUse Case Model
Assistance
InterfaceEnhance
View
File Control
Client PC
ArchitectureArchitecture
SubsystemsSubsystems
File Control File Control Initialize system variablesInitialize system variables Open, close, and save images Open, close, and save images Undo the last action Undo the last action ExitExit
Subsystems (cont.)Subsystems (cont.)
View View Display an image to the screenDisplay an image to the screen Zoom functionalityZoom functionality Scrolling functionalityScrolling functionality
Subsystems (cont.)Subsystems (cont.)
Enhance Enhance Manual and auto enhancement functionalityManual and auto enhancement functionality Find Gray CardFind Gray Card Selection toolsSelection tools
Pixel groupPixel group EllipseEllipse RectangleRectangle
Draw, Identify, and Average selectionsDraw, Identify, and Average selections Global or local changeGlobal or local change Correction factorCorrection factor
Subsystems (cont.)Subsystems (cont.)
AssistanceAssistance Integrated help featureIntegrated help feature
ReferenceReference
Subsystem Subsystem DecompositionDecomposition
Persistent Data Persistent Data ManagementManagement
All persistent data is stored using a All persistent data is stored using a file system. file system.
TIFF files are used to store the TIFF files are used to store the images files.images files.
RGB values for the predetermined RGB values for the predetermined object types are stored in a text file object types are stored in a text file containing markup tags.containing markup tags.
Stored Objects FileStored Objects File<n>Grass<v>131, 157, 59<e><s2>Caucasion<s1>Skin<n>Average<v>200, 145,
120<e><s2>Indian<s1>Skin<n>Average<v>175, 115, 65<e><s2>African<s1>Skin<n>Light<v>191, 140, 110<e><s2>African<s1>Skin<n>Medium<v>170, 135,
90<e><s2>African<s1>Skin<n>Dark<v>115, 80, 70<e><end>
Main InterfaceMain Interface
Main InterfaceMain Interface
• Main interface with a TIFF image loaded.
Find Gray CardFind Gray Card
Select Gray CardSelect Gray Card
• Allows user to manually select gray card
Auto Enhance PreviewAuto Enhance Preview
• Dynamically displays preview of changes as the slider control is moved.
Manual Enhance PreviewManual Enhance Preview
• Dynamically displays preview of changes as the slider control is moved.
Manual Enhance PreviewManual Enhance Preview
• Dynamically displays local and global change as radio button is changed.
Process PlanProcess Plan
Evolutionary Delivery Evolutionary Delivery Client Client
Early PrototypeEarly Prototype Early DiscoveryEarly Discovery
Difficulties with Specific FeaturesDifficulties with Specific Features DeliveryDelivery
Product with the Most Important Product with the Most Important FunctionalityFunctionality
No room for extension of deadline No room for extension of deadline
Process Plan (cont.)Process Plan (cont.)
SchedulesSchedules
Schedules (cont.)Schedules (cont.)
Schedules (cont.)Schedules (cont.)ID Task Name Assigned to: Start Finish Duration
Nov 2003Oct 2003
11/1611/98/17 12/78/24 10/58/31 10/269/219/7 10/12
1
3
4
7
9
10
13
14
15
16
20
120d12/12/20038/15/2003Website
25d9/8/20038/15/2003File ControlSubsytem
18d9/1/20038/15/2003Chad, Josey
0d9/3/20039/3/2003Rob, Myra
25d10/2/20039/8/2003DisplaySubsystem
18d9/25/20039/8/2003Chad, Josey
0d9/27/20039/27/2003Rob, Myra
6d10/2/20039/27/2003All
25d10/26/200310/2/2003EnhanceSubsystem
18d10/19/200310/2/2003Chad, Josey
6d10/26/200310/21/2003All
16d11/10/200310/26/2003Chad, Josey
Dec 2003
28
27
22
26d12/12/200311/17/2003Testing
7d11/23/200311/17/2003Tinate
7d11/30/200311/24/2003Tinate29
31 7d12/16/200312/10/2003FinalPresentation
8 6d9/8/20039/3/2003All
19 0d10/21/200310/21/2003Rob, Myra
21 22d11/16/200310/26/2003AssistanceSubsystem
25 0d11/12/200311/12/2003Rob, Myra
26 6d11/17/200311/12/2003All
12d12/12/200312/1/2003Rob, Myra30
33
32 7d12/16/200312/10/2003Rob
0d12/16/200312/16/2003All
Aug 2003
9/289/14
Sep 2003
11/2310/19 11/2 11/30
2 120d12/12/20038/15/2003Rob, TinateUpdate website
Develop
Present prototype
Revise
Develop
Present prototype
Revise
Develop
Present prototype
Revise
Develop
Present prototype
Revise
Integration test
System test
Acceptance test
Make presentation
Final presentation
Subtask
5
6
11
12
17
18
23
24
1d9/1/20039/1/2003TinateTest
3d9/3/20039/1/2003AllRevise
1d9/25/20039/25/2003TinateTest
3d9/27/20039/25/2003AllRevise
1d10/19/200310/19/2003TinateTest
3d10/21/200310/19/2003AllRevise
1d11/10/200311/10/2003TinateTest
3d11/12/200311/10/2003AllRevise
ImplementationImplementation
Implementation (cont.)Implementation (cont.)
Development PlatformDevelopment Platform Microsoft Visual C++ 6.0Microsoft Visual C++ 6.0
User Interface User Interface Microsoft Foundation ClassMicrosoft Foundation Class
Underlying system Underlying system C++C++ CxImage LibraryCxImage Library
Open source libraries for image processingOpen source libraries for image processing
DemonstrationDemonstration
FotoGazmic SoftwareFotoGazmic Software
Module TestingModule Testing
Performed numerous test cases on Performed numerous test cases on each code moduleeach code module
Documented test cases and resultsDocumented test cases and results Lead tester in chargeLead tester in charge
Integration TestingIntegration Testing
Individual ComponentsIndividual Components Assessed Dependencies of ModulesAssessed Dependencies of Modules
ID Task Name Subtask Name Assigned to: Start Finish DurationNov 16 2003
16
2
3
7d11/23/200311/17/2003IntegrationTesting
1d11/17/200311/17/2003TinateAdd File module
1d11/17/200311/17/2003TianteAdd Display module
1
2018 22211917
7
6
5
4 1d11/18/200311/18/2003TinateAdd Select module
1d11/18/200311/18/2003TinateAdd GrayCard module
1d11/19/200311/19/2003TinateAdd Enhancement module
1d11/19/200311/19/2003TinateAdd Help module
8 5d11/23/200311/19/2003AllRevise
23 24
System TestingSystem Testing
Ensured Functional and Ensured Functional and Nonfunctional RequirementsNonfunctional Requirements
Included Functional and Performance Included Functional and Performance TestingTesting
ID Task Name Subtask Name Assigned to: Start Finish Duration23
2
7d11/30/200311/24/2003System Testing
3d11/26/200311/24/2003TinateSystem test scenarios
1
2825 12624
3 5d11/30/200311/26/2003AllRevise
Nov 23 2003
27 3029
Acceptance TestingAcceptance Testing
Internal Acceptance TestInternal Acceptance Test Team MembersTeam Members
Acceptance Test with ClientAcceptance Test with Client
Deployment & TrainingDeployment & Training
Installation PlanInstallation Plan We did not install the FotoGazmic We did not install the FotoGazmic
software package on any of the clients’ software package on any of the clients’ computers.computers.
Source code and a compiled executable Source code and a compiled executable are available on our project web site.are available on our project web site.
Full documentation of the software is Full documentation of the software is provided.provided.
Installation is accomplished using a Installation is accomplished using a standard setup package.standard setup package.
Deployment & Training Deployment & Training (cont.)(cont.)
For FotoGazmic users, we have For FotoGazmic users, we have created:created: An integrated help systemAn integrated help system
Retrospective ThoughtsRetrospective Thoughts
We needed better version controlWe needed better version control Evolutionary delivery worked Evolutionary delivery worked
extremely wellextremely well Dividing the project among team Dividing the project among team
members worked wellmembers worked well We learned a lot about software We learned a lot about software
development & project planningdevelopment & project planning Creating a system from the ground up Creating a system from the ground up
was quite difficult!was quite difficult!
Questions?Questions?