Coder to Developer: Tools and Strategies for Delivering Your Software

Total Page:16

File Type:pdf, Size:1020Kb

Coder to Developer: Tools and Strategies for Delivering Your Software 4327book.fm Page iii Tuesday, February 24, 2004 3:49 PM Coder to Developer: Tools and Strategies for Delivering Your Software Mike Gunderloy San Francisco • London 4327book.fm Page ii Tuesday, February 24, 2004 3:49 PM 4327book.fm Page i Tuesday, February 24, 2004 3:49 PM Coder to Developer: Tools and Strategies for Delivering Your Software 4327book.fm Page ii Tuesday, February 24, 2004 3:49 PM 4327book.fm Page iii Tuesday, February 24, 2004 3:49 PM Coder to Developer: Tools and Strategies for Delivering Your Software Mike Gunderloy San Francisco • London 4327book.fm Page iv Tuesday, February 24, 2004 3:49 PM Associate Publisher: Joel Fugazzotto Acquisitions and Developmental Editor: Tom Cirtin Production Editor: Leslie E.H. Light Technical Editor: John Paul Mueller Copyeditor: Liz Welch Compositor: Happenstance Type-O-Rama Graphic Illustrator: Happenstance Type-O-Rama Proofreader: Laurie O’Connell, Nancy Riddiough Indexer: Lynnzee Elze Cover Designer: Ingalls+Associates Cover Illustrator: Rob Atkins, The Image Bank Copyright © 2004 SYBEX Inc., 1151 Marina Village Parkway, Alameda, CA 94501. World rights reserved. No part of this publication may be stored in a retrieval system, transmitted, or reproduced in any way, including but not limited to photocopy, photograph, magnetic, or other record, without the prior agreement and written permission of the publisher. Library of Congress Card Number: 2003116217 ISBN: 0-7821-4327-X SYBEX and the SYBEX logo are either registered trademarks or trademarks of SYBEX Inc. in the United States and/or other countries. Screen reproductions produced with PaintShop Pro. PaintShop Pro is a trademark of Jasc Software Inc. Internet screen shot(s) using Microsoft Internet Explorer reprinted by permission from Microsoft Corporation. TRADEMARKS: SYBEX has attempted throughout this book to distinguish proprietary trademarks from descriptive terms by following the capitalization style used by the manufacturer. The author and publisher have made their best efforts to prepare this book, and the content is based upon final release software whenever pos- sible. Portions of the manuscript may be based upon pre-release versions supplied by software manufacturer(s). The author and the publisher make no representation or warranties of any kind with regard to the completeness or accuracy of the contents herein and accept no liability of any kind including but not limited to performance, merchantability, fitness for any particular purpose, or any losses or damages of any kind caused or alleged to be caused directly or indirectly from this book. Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 4327book.fm Page v Tuesday, February 24, 2004 3:49 PM SOFTWARE LICENSE AGREEMENT: Warranty TERMS AND CONDITIONS SYBEX warrants the enclosed media to be free of physical defects for a period of ninety (90) days after purchase. The Software is not The media and/or any online materials accompanying this book available from SYBEX in any other form or media than that that are available now or in the future contain programs and/or text enclosed herein or posted to www.sybex.com. If you discover a files (the "Software") to be used in connection with the book. defect in the media during this warranty period, you may obtain a SYBEX hereby grants to you a license to use the Software, subject replacement of identical format at no charge by sending the defec- to the terms that follow. Your purchase, acceptance, or use of the tive media, postage prepaid, with proof of purchase to: Software will constitute your acceptance of such terms. The Software compilation is the property of SYBEX unless other- SYBEX Inc. wise indicated and is protected by copyright to SYBEX or other Product Support Department copyright owner(s) as indicated in the media files (the "Owner(s)"). 1151 Marina Village Parkway You are hereby granted a single-user license to use the Software for Alameda, CA 94501 your personal, noncommercial use only. You may not reproduce, Web: http://www.sybex.com sell, distribute, publish, circulate, or commercially exploit the Soft- ware, or any portion thereof, without the written consent of SYBEX After the 90-day period, you can obtain replacement media of iden- and the specific copyright owner(s) of any component software tical format by sending us the defective disk, proof of purchase, and included on this media. a check or money order for $10, payable to SYBEX. In the event that the Software or components include specific license requirements or end-user agreements, statements of condi- Disclaimer tion, disclaimers, limitations or warranties ("End-User License"), SYBEX makes no warranty or representation, either expressed or those End-User Licenses supersede the terms and conditions herein implied, with respect to the Software or its contents, quality, per- as to that particular Software component. Your purchase, accep- formance, merchantability, or fitness for a particular purpose. In no tance, or use of the Software will constitute your acceptance of such event will SYBEX, its distributors, or dealers be liable to you or any End-User Licenses. other party for direct, indirect, special, incidental, consequential, or By purchase, use or acceptance of the Software you further agree to other damages arising out of the use of or inability to use the Soft- comply with all export laws and regulations of the United States as ware or its contents even if advised of the possibility of such damage. such laws and regulations may exist from time to time. In the event that the Software includes an online update feature, SYBEX further disclaims any obligation to provide this feature for any specific duration other than the initial posting. Reusable Code in This Book The author(s) created reusable code in this publication expressly for The exclusion of implied warranties is not permitted by some states. reuse by readers. Sybex grants readers limited permission to reuse Therefore, the above exclusion may not apply to you. This warranty the code found in this publication, its accompanying CD-ROM or provides you with specific legal rights; there may be other rights available for download from our website so long as the author(s) are that you may have that vary from state to state. The pricing of the attributed in any application containing the reusable code and the book with the Software by SYBEX reflects the allocation of risk and code itself is never distributed, posted online by electronic trans- limitations on liability contained in this agreement of Terms and mission, sold, or commercially exploited as a stand-alone product. Conditions. Software Support Shareware Distribution Components of the supplemental Software and any offers associ- This Software may contain various programs that are distributed as ated with them may be supported by the specific Owner(s) of that shareware. Copyright laws apply to both shareware and ordinary material, but they are not supported by SYBEX. Information commercial software, and the copyright Owner(s) retains all rights. regarding any available support may be obtained from the Owner(s) If you try a shareware program and continue using it, you are using the information provided in the appropriate read.me files or expected to register it. Individual programs differ on details of trial listed elsewhere on the media. periods, registration, and payment. Please observe the require- ments stated in appropriate files. Should the manufacturer(s) or other Owner(s) cease to offer sup- port or decline to honor any offer, SYBEX bears no responsibility. This notice concerning support for the Software is provided for Copy Protection your information only. SYBEX is not the agent or principal of the The Software in whole or in part may or may not be copy-protected Owner(s), and SYBEX is in no way responsible for providing any or encrypted. However, in all cases, reselling or redistributing these support for the Software, nor is it liable or responsible for any sup- files without authorization is expressly forbidden except as specifi- port provided, or not provided, by the Owner(s). cally provided for by the Owner(s) therein. 4327book.fm Page vi Tuesday, February 24, 2004 3:49 PM 4327book.fm Page vii Tuesday, February 24, 2004 3:49 PM For Dana, once again—and always. 4327book.fm Page viii Tuesday, February 24, 2004 3:49 PM Foreword Y ou know what drives me crazy? “Everything?” you ask. Well, OK, some of you know me a bit too well by now. But seriously, folks, what drives me crazy is that most software developers don’t realize just how little they know about software development. Take, for example, me. When I was a teenager, as soon as I finished reading Peter Norton’s famous guide to pro- gramming the IBM-PC in Assembler, I was convinced that I knew everything there was to know about software development in general. Heck, I was ready to start a software company to make a word processor, you see, and it was going to be really good. My imaginary software company was going to have coffee breaks with free donuts every hour. A lot of my daydreams in those days involved donuts. When I got out of the army, I headed off to college and got a degree in Computer Science. Now I really knew everything. I knew more than everything, because I had learned a bunch of computer-scientific junk about linear algebra and NP completeness and frigging lambda calcu- lus which was obviously useless, so I thought they must have run out of useful things to teach us and were scraping the bottom of the barrel. Nope. At my first job I noticed how many things there are that many Computer Science departments are too snooty to actually teach you.
Recommended publications
  • Modern Mind Mapping Tony Buzan Pdf
    modern mind mapping tony buzan pdf Download modern mind mapping tony buzan pdf Тони Бьюзен: англ. Tony Buzan: Тони Бьюзен: Дата рождения: 2 июня 1942 (1942-06-02) (73 года) Место рождения: Consider for a moment all of life s problems that you ve had to work through. Now imagine being able to think your way through all of these problems with effortless ease. This course will teach you how to use mind maps to increase your personal and professional productivity. You’ll learn how to save time on any task that requires. Resources. Written by me, unless otherwise stated. Creative Thinking. A Whack on the Side of the Head: How You Can Be More Creative by Roger von Oech. During the past 10 years, I had the opportunity to test out just about every mind mapping software available on the market. Below you will find my favorite picks. III.Methodology The traditional or innovative methods of teaching are critically examined, evaluated and some modifications in the delivery of knowledge is suggested. Anthony Tony Peter Buzan (/ ˈ b uː z ən /; born 2 June 1942) is an English author and educational consultant. Buzan popularized the idea of mental literacy and a. Examples of Mind Maps for business, personal and education use. We show great range of Mind Mapping examples created by hand and using Mind Mapping software 3D Topicscape; Axon Idea Processor; Buzan s iMindMap; Coggle; ConceptDraw MINDMAP; ConceptDraw PRO; Creately; Debategraph; iMindQ; Inspiration; Kidspiration; LucidChart Click on the link to download your Learning Guide for The Merchant of Venice.
    [Show full text]
  • Conceptdraw Office: What Our Users Say
    User Story ConceptDraw Office: What Our Users Say Challenge: My first experience with graphics editors started with MS Paint. Creating a large number of vector diagrams I was a senior student who helped put together study guides and illustrations. Visual monitoring of the for junior students and students of other faculties. I would draw project status and design of the visual all explaining and demonstrative pictures in Paint. Generally project documentation. it was alright; I mastered this simple editor quite fast after drawing 1-2 pictures. Toolkit: “Thanks to the huge number Meanwhile, my student life of pre-designed solutions that was coming to its logical end. can be found in ConceptDraw Being rather lazy, I did not Solution Park, ConceptDraw have the visual presentation Office can cope with any task: of the results of my Diploma from making floor plans to Paper 3 days before computer networking , and from the preliminary review designing cooking recipes to Solution: of the thesis. It was a starting business processes modeling.“ point. I began to search ConceptDraw Office can cope with any as- signment: ranging from an apartment plan Google for the tool that would to a restaurant plan and from a scheme let me make schemes and diagrams quickly. of computer network in your office to a complex multidivisional structure of a large I was surprised to discover vector graphics. Since you always holding company. need to edit something after reviewing – to make something ConceptDraw Solution Park is full of beauti- smaller or bigger – I decided to draw in vector graphics. ful well-performed illustrated examples and clipart images.
    [Show full text]
  • How to Integrate Evernote with Mind Mapping Applications
    How to integrate Evernote with mind mapping applications Since its launch in 2008, Evernote has evolved into a powerful tool for taking notes and capturing all types of digital content. Its growth rate has been amazing; as of February of this year, it has over 50 million users, with 100,000 a day signing up for it. Developers of mind mapping and visual thinking applications have embraced Evernote, integrating with it in a number of different ways. In this report, I will provide you with an overview of the desktop- and web-based mind mapping and visual thinking applications that integrate with Evernote. I will describe how they work together and the pros and cons of each developer’s approach. As a writer, I have a strong personal interest in this topic. I have been using Evernote for several years as my primary tool for capturing content ideas. I also do a significant amount of writing within it, mainly because Evernote does a fantastic job of giving me instant access to all of my notes no matter where I go or what computing platform I’m using. I also find it useful for Evernote-Mind Map Integration Page 2 gathering research for reports I’m working on. Evernote’s web clipper enables me to quickly and easily capture all or part of any web page, tag it and store it in a folder of my choice. So naturally, for larger reports and projects, I’m keenly interested in developing new ways to incorporate the great content and ideas I’ve gathered in Evernote into my mind maps.
    [Show full text]
  • Getting Started with Conceptdraw PROJECT for Windows
    Getting Started with ConceptDraw PROJECT v10 for Windows CS Odessa corp. Getting Started with ConceptDraw PROJECT v10 for Windows Contents GETTING STARTED WITH CONCEPTDRAW PROJECT ...........................................3 CREATING PROJECTS .........................................................................................4 ASSIGNING RESOURCES ....................................................................................5 SETTING THE CALENDAR ...................................................................................7 ADDING DETAILS ..............................................................................................8 MILESTONE .....................................................................................................8 HYPERNOTE ....................................................................................................8 MANAGING MULTIPLE PROJECTS .......................................................................9 PROJECT REPORTS ............................................................................................10 PRESENTING YOUR PROJECT .............................................................................11 INTEGRATING WITH OTHER CONCEPTDRAW OFFICE APPLICATIONS .................12 CONCEPTDRAW DIAGRAM .................................................................................12 CONCEPTDRAW MINDMAP .................................................................................13 WORKING WITH OTHER APPLICATIONS ............................................................14
    [Show full text]
  • Introducing Conceptdraw OFFICE 2
    Introducing ConceptDraw OFFICE 2 CS Odessa 2011 Introducing ConceptDraw Office 2 CS Odessa Contents Introducing ConceptDraw Solution Park ................................ 1 ConceptDraw OFFICE 2 .................................................................................... 3 Office Products ....................................................................................................3 Office Technologies ..............................................................................................3 Product Extensions Add Future Value ......................................................................3 Project Management Support ................................................................................4 Future Value Beyond Purchase ...............................................................................4 Leading Innovation ..............................................................................................4 What is ConceptDraw MINDMAP? ................................................................... 5 What are the Output Capabilities of ConceptDraw MINDMAP? .....................................5 What are the Presentation Capabilities of ConceptDraw MINDMAP? .............................5 What are the Input Capabilities of ConceptDraw MINDMAP? .......................................5 What is ConceptDraw PROJECT? ..................................................................... 6 What is ConceptDraw PRO? ............................................................................. 7 Products: Approach
    [Show full text]
  • Plan Du Site Pétillant Découvrir Articles Une Introduction Aux Cartes
    Une introduction aux cartes heuristiques Définition du mind mapping dans l’encyclopédie collaborative Wikipédia Définitions du mot heuristique Articles Notre galerie de cartes heuristiques Témoignages d’étudiants utilisant les cartes heuristiques Témoignages sur l’utilisation des cartes heuristiques Des sites exploitant la spacialisation de l’information Feuilletez les carnets de Léonard de Vinci comme si vous les aviez dans les mains L’arbre des forums Les cartes heuristiques : secret de la Curiosités réussite des élèves finlandais Évolution du site Les cartes heuristiques : un moyen de lire L’équipe Pétillante la complexité des réseaux ? Pétillant sur le net Mark Lombardi, artiste heuristicien à propos du site Pourquoi le tsunami a t-il été si destructeur ? une carte heuristique aide Articles l’explique conditions d’utilisation Informations Animer une réunion mentions légales Découvrir Comprendre le monde de Harry Potter infos site Mettre de l’ordre dans ses idées FAQ Organiser ses activités personnelles nous contacter Organiser ses activités professionnelles Exemples d’applications Pratiquer l’écriture créative Boyé (Clément), La pensée rayonnante Prendre des notes efficaces Buzan Centres Préparer sa retraite Cerveau droit Préparer une présentation orale Cerveau et apprentissage Résumer un livre CerveauEtPsycho.com Navigation sur le Web Différence entre donnée et information Arbor Scientiae de Raymond Lulle Dossier sur la mémoire par Baker, L’Art de guérir au Tibet l’Encyclopédie de l’Agora Sites Web L’arbre de Vie pour comprendre
    [Show full text]
  • Choosing a Methodology, That You Should Consider Before You Write a Single Line of Code
    4327book.fm Page 1 Tuesday, February 24, 2004 3:49 PM Chapter 1 Planning Your Project How does one design an electric motor? Would you attach a bathtub to it, simply because one was available? Would a bouquet of flowers help? A heap of rocks? —Professor Bernardo de la Paz, quoted in The Moon Is a Harsh Mistress, by Robert A. Heinlein COPYRIGHTED MATERIAL 4327book.fm Page 2 Tuesday, February 24, 2004 3:49 PM 2 Chapter 1 • Planning Your Project S o there you are with your shiny new IDE and your coding skills and a vague idea of what it is that you want to produce. The temptation can be almost overwhelming to dive right in and start typing. Don’t do it. Even the smallest of projects benefits from at least a little bit of planning up front, and yours is no different. In this chapter, I’ll discuss some of the basic planning steps, including requirements management and choosing a methodology, that you should consider before you write a single line of code. Nailing Down a Feature Set Before you write a single line of code, there’s a simple yet difficult question that you must answer: What are you writing? You need to have more than a vague idea of the end product before you can finish building an application. If you don’t know what you’re trying to produce, then you’re not really writing an application; you’re just noodling around with code. There’s nothing wrong with that as a learning activity, but as a developer, you need to be more focused.
    [Show full text]
  • Getting Started with Conceptdraw PROJECT for Windows
    Getting Started with ConceptDraw PROJECT v11 for Windows CS Odessa corp. Getting Started with ConceptDraw PROJECT v11 for Windows Getting Started with ConceptDraw PROJECT v11 for Windows Contents GETTING STARTED WITH CONCEPTDRAW PROJECT Thank you for your interest in ConceptDraw® PROJECT v10! To begin with, let’s install GETTING STARTED WITH CONCEPTDRAW PROJECT ...........................................3 the program on your system. To install the product, and activate your trial license: CREATING PROJECTS .........................................................................................4 1. Navigate your web browser to www.ConceptDraw.com and click Sign In. ASSIGNING RESOURCES ....................................................................................5 2. Fill in the form with your information, and then click Submit. SETTING THE CALENDAR ...................................................................................7 3. Check your email for the message from [email protected] that contains ADDING DETAILS ..............................................................................................8 your confirmation link. (Spam filters may catch this message. If you don’t see MILESTONE .....................................................................................................8 the email within a few minutes, check your “Junk” or “Spam” folders.) HYPERNOTE ....................................................................................................8 4. Follow the link to confirm your account, and
    [Show full text]
  • Outliner History About This Particular Outliner by Ted Goranson, [email protected]
    ATPO: Outliner History About This Particular Outliner by Ted Goranson, [email protected] Outliner History For a while there, I felt deprived. Yes, Mac OS X is the future, but we sure went through a hard patch until the core applications were brought over the fence. Lost in the shuffle were some dearly loved power tools: Nisus Writer, OneClick, and IdeaKeeper. But there’s fresh light in the homeland as a new generation of power tools is appearing. Many of us are taking advantage of this shift to improve our way of working. Almost certainly in this shift, outlining is bound to play a role in whatever world you build for yourself in your Mac. This new column will track what’s happening in outlining and provide some useful perspectives beyond the average “review.” This month, we give an overview of outlining. In future columns, we’ll drill down into different features, use patterns, philosophies, and specific tools. Macs and Outlining The Mac community has always had more innovative software than their Windows counterparts. Perhaps it is the nature of the community. Possibly it is because every Mac user is a niche customer already, and therefore more interested in niche software. This interest in innovation has often involved the outlining paradigm, sometimes as standalone applications but often embedded in other applications. I am as lazy as the next guy, and generally don’t revert to basic philosophy in evaluating applications. The trigger for my most recent self-examination was the appearance of Circus Ponies NoteBook and its sibling AquaMinds NoteTaker.
    [Show full text]
  • Sci 0802 Spec 08 Merunka.Indd
    TOWARDS TO SOFTWARE IMPLEMENTATION OF KNOWLEDGE MAPS* V. Merunka1, M. Molhanec2 1Czech University of Life Sciences, Faculty of Economics and Management, Department of Information Engineering, Prague, Czech Republic 2Czech Technical University, Faculty of Electrical Engineering, Department of Electrotechnology, Prague, Czech Republic This paper deals with various ways of knowledge maps software implementation. There are discussed both freeware and commercial products. Based on this comparison, we argue for the approach based on ontologies and present our own software “Selides”. Onto- logical specification is of particular interest to knowledge managers because associated methods support top management in the processing of tacit knowledge into a more explicit form. The goal of our project is to work with knowledge using computer technol- ogy. This approach is related to the database technology and can significantly improve the knowledge management in contract to raw work with volumes of text and graphics. knowledge engineering; knowledge representation; knowledge map; software support; ontology INTRODUCTION or applied to aid decision making. Knowledge may be explicit and/or tacit, individual and/or collective (T a n - Knowledge mapping is a discipline that is concerned dukar, 2007). Another important concept we deal with with the design and engineering of technologies that allow is the concept of Knowledge Management. According to advanced organization, filtering and management of infor- popular Wikipedia we agree with an assertion that Knowl- mation in visual ways. Computer programs are an ideal edge Management (KM) comprises a range of practices environment for creating and processing this visual infor- used by organizations to identify, create, represent, and mation. Basically, there are two approaches.
    [Show full text]
  • Kaleido: Individualistic Visual Interfaces for Software Development Environments
    Kaleido: Individualistic Visual Interfaces for Software Development Environments Agnes Chang B.A. Media Arts and Sciences, Japanese Language and Literature Wellesley College May 2007 Submitted to the Program in Media Arts and Sciences, School of Architecture and Planning, in partial fulfillment of the requirements for the degree of Master of Science in Media Arts and Sciences at the Massachusetts Institute of Technology September 2010 © Massachusetts Institute of Technology, 2010. All rights reserved. Author Agnes Chang Program in Media Arts and Sciences . Certified by David Small Assistant Professor of Media Arts and Sciences Thesis Advisor . Accepted by Pattie Maes Associate Academic Head Program in Media Arts and Sciences Kaleido: Individualistic Visual Interfaces for Software Development Environments Agnes Chang B.A. Media Arts and Sciences, Japanese Language and Literature Wellesley College May 2007 Submitted to the Program in Media Arts and Sciences, School of Architecture and Planning, in partial fulfillment of the requirements for the degree of Master of Science in Media Arts and Sciences at the Massachusetts Institute of Technology September 2010 Abstract Programming, especially programming in the context of art and design, is a process of reconciling and shifting between individual creative thought and rigid conceptual models of code. Despite advances of programming support tools, the discrepancy between the contextual specificity of the author’s intent and the uniformity of program structure still causes people to find the software medium unwieldy. Taking inspiration from the way in which sketching supports the creative process, in this thesis I argue that in- corporating individualistic visual elements into the interface of our programming environments can make the creative coding process more intuitive.
    [Show full text]
  • Seminarwork Mind Maps
    Seminarwork Mind Maps Christoph Rissner March 3, 2003 1 Abstract Mind Maps as introduced by Tony and Barry Buzan are hierarchically organized maps giving an overview of large data collections. Originally used in learning and memorizing applications Mind Maps are nowadays used for task planning, organising, presentation application and lots more. After a brief introduction to Mind Mapping this paper will concentrate on computer based Mind Mapping applications. After an short overview I will take a closer look on two applications. As a very popular application, Mindjet MindManager is chosen. Being a commercial application this one comes with rich featureset and after a general introduction I will take a closer look at the MMScript script- ing capabilities. The second application I will introduce is FreeMind, an opensource approach written in java. Although providing less graph- ical markup features FreeMind comes in handy where the principles of mindmaps are required and additionaly FreeMind uses a cleartext XML format for its data files. The next part leads to data interchange between these applications. The MMScript scripting capabilities of MindManager allow to access the MindManager application as well as its documents through a COM in- terface. Utilizing the so called ”MindManager Open Interface” almost any functionality the graphical user interface provides can be executed programmatically. This is the starting point for the import and export scripts. Additionally a suitable XML Schema will be developed. The last step for data exchange between MindManager and FreeMind consists of two XSL transformations capable of converting a file exported from MindManager into a file that can be read by FreeMind and vice versa.
    [Show full text]