Corporate Software Project Management

by
Edition: CD
Format: Paperback
Pub. Date: 2005-01-31
Publisher(s): Cengage Learning
  • Free Shipping Icon

    Free Shipping On Orders Over $35

    Your order must be $35 or more to qualify for free economy shipping. Marketplace items, eBooks and apparel do not qualify towards the $35 purchase minimum.

List Price: $44.95

Rent Book

Select for Price
There was a problem. Please try again later.

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

eBook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

It has long been accepted in the software industry that projects will be late, over budget, and lacking in agreed upon features due to technical or time limitations. As more companies become involved with the development and deployment of large-scale software projects, it is necessary to define ways to ensure that quality products are produced. Corporate Software Project Management focuses on the three main areas for efficient software development: management, quality, and client relations. It provides a series of globally applicable methods that can enhance productivity and reduce costs within software teams, without sacrificing quality. In addition to the management aspects, the book also deals with the technical side of software engineering. This section of the book illustrates the decisions that need to be made when planning the implementation phase of the project. Examples of how software can be designed to maximize code for future projects are also included. Corporate Software Project Management provides managers, developers, and programmers with methods and techniques that will help them produce quality products from start to finish.

Table of Contents

Preface xxi
Part I The Product Development Mix
1(88)
The Liaison Center
3(16)
Introduction
3(1)
The Role of the Liaison Center
4(2)
Internal and External Clients
5(1)
Key Tasks
6(4)
Client Communication
6(1)
Scheduling
7(1)
Resource Management
7(1)
Team Coordination
8(1)
Project Database Maintenance
8(1)
Knowledge Management
9(1)
Contract Management
9(1)
Personnel
10(2)
Communication
10(1)
Documentation
11(1)
Management
12(1)
Implementing the Liaison Center
12(2)
IT Infrastructure
13(1)
Selling the Liaison Center
13(1)
Supporting Media
14(4)
Industry Standards
14(1)
Layout and Document Structure
15(1)
Information Management and Document Information Systems
16(2)
Summary
18(1)
Standards and Guidelines
19(20)
Introduction
19(1)
Defining Standards
20(6)
Date Standards
20(1)
Time Standards
20(1)
Version Standards
21(1)
Other Measurements
21(1)
Staff Initials, Usernames, and E-Mail Addresses
22(1)
Spelling and Grammar
22(1)
Document Writing Style
23(1)
Currency and Value Representations
23(1)
Volume Organization and References
24(1)
Minuting Style
25(1)
Agenda Style
26(1)
Project Documentation
26(5)
Project Phases
27(1)
Proposal Phase: Proposal Document
28(1)
Planning Phase: Detailed Plan
28(1)
Planning Phase: Contract
29(1)
Planning/Execution Phase: Requirements Definition
29(1)
Planning/Execution Phase: Functional Definition
29(1)
Execution Phase: Functional Specification
30(1)
Execution Phase: Acceptance Test Plan
30(1)
Planning/Execution/Completion Phase: User Guide
30(1)
Completion Phase: Maintenance Contract
31(1)
Coding Standards
31(3)
Comments
32(1)
Block Separators
33(1)
Function Size
33(1)
Data Collection Standards
34(1)
Reporting Templates
35(1)
Communication Documents
35(1)
Development Documents
36(1)
Summary
36(3)
Specifications
39(20)
Introduction
39(1)
Involved Parties
40(4)
The Client
40(2)
The Technical Staff
42(1)
The Management
42(1)
The End User
43(1)
The Technical Writers
44(1)
Common Mistakes
44(4)
Technical Competence
45(1)
Terminology
46(1)
User Interface Design
47(1)
Diagrams
48(6)
Notation
48(1)
Designing the Problem Area
49(2)
Data Design Diagrams
51(2)
Process Flow Diagrams
53(1)
Timing
54(3)
Phases
54(3)
Summary
57(1)
References
57(2)
Product Development
59(12)
Introduction
59(1)
Product Development
60(1)
Choosing an Appropriate Paradigm
61(1)
The Software Development Life Cycle
61(7)
Augmented Waterfall Model
63(2)
Specification
65(1)
Design
66(1)
Development and Testing
67(1)
Delivery
67(1)
Summary
68(1)
References
69(2)
Testing
71(18)
Introduction
71(1)
Testing Procedures
72(5)
Specification Testing
72(1)
Program Testing
73(1)
Unit/Module Test Procedures
74(1)
System/Integration Test Procedures
75(1)
User Acceptance Test Procedures
75(1)
Generic Test Procedure
76(1)
Test Result Documentation
77(1)
Reporting
77(1)
Compliance Sheets
77(1)
Automated Testing
78(4)
Program Testing
78(3)
GUI Testing
81(1)
Command-Line Testing
82(1)
Test Data
82(5)
Dates
83(1)
Scalar Variable Limits
84(2)
Memory and Memory Corruption
86(1)
Storage
87(1)
Summary
88(1)
Part II Principles of Corporate Software Engineering
89(180)
Requirements Definition
91(16)
Introduction
91(1)
Skeleton Requirements Definition Document
92(3)
Requirements Capture
95(4)
System Context
95(1)
Operating Environment
95(1)
End-User Services
96(1)
Supporting Services
96(1)
Documentation
97(1)
Maintenance
98(1)
The System Model
99(2)
The System Boundary
99(2)
Requirements and Definitions
101(2)
Functional Requirements
101(1)
Nonfunctional Requirements
101(1)
Glossary
102(1)
The Software Requirements Document
103(1)
Living Reference Document
103(1)
System Behavior
104(1)
Summary
104(1)
References
104(3)
Requirements Specification
107(20)
Introduction
107(1)
Skeleton Requirements Specification Document
108(11)
Functional Requirements Specification
110(1)
Nonfunctional Requirements Specification
111(1)
Hardware
112(1)
Database Requirements
113(2)
Internetworking and Mass Storage
115(4)
Program Definition Language
119(4)
When to Use a PDL
119(1)
What Is a PDL?
120(1)
What a PDL Is Not
120(1)
Examples of PDLs
121(2)
Validating the System
123(3)
Summary
126(1)
Functional Specification
127(18)
Introduction
127(1)
Process Descriptions
128(2)
Process Diagrams
128(2)
Function Definitions
130(1)
Data Dictionary
130(7)
Data Entity Description Format
131(4)
Notation Standards
135(2)
Nonsystem Functional Specifications
137(5)
Technical Specifications
138(1)
Nontechnical Specifications
139(3)
From Requirements to Specification
142(1)
Summary
143(2)
The Object-Oriented Paradigm
145(22)
Introduction
145(1)
Choosing a Paradigm
146(4)
Data Structure Diagrams
147(2)
Process-Oriented Design
149(1)
Objects and Communication
149(1)
Object-Oriented Design
150(8)
Encapsulation
150(1)
Defining the Objects
151(1)
Granularity
152(1)
Aggregation
152(1)
Inheritance
153(1)
Diagramming and Notation
154(4)
Object-Oriented Programming
158(1)
Languages
159(3)
Objects vs. Modules
160(2)
Object Testing
162(3)
Interfaces
162(3)
Summary
165(2)
Reusable Code Guidelines
167(20)
Introduction
167(1)
Reuse as a Policy
168(9)
Documentation
168(5)
Searching and Using
173(2)
Feedback
175(2)
System Granularity
177(3)
Fine-Grained Repository Artifacts
178(1)
Coarse-Grained Repository Artifacts
179(1)
Object Reuse vs. Component Galleries
179(1)
The Open Source Revolution
180(5)
Open Source Code
180(1)
License Types
181(3)
The Open Source Advantage
184(1)
Open Source Ethics
185(1)
Summary
185(2)
The Object and Component Archive
187(22)
Introduction
187(1)
Creating an Object Repository
188(8)
Tools
188(4)
Implementing Tools
192(1)
Directory Structure
193(2)
Closed Systems and Proprietary Interfaces
195(1)
Making Source Code Searchable
196(4)
Filenames and Comments
196(2)
Variable, Object, and Class Names
198(2)
Constants
200(1)
Documenting Objects
200(4)
Programmers' Guide
201(1)
Design Documents
202(2)
The Component Gallery
204(3)
Directory Structure
204(1)
Documentation
205(2)
Searchable Executable Code
207(1)
Summary
207(2)
Coding and Language Choice
209(16)
Introduction
209(1)
Language Layers
210(5)
Machine Languages
211(1)
Compiled Languages
212(1)
Interpreted Languages
213(1)
Scripting Engines
214(1)
Specific Languages
215(3)
Document Definition Languages
216(1)
Data Management Systems
216(1)
Communication Languages
217(1)
Choosing the Glue
218(1)
Compiled Glue
218(1)
Scripted Glue
219(1)
Comparison of Modern Languages
219(3)
Expertise
220(1)
Support
220(1)
Frameworks and Environments
221(1)
Portability
221(1)
Performance
222(1)
Summary
222(3)
The First Prototype
225(14)
Introduction
225(1)
Designing the Prototype
226(2)
Design Criteria
226(1)
Documentation
227(1)
The Prototype as a Skeleton
228(1)
Implementing Skeleton Prototypes
229(1)
Prototype Layers
229(4)
The Interface
230(3)
The Logic
233(1)
External Dependencies
233(1)
The Demonstration
233(1)
Active Prototypes
234(1)
Assimilating Client Feedback
234(2)
Passive Prototypes
234(1)
Pre-Delivery Conferencing
235(1)
Limited Redelivery
235(1)
Recording
236(1)
Summary
236(3)
Adding Functionality
239(14)
Introduction
239(1)
The Building Blocks Approach
240(5)
Sourcing Blocks
241(1)
Cross Coding
242(1)
Iterative Development
243(2)
OO Development Revisited
245(2)
Specification
245(1)
Testing
246(1)
Unit Testing
247(3)
Functions
247(1)
Objects
248(1)
Functional Areas
249(1)
Of Menus, Glue, and Simulating External Dependencies
250(2)
The User Interface
250(1)
Glue Code
251(1)
External Dependencies
251(1)
Summary
252(1)
Delivery
253(16)
Introduction
253(1)
Preparing the Application
254(4)
Media
254(1)
Installation Routine
255(1)
Pre-Delivery Testing
255(1)
Delivery Overview
256(1)
Security Mechanisms
257(1)
Supporting Documentation
258(5)
Installation Guide
258(1)
User Guide
259(2)
Problem Report Procedure
261(2)
Additional Customization
263(2)
User Customization
264(1)
Change Request Procedure
264(1)
Effect on Maintenance
265(1)
Training
265(1)
Training Staff to Train Others
266(1)
Summary
266(3)
Part III Principles of Software Quality Control
269(74)
Promoting Corporate Quality
271(16)
Introduction
271(1)
Projecting Quality
272(3)
Communicating Quality
273(1)
Documentation
274(1)
Rewarding Quality
274(1)
Managing Quality
275(5)
Quality Reviews
275(2)
Quality Checklists
277(1)
Total Quality Management
278(1)
Quality Circles
279(1)
Documenting Quality
280(4)
Process Description Documents
281(1)
Benchmark Reporting
282(1)
Badges
283(1)
Summary
284(3)
Testing Procedures
287(22)
Introduction
287(1)
Consequences of Weak Testing
288(6)
Weak Testing
289(1)
When to Use Weak Testing
290(4)
Weak vs. Strong Testing
294(3)
When to Use Strong Testing
295(2)
Testing Implies Quality
297(3)
Correctness
298(1)
Robustness
299(1)
Correct Behavior and Fitness for Use
299(1)
System Dependencies
300(4)
Prevention and Cure
301(3)
Testing vs. Certification
304(2)
Why Certification?
305(1)
Certification Test Cases
305(1)
Summary
306(3)
Feedback Techniques
309(16)
Introduction
309(1)
Reporting Line
310(4)
Documenting the Reporting Line
310(2)
The Reporting Line Document
312(2)
Central Communication---The Liaison Center Revisited
314(7)
Quality Management
315(2)
Quality Measurement
317(4)
Supporting the Reporting Process
321(3)
External Documentation
322(1)
Motivation via Improvement
323(1)
Summary
324(1)
Client Satisfaction
325(18)
Introduction
325(1)
Testing for Client Satisfaction
326(5)
Pre- and Post-Project Surveys
327(2)
The Goal of Software Engineering: Quality Products
329(2)
Planning for Failure
331(5)
Poor Quality Requirements Capture
332(2)
Poor Quality Implementation
334(1)
Lack of Testing and Quality Control Procedures
335(1)
Managing Client Dissatisfaction
336(4)
The Problem Domain
337(2)
Poor Quality Specifications
339(1)
Summary
340(3)
Appendix A: Implementation Strategies and Guidelines 343(20)
Appendix B: About the CD-ROM 363(2)
Index 365

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.