Beginning software engineering /
Build better software with essential software engineering techniques Beginning Software Engineering teaches you the practical, hands-on skills needed to design and build robust, efficient, and consistently reliable software. Using jargon-free English, this book uses numerous case studies to demonstr...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Indianapolis, IN :
John Wiley & Sons,
[2015]
|
Colección: | Programmer to programmer.
|
Temas: | |
Acceso en línea: | Texto completo |
Tabla de Contenidos:
- BEGINNING Software Engineering; CONTENTS; INTRODUCTION; PART I: SOFTWARE ENGINEERING STEP-BY-STEP; CHAPTER 1: SOFTWARE ENGINEERING FROM 20,000 FEET; Requirements Gathering; High-Level Design; Low-Level Design; Development; Testing; Deployment; Maintenance; Wrap-up; Everything All at Once; Summary; CHAPTER 2: BEFORE THE BEGINNING; Document Management; Historical Documents; E-mail; Code; Code Documentation; Application Documentation; Summary; CHAPTER 3: PROJECT MANAGEMENT; Executive Support; Project Management; PERT Charts; Critical Path Methods; Gantt Charts; Scheduling Software.
- Predicting TimesGet Experience; Break Unknown Tasks into Simpler Pieces; Look for Similarities; Expect the Unexpected; Track Progress; Risk Management; Summary; CHAPTER 4: REQUIREMENT GATHERING; Requirements Defined; Clear; Unambiguous; Consistent; Prioritized; Verifiable; Words to Avoid; Requirement Categories; Audience-Oriented Requirements; Business Requirements; User Requirements; Functional Requirements; Nonfunctional Requirements; Implementation Requirements; FURPS; FURPS+; Common Requirements; Gathering Requirements; Listen to Customers (and Users); Use the Five Ws (and One H); Who.
- WhatWhen; Where; Why; How; Study Users; Refining Requirements; Copy Existing Systems; Clairvoyance; Brainstorm; Recording Requirements; UML; User Stories; Use Cases; Prototypes; Requirements Specification; Validation and Verification; Changing Requirements; Summary; CHAPTER 5: HIGH-LEVEL DESIGN; The Big Picture; What to Specify; Security; Hardware; User Interface; Internal Interfaces; External Interfaces; Architecture; Monolithic; Client/Server; Component-Based; Service-Oriented; Data-Centric; Event-Driven; Rule-Based; Distributed; Mix and Match; Reports; Other Outputs; Database; Audit Trails.
- User AccessDatabase Maintenance; Configuration Data; Data Flows and States; Training; UML; Structure Diagrams; Behavior Diagrams; Activity Diagrams; Use Case Diagram; State Machine Diagram; Interaction Diagrams; Sequence Diagram; Communication Diagram; Timing Diagram; Interaction Overview Diagram; Summary; CHAPTER 6: LOW-LEVEL DESIGN; OO Design; Identifying Classes; Building Inheritance Hierarchies; Refinement; Generalization; Hierarchy Warning Signs; Object Composition; Database Design; Relational Databases; First Normal Form; Second Normal Form; Third Normal Form.
- Higher Levels of NormalizationSummary; CHAPTER 7: DEVELOPMENT; Use the Right Tools; Hardware; Network; Development Environment; Source Code Control; Profilers; Static Analysis Tools; Testing Tools; Source Code Formatters; Refactoring Tools; Training; Selecting Algorithms; Effective; Efficient; Predictable; Simple; Prepackaged; Top-Down Design; Programming Tips and Tricks; Be Alert; Write for People, Not the Computer; Comment First; Write Self-Documenting Code; Keep It Small; Stay Focused; Avoid Side Effects; Validate Results; Practice Offensive Programming; Use Exceptions.