Software Engineering Is Differentiated From Computer Science 
CCG uses the engineering approach to all its services. This means that the emphasis is always to deliver conservative results which are clearly documented using well established technology that is maintainable for the foreseeable future. Computer science often includes advances in the state of the art. Software engineers specialize in applying these advances once they have stabilized and the unknowns minimized. An analogy is helpful in understanding the difference between programming and software engineering. Programming is to software engineering as carpentry is to architecture and construction.
  • Real-time / safety-critical systems
  • Financial services applications
  • Consumer entertainment products
  • Data-base driven web applications

Development and Production
The approach to software development has been used in the software engineering course (Engineering the Software Product) given by John Cosgrove in the graduate school of UCLA and Loyola Marymount.

  • The Software Product Lifecycle -- How it differs from other engineered systems
  • Matching software process to system scale
  • Engineering economics of adequate process
  • Software process models -- Capability Maturity Model, IEEE 1074, etc.
  • Requirements Management & Requirements Engineering - C & D requirements, lifecycle issues
  • Software Architecture -- Identifying architectural types and need for multiple architectural views - Logical, process, development, physical, etc.
  • Metrics - Measures of size, effort and quality; use in planning & tracking during the project lifetime
  • Role of Software Development Environments -- Levels of toolset integration, cost/benefit tradeoffs
  • Software Risk Management -- Identifying, quantifying and controlling risk
  • Software Reuse – Making reuse work, need for standards, architecture and non-technical issues
  • Maintaining quality -- Review, inspection and testing; ISO 9000, etc.

Project Management 
The group views software project management in terms of the methodologies developed by the leading authorities in the profession currently associated with USC’s Center for Software Engineering (CSE). The founder and associates have participated in and supported the professional activities at CSE and use their widely accepted methodologies and tools in consulting on software project management.

  • Project review and process optimization
  • Project requirements review and system development
  • Technical and design specifications
  • Training for management and developers
  • Software development/publishing contracts and licensing agreements
 

Company Information | Consulting Specialties | Project Profiles

Cosgrove Consulting Group • Los Angeles • Phoenix • (310) 823-9448 • info@cosgroveconsult.com
© 2001-2002 Cosgrove Computer Systems, Inc. All Rights Reserved.