Title: The Multidimensional Specimen Measuring System and the Software Engineering Process
1TheMultidimensional Specimen Measuring
Systemand the Software Engineering Process
Chris Janneck (CJ) Lehigh University M.S.
Comp. Eng. 01 M.A. Theatre 01
2Project Overview
- Objective
- To create an enhancement for image-capturing
software to determine the length, size, and other
secondary features of microscopic structures
present in the image. - Originated as a class project for ECE 216
Software Engineering - This class project is designed for the students
to attain real-world Software Engineering
experience, including finding and working with a
client
3Requirements Phase
- Goals
- Analyze clients present situation
- Determine what client needs, not wants
- Interview
- Formal or casual, prepared or ad-hoc
- We had a semi-formal interview with Prof. Swann,
with many basic questions prepared - Rapid Prototype
- Designed for better understanding between
developer and client, not functionality - We designed an HTML slideshow-like prototype of
the project
4Screenshots from R.P.
5Specifications Phase
- Goals
- To be clear and intelligible to the client
- To be complete, detailed, and well
inter-referenced - Contains specific restraints that project must
follow - Portability, reliability, accuracy, etc
- The contract between developer and client
6Our Spec. Doc
Once written, we presented our Specifications
Document to Prof. Swann via our teams website.
This allowed for easy access from any computer,
and also removed the cross-platform barrier
between the developing team and Prof. Swann (I.e.
we own PCs, she uses a Macintosh).
Insert picture of Spec. Doc here
7Design Phase
- Goals
- Transition from what project does to how it will
accomplish the functionality - Action-oriented vs. Data-oriented
- Action Data-flow analysis
- Data Design data structure first, then
procedures to accommodate data format - Our Design Document had also been posted on the
Internet once completed
8Specifications Snapshots
The MSMS UI Architectural Design
Data Flow chart For the MSMS
9Implementation Phase
- Goal
- Transition from Design parameters to code
- Choosing of programming language
- Predominant decision due to cross-platform issue
- The microscope interfaces with a Macintosh, and
very few non-PC developing kits are available on
campus - Java is chosen due to high cross-platform
portability - Java programs run on a Virtual Machine, not
directly on the Operating System (Windows98/NT,
MacOS). Therefore, any computer with this Virtual
Machine (downloadable from the Internet) can run
any Java program.
10Java this aint no sippin coffee
- Java is a highly portable, object-oriented
language - Gives rise to its increasing popularity
- Has roots in C
- Basic structure and logic are familiar from
previous classes - Object-oriented high-level learning
classes instead of using techniques - Most of the summer was spent learning the
plethora of available classes and functions
instead of using the programming techniques
already acquired
11How Java Works
12Maintenance Phase
- Goals
- To fix arising bugs, implement new functionality,
and keep software serviceable for end users - Begins once final product is presented and
remains in effect until software is retired - Unfortunately, this is rarely seen through by
software developers - Just as unfortunate, this project never reached
this phase due to the unexpected wealth of time
devoted to learning Java
13Conclusions/Observations
- The initial documentation phases are critical
in maintaining communication and a common goal
between developer and client - More time/energy/expenses in initial phases
Less time/energy/expenses in final phases - Orders of magnitude easier to change a few lines
of text in a Specifications Document than to
redesign/retest/debug code and re-present a new
CD to each and every license holder - Never underestimate the learning curve of new
software and/or languages
14A Special Thanks To
- Prof. T. Boult, EECS Department
- Professor of ECE 216 Spring 00
- My ECE 216 fellow team members
- Brian Gilman 01
- David Hepkin 01
- Joel Williams 01
- Prof. Swann, Neuroscience Department
- Our client and contact in the project
- The Howard Hughes Foundation
- For allowing continuing work on this project over
and above the regular school year
15References
- ECE 216 Team Homepage
- http//www.eecs.lehigh.edu/jtw6/small-project-tea
m.html - Requirements Document
- http//www.eecs.lehigh.edu/jtw6/docs/req.html
- Rapid Prototype
- http//www.eecs.lehigh.edu/cdj2/RPDemo.html
- Specifications Document
- http//www.eecs.lehigh.edu/dahd/spec/
- Design Document
- http//www.eecs.lehigh.edu/dahd/design/