|
STEPHEN V. DURDIN 107 Oglethorpe Drive, NE Atlanta, Georgia 30319 770-455-1141 E-mail: sdurdin@tkwiz.com
QUALIFICATIONS
EXPERIENCE Software engineer responsible for collection and analysis of user application requirements; development of the application specification, architecture, design, implementation, and testing documents; implementation and testing of application components; and support of the application throughout the user acceptance testing phase. Clients and accomplishments include: tkWiz, Inc. 3/01 – present Equipment monitoring applicationUsed Java on NT. Analyzed the Dallas Semiconductor TINI processor and associated Java classes supporting the 1-Wire devices. Developed a model for monitoring analog signals and providing digital and analog control signals over an HTTP connection using a wireless connection between the TINI processor’s ethernet controller and an ISP. Since the TINI board acts as a web server, this application will allow monitoring and control of remote systems over the Internet using an ordinary browser. Application uses Java Servlets to provide status information to HTML clients and to process control requests from HTML clients. Developed an application using XML, XSLT, and SAX on the TINI processor. Application provides communication among cooperating equipment monitors and multiple client types. XML allows field-configurable view/control parameters and client field identifiers.
Glenayre Electronics, Inc., 9/99 – 3/01OpenUMS project Used GNU C++ on Solaris 2.6. Designed and implemented modifications to the existing MVP server to support the new Falcon high-availability database server failover capability. Modified the existing MVP simulator to test all possible failure conditions without the need for a real Falcon server. This allowed all failure and recovery scenarios to be tested before the hardware was ready for testing. Used GNU C++ on Solaris 2.7, Adaptive Communications Environment. Specified requirements, designed, implemented and tested a multi-thread daemon which provides conversion from/to adpcm, wave, mu-law, a-law and gsm format voice data files. This application uses ACE components and several reusable classes that I developed in an earlier project. ACE is a set of C++ communication API’s developed at the University of Washington. Used Java 1.2 on Solaris 2.6, Rational Rose. Solicited requirements for a set of APIs which provide provisioning services for the Glenayre MVP. Analyzed and refined requirements, developed complete design in UML using Rational Rose. Coded and tested Java interfaces and supporting concrete classes. Assisted team member in implementation of MVP interface command parsing classes. Developed and executed example and test applications. Used Java 1.1 on Solaris 2.6, GNU gcc, Rational Rose. Implemented service-level classes for communication between the new OpenUMS product and the existing UMS CGI component. Reverse engineered existing servlet classes, used resulting specification to design and implement new classes using the OpenUMS interface provided by the team architect. Modified the existing CGI application to allow interprocess file-name passing in addition to existing stream data transfers. This project was completed in two months by a team of four engineers. Universal Messaging System project Used GNU C++ on Solaris 2.5, C++ Standard Library. Reverse engineered an existing server which services CGI requests originating from HTML and Java clients. Request are routed to Glenayre Modular Voice Processors which provide voice mail, e-mail, numeric and alphanumeric paging services over the direct dial network and the Internet. Designed and implemented the new server using the Adaptive Communication Environment package thus greatly improving the scalability and reliability of the application. Made extensive use of the C++ Standard Library. Gained familiarity with audio compression and image conversion applications. This refactoring project resulted in a server which was fully asynchronous with a single thread of execution thus achieving maximum performance. MBNA America, 11/98 – 9/99Customer Lead Management System project Used HP C++, BEA Tuxedo, Informix on HP UNIX. Designed, implemented and tested Tuxedo middleware services using MBNA’s Systems Development Methodology and CMVC. Coding included C++ Tuxedo FML field handlers and Informix stored-procedures. Incorporated new services and store-and-forward queue statements into existing Tuxedo configuration (UBB) files. Performed Tuxedo system administration functions. On-Line Banking System project Used Java 1.2.1, Java Swing, Symantec Visual Cafe, Tuxedo Jolt on Windows NT, HP C++, BEA Tuxedo, Informix on HP UNIX. Enhanced functionality, diagnosed and corrected coding and design errors in an existing Java Swing Tuxedo Jolt client application using Symantec tools. Performed the business requirements analysis, developed the functional specification, technical design and test plan for a enhancement to the exiting On-Line Banking application which included a Tuxedo middleware service written in C++ for the HP Unix platform.
Vanstar Corporation, 5/98 – 7/98 Used C and CL on the AS400, C and C++ on Windows NT with Visual C++ Enterprise Edition. Performed specification, enhancements, testing and documentation of existing AS400 interface application using ILE C. Modified and tested existing applications on NT server using Visual C++.
Integrated Architectures, Inc., 1/98 - 5/98 Used C++, Rogue Wave Tools++, Oracle Version 7 OCI and Tuxedo for server-side development on Solaris 2.5 and Microsoft's MFC and Tuxedo for client-side development on Windows/NT. Member of a team which developed a two-tier client-server application Framework development tool. Also responsible for collection and documentation of all design details using Rational Rose and VISIO for entry and maintenance of object models and interaction diagrams.
Attachmate Corporation, 12/97 - 1/98 Performed installation and testing of the Visigenic Visibroker product on NT 4.0 and Solaris platforms. Built and tested example C++ and JAVA applications and added additional methods to the CORBA IDL and client and server applications. Reverse engineered customer application documentation and prepared object class and interaction diagrams using UML.
Vanstar Corporation, 1/97 - 10/97 Performed specification, testing and documentation tasks and reverse engineering in order to derive an object model. Extracted business rules which were used to develop use cases and interaction sequence diagrams which were then documented in the Unified Modeling Language using Rational Rose. Used C and CL on the AS400, MS/SQL Server, Visual Basic, C and C++ on Windows 95 and NT with the Visual C++ Enterprise and Borland Frameworks. Developed prototypes using FrontPage97, InterDev, JAVA and OLE/ActiveX controls.
Georgia Pacific, Packaged Products Division, 4/96 - 12/96 Designed, coded, tested and documented Cobol applications which provide the interface between the headquarters SAP and the mill Legacy applications. Developed a mileage service agent for the GP wide area network for the Transportation Management System using C on a VMS platform and C++ on an NT server with TCP/IP sockets.
Transaction Processing Consultants, Inc., 1-92 - 4/96 Director of Software Engineering & company founder. Performed tasks at all levels in the object oriented software development life-cycle. Responsible for client liaison, sales, management, recruiting, project management, and internal education. Directly involved in the development of numerous applications on MS/Windows, UNIX and VMS systems using C, C++, Intel assembly language, GNU C/C++, DEC C, and Borland Frameworks. Platforms and operating systems used comprised SCO UNIX, Sun Sparc Solaris, Digital VAX VMS and RISC ULTRIX, MS/Windows 3.1 and IBM RS6000 AIX. SKILL SET C 15 years C++ 8 years Java 3 years SQL 8 years Rational Rose 4 years Object-oriented Analysis and Design 8 years UNIX Development 9 years NT Development 5 years XML/XSL/SAX/JDBC/Servlets 5 months
EDUCATION Engineering graduate work, Georgia Institute of Technology
BS, Electronics & Communication Engineering, University of South Carolina
AFFILIATIONS Association for Computing Machinery (ACM) Institute of Electrical and Electronic Engineers (IEEE) Technology Association of Georgia (TAG) Experimental Aircraft Association (EAA)
RECENT READINGS Enterprise JavaBeans. Richard Monson-Haefel. Refactoring: Improving the Design of Existing Code. Martin Fowler. Object Solutions: Managing the Object-Oriented Project. Grady Booch. UML Distilled: Applying the Standard Object Modeling Language. Martin Fowler. Design Patterns: Elements of Reusable Object-Oriented Software. Gamma, Helm, Johnson, Vlissides. Object-Oriented Software Engineering: A Use Case Driven Approach. Ivar Jacobson, et.al. The Object Advantage: Business Process Reengineering with Object Technology. Ivar Jacobson, et.al. Object-Oriented Modeling and Design. Rumbaugh, Blaha, Premerlani, Eddy, Lorensen. JAVA In A Nutshell. David Flanagan. Effective C++, Second Edition. Scott Meyers. Java Swing. Robert Eckstein, Marc Loy & Dave Wood. Java Foundation Classes – Swing Reference. Stephen C. Drye & William C. Wake.
SPECIFICATION AND DESIGN SKILLS · Experienced in the application of OMT and the Unified Modeling Language for the conceptual, specification and implementation phases of the object-oriented development life-cycle.· Skilled in the application of object-oriented software engineering methodologies employing iterative development techniques with an architectural focus.· Expert in the collection, documentation and analysis of user requirements as stated by domain experts. Excellent communication and presentation skills.· Understanding of the pros and cons of C++ and JAVA implementations. Experienced in the use of design patterns for all phases of the development life cycle.· Thorough understanding of Internet communication protocols and their application in local and wide-area networks.· Expert at reverse engineering applications written in Fortran, Cobol or C or C++. Expert at re-engineering using OO methodology.· Skilled in the specification and design of persistent database applications using OO or relational databases.· Knowledgeable in Electronic Commerce technologies.
CONSTRUCTION SKILLS · Proficient in the use of Java, C and C++ and the associated vendor-specific frameworks on the Windows 95/98/NT, Linux, Solaris, HP-UX and AIX platforms.· Experienced in the use of version control products.· Able to apply the C++ Standard Library, Rogue Wave Tools++ or the Microsoft Foundation Classes in C++ implementations. Able to apply Swing and JDBC in Java implementations.· Expert in the application of relational database products. Experienced in the development of object-relational applications using serialization, OODBMS and RDBMS persistence models.· Able to design and implement inter/intranet applications using multi-tier client and/or server-based objects. Experienced in the application of TCP/IP sockets as distributed application implementation mechanisms, Web servers and browsers ( MS/IE, MS/IIS, Netscape, Apache).· Expert in the design, specification and execution of the software testing process.
SELECTED ACCOMPLISHMENTS Object-Oriented Analysis and Design · Developed a Java package which provides provisioning services to the Glenayre Modular Voice Processor. Used telephone keypad user manual, MVP reference manual and associated documentation to develop a set of use cases. Consulted with MVP developers in order to document low-level protocols and device behavior. Produced design specifications which included data mappings, class, and sequence diagrams. Results: This project was completed on schedule even though additional functions were added on during development. · Specified and designed a set of application development tools (ADT) using Object Modeling Technology (OMT). Design comprised a variety of terminals, communication protocols and target platforms. Results: Flexibility was maintained throughout the design and implementation cycle which minimized the impact of requirements additions and modifications. Isolation of responsibility into objects simplified implementation of a variety of connectivity mechanisms and communication protocols over diverse platforms.· Reverse-engineered a service call tracking, dispatching and billing system comprising 19 computer systems attached to a wide area Ethernet. The applications include SQL stored procedures, Visual Basic, C++ and C which access Sybase, Oracle, MS/SQL Server and Clipper databases. The Rational Rose product was used to produce object models and interaction diagrams, which describe each network transaction in complete detail.The object models were used to describe the database entity and table trigger relationships. Results: The analysis captured the business rules and transaction content necessary for a re-engineering and/or continued maintenance effort. Project Management · Thirteen years of experience directing software engineering groups involved in development, enhancement and support of message switching, radio-frequency terminal interface, order processing, accounting, production and inventory control, database inquiry and high-volume data entry applications. Tasks performed included documentation and code review, specification and supervision of system testing, client liaison and status tracking and reporting. Most recent project involved recruiting and directing three software engineers who were responsible for implementation and testing of various sub-systems of the ADT product. Results: Successfully completed product met functional and performance specifications set forth in the requirements document.Implementation · Extended functionality and corrected design and coding errors in an existing JAVA Swing administrative GUI application. · Developed the technical design, implemented and tested Tuxedo middleware applications using C++ on HP-UX. These applications served as business objects in the middle tier using Sybase, DB2 and Informix database servers on the lower tier and PowerBuilder front-ends for client services. · Worked as part of a development team using C++, Rogue Wave Tools++, Oracle Version 7 OCI and Tuxedo on Solaris 2.5 and AIX 4.2 for server-side development and Microsoft's MFC and Tuxedo on Windows/NT for client-side development of a two-tier client-server application framework development tool. Set up make files and managed source code version control using sccs. Integrated client-side framework APIs using MFC with a sample application, which is used to demonstrate functionality of the product in a telecom environment. Responsible for collection and documentation of all design details using Rational Rose for entry and maintenance of object models and interaction diagrams. This tool includes several libraries of objects, which provide persistence on an Oracle relational database for all application object instantiations.· Installed and tested Visigenic's Visibroker Developer, Naming service and Event Service for JAVA and C++ (CORBA). Installed, tested and added functionality to vendor-provided example applications. Platforms included NT 4.0 and Solaris.· Designed and implemented an application which provides a corporate presence. Used FrontPage on NT to compose the static HTML files, incorporate image maps and build forms. Used VISIO to create diagrams representing corporate services and methodologies. Implemented server-side processing on a Sun Solaris host using the Apache web server CGI with Perl scripts. The Perl scripts activated JAVA applications on the server. JAVA applets on the client used RMI for all subsequent communications with the server.· Designed, coded, documented, and maintained modules, applications and complete systems for data acquisition, data communication, relational and network database access, hardware device drivers, terminal emulators, workflow control and electronic mail interfaces. Produced high-level and detailed design for all components of the ADT product. Coded, tested and documented objects which support interprocess communication, remote radio-frequency terminal communication and ADT-process-management functions. Components were coded in C and C++ on UNIX, VMS, MS/DOS and MS/Windows platforms. Results: A set of Application Program Interfaces and management functions , which facilitate development of user-specified applications that are portable across most popular operating systems.· Designed, developed, implemented, and tested a client/server agent over a wide area network which provides mileage to requesters in a transportation management system. The agent interfaces with a commercially available mileage database product, which resides on an NT server. Source/destination city-state-zip pairs are accepted by the agent, which calls the mileage database and responds to the requester with an optimized or shortest route mileage. An unlimited number of requesters are supported in a "connectionless" environment. |