Software Systems Architecture

The Development Viewpoint

A considerable amount of planning and design of the development environment is often required to support the design and build of software for complex systems. Things to think about include code structure and dependencies, build and configuration management of deliverables, system-wide design constraints, and system-wide standards to ensure technical integrity. It is the role of the Development view to address these aspects of the system development process.

This viewpoint is relevant to nearly all large information system projects because almost all of them have some element of development, whether it is configuring and scripting off-the-shelf software, writing a system from scratch, or somewhere between these. The importance of this view depends on the complexity of the system being built, the expertise of the software developers, the maturity of the technologies used, and the familiarity that the whole team had with these technologies.

You need to focus here on issues, concerns, and features that are architecturally significant. You should view your work as a starting point for the more detailed design work that will be performed as part of the software development phase.

Definition Describes the architecture that supports the software development process
Concerns
  • module organization
  • common processing
  • standardization of design
  • standardization of testing
  • instrumentation
  • codeline organization
Models
  • module structure models
  • common design models
  • codeline models
Pitfalls
  • too much detail
  • overburdening the AD
  • uneven focus
  • lack of developer focus
  • lack of precision
  • problems with the specified environment
Stakeholders Production engineers, software developers and testers
Applicability All systems with significant software development involved in their creation

← The Concurrency Viewpoint     |     Viewpoints    |     The Deployment Viewpoint →