.Net. A Complete Development Cycle
BeschreibungTeaches developers how to use state of the art Software Engineering practices in the .NET environment.
- There are many books on Software Engineering, and many books on .NET, but this is the first to bring them together
- The authors use an extended case study, with each chapter building on the previous one, involving readers at every stage
- By the end the reader has created a really cool working imaging application while learning best practices of software development in .NET
InhaltsverzeichnisPreface. Acknowledgments. About the Authors. 1. Introducing .NET. The Need for .NET. The .NET Framework. The Common Language Runtime. The Framework Class Library (FCL). The C# Language. Debugging and the IDE. References for Further Reading. 2. Introducing Software Engineering. Introducing Software Engineering Practices. Choosing a Software Development Model. Commonly Used Software Development Models. Code and Fix Software Development Model. The Waterfall Software Development Model. The V Software Development Model. The Spiral Software Development Model. The Staged Delivery Software Development Model. The Evolutionary Prototyping Software Development Model. The Scrum Software Development Model. The Adaptive Software Development Model. The Unified Process Software Development Model. The Extreme Programming Software Development Model. Conclusion. References for Further Reading. 3. A .NET Prototype. Getting Started. Evaluating .NET for Windows Client Applications. Our First .NET Application. Prototyping. Implementing the SmartNotes Application. Creating a New Project. Modifying Form Properties. Adding Controls to a Form. Adding a Form to the Project. Creating an Event Handler. Implementing a Timer. Visual Studio.NET: Platform of Choice. 4. Project Planning. The Project Vision and Business Case. The Initial Use Case Model. Requirements Keys. Using XML for Requirements Documents. Project Requirements. Initial Project Planning. Project Management Planning. Project Implementation Planning. Initial Risk Analysis. Initial Requirements Analysis and Design. The Photo Editor. The Image-Processing Library. The Online Shop. Defining Architectural Requirements. Conclusion. References for Further Reading. 5. The Photo Editor Application. The Refined Project Vision and Business Case. Refined Requirements for Online Photo Shop. Refined Use Case Diagram. Refined Requirements List. Analysis of the Photo Editor Requirements. The photo_editor Requirement. The error_handling Requirement. The picture_load_and_save Requirement. The image_crop Requirement. The image_rotate Requirement. The image_flip Requirement. The image_format Requirement. The platform_os Requirement. Design of the Photo Editor Application. Brief Introduction to UML Class Diagrams. Design of the Photo Editor Application. The Detailed Project Schedule. Implementation of the Photo Editor Application. The Basic Photo Editor Application. Using Version Control. The Exception-Handling Application Block. Customized Exception Handling. Loading an Image. Scrolling and Basic Image Operations. Refactoring of the Current Code. Creating a Custom Control for Smooth Scrolling. Implementation of CustomScrollableControl. Configuring the Custom Control for Use in Visual Studio.NET. Cropping an Image. Rotate and Flip an Image. Save an Image. Unit Tests. The NUnit Test Framework. Unit Test Implementation. Conclusion. Review. References for Further Reading. 6. GDI+ Graphics Extensions. Requirements for the GDI+ Extensions. Analysis of the GDI+ Extensions Requirements. The photo_editor Requirement. The image_graphics_annotations Requirement. The image_text_annotations Requirement. Design of the GDI+ Extensions. Using Design Patterns. Project Management Issues. Schedule Issues. Reported Defects. GDI+ Programming. What Is GDI+? GDI+ Namespaces. The Basics of GDI+. Drawing GDI+ Primitives. The Infrastructure Implementation. Drawing GDI+ Graphics Primitives: Lines, Rectangles, and Ellipses. Handling Mouse Events and Interactive Drawing. Drawing Text in GDI+. The Region of Interest, Erase, Reset, and Apply Functionality. Debugging and Defect Resolution. Unit Tests. Conclusion. Review. References for Further Reading. 7. Advanced GDI+ Operations. Advanced GDI+ Extensions. Analysis of the Advanced GDI+ Extensions Requirements. The photo_editor Requirement. The image_graphics_annotations Requirement. The image_graphics_special_effects Requirement. Design of the Advanced GDI+ Extensions. Project Management Issues. Request for Additional Features. Resolution of the Request. Using Pens and Brushes in GDI+. Color in GDI+: Using the RGB and ARGB Formats. More on Pens and Brushes. The GraphicsPath Class. The Region Class. Implementation of Regions, Pens, and Brushes. Using Regions for the Frame Implementation. Unit Tests. Conclusion. Review. References for Further Reading. 8. Dynamic Loading of Components. Requirements for Image Postprocessing Components. Analysis of the Image Postprocessing Requirements. The photo_editor Requirement. The image_brightness Requirement. The image_contrast_and_color Requirement. The image_special_effects Requirement. Design of the Image-Processing Components Using Late Binding. Design of the Language Extension Components. Project Management Issues. Improving Project Visibility. Implementing Dynamically Loadable Image Postprocessing Plugins. Late Binding and Reflection. Adding a PictureBox for Previewing Image Operations. Implementation of a TrackBar Control. The Language-Independent Plugin Implementation. Unit Tests. The Contrast Plugin Unit Test. The Color Plugin Unit Test. The Red Eye Plugin Unit Test. Conclusion. Review. References for Further Reading. 9. Accessing System Resources. Refining Requirements for 3D Text Display. Three-Dimensional Rendering Technologies. GDI+ and DirectX. OpenGL. Software versus Hardware Rendering. Analyzing User Interface Needs. Using OpenGL.NET. Rendering Three-Dimensional Text with OpenGL. Three-Dimensional Text DLL Interfaces. Adding 3D Text to the Photo Editor Application. The 3D Text DLL Extension. Using PInvoke to Integrate the 3D Text DLL into .NET. First 3D Text: A Unit Test. Implementing the User Interface. Conclusion: Don't Reinvent the Wheel. References for Further Reading. 10. Performance Optimization, Multithreading, and Profiling. Requirements for Performance Optimization. Analysis of the Editor Optimization Requirement. Profiling the Photo Editor Application. Optimization Possibilities and Prototyping. Design of the Optimizations. Performance Optimization Options. Multithreading and Symmetric Multiprocessing. Design of the Multithreaded GUI. Project Management Issues. Relation of Project Scope, Cost, Quality, and Time. Early Delivery Possibilities. Other Actions. Multithreading and Optimization Implementation. Prototyping Solutions for Performance Optimization. Implementing the Contrast Plugin Using Pointer Arithmetic for Pixel Access. Multithreading Implementation to Increase GUI Responsiveness. Using Thread Pools and Locks. Unit Tests. Conclusion. Review. References for Further Reading. 11. Building the Web Application with ASP.NET. Online Store Requirements. Analyzing Interfaces and Activities. The XML Product Catalog. Online Store Activities. Web Forms. Breakdown of the Code Modules. The Product Parser. The Shopping Cart. Web Forms. Calculators. Implementation of Online Photo Shop. Creating a New Web Application. Parsing the XML Product Catalog. The Online Shop Portal. The Shopping Cart. Conclusion. Reference for Further Reading. 12. Security and Database Acccess. Secure Checkout. Integrating Externally Supplied Software. Validation of Externally Supplied Software Products. E-mail, Password, Credit Card: Creating a Customer Profile. User Interfaces. Database Records. Tax and Shipping. Finalizing an Order. Secure Web Applications. Authentication. Authorization. Encryption. Database Access with ADO.NET. Putting It All Together. Creating the Data Source. The Data Access Layer. The Database Singleton. The Login Page. The Checkout Form. No Longer Under Construction. References for Further Reading. 13. Product Release. Deployment. Options for Distributing .NET Applications/ Creating a Setup Program. Deploying Web Applications. Online Photo Shop Installation Notes. Integration Test. Test Automation. Creating a Test Book. Requirements Tracing. Software Maintanance. Change Request Management. Maintenance Strategies. Wrap-Up. Project Planning. Requirements Refinement and Customer Feedback. Prototyping. Use of Unified Modeling Language and Design Patterns. Documentation. Automated Testing. Error Handling through Exceptions. Designing for Extensibility. Code Reuse. References for Further Reading. Index.
PortraitGunther Lenz is an expert in the design and implementation of optimized 2D image-processing algorithms, with more than five years of experience with high-performance medical-imaging processing and systems engineering, most recently with Siemens Corporate Research. Gunther's experience in defining and implementing efficient software-engineering practices led to him being an invited speaker at the SM (Software Management) 2003 conference where he also acted as the track chair for the Software Management Methods and Techniques sessions. Thomas Moeller has ten years of experience as a computer programmer, engineer and researcher. He is currently working in the Imaging and Visualization group at Siemens Corporate Research, Inc. He is the co-inventor of patent-pending algorithms for volume segmentation and memory management for large volume visualization and has contributed to H-J Scheibl's textbook Visual C++ 6.0 for Beginners and Professionals (Hanser Munich/Vienna 1999). 0321168828AB06272003
Untertitel: 2004. Auflage. Sprache: Englisch.
Verlag: Addison Wesley
Erscheinungsdatum: September 2003
Seitenanzahl: 553 Seiten