Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Domain Specific Software Engineering (DSSE)

DZone's Guide to

Domain Specific Software Engineering (DSSE)

· Integration Zone
Free Resource

Discover how Microservices are a type of software architecture where large applications are made up of small, self-contained units working together through APIs that are not dependent on a specific language. Brought to you in partnership with AppDynamics.

Domain Specific Software Engineering (DSSE) believes that creating every application from nothing is not advantageous when existing systems can be leveraged to create the same application in less time and with less cost.  This belief is founded in the idea that forcing applications to recreate exiting functionality is unnecessary. Why would we build a better wheel when we already have four really good and proven wheels? DSSE suggest that we take an existing wheel and just modify it to fit an existing need of a system. This allows developers to leverage existing codebases so that more time and expense are focused on creating more usable functionality compared to just creating more functionality. As an example, how many functions do we need to create to send an email when one can be created and used by all other applications within the existing domain?

Key Factors of DSSE

  • Domain
  • Technology
  • Business

A Domain in DSSE is used to control the problem space for a project. This control allows for applications to be developed within specific constrains that focus development is to a specific direction.
Technology in DSSE offers a variety of technological solutions to be applied within a domain.

Technology Examples:

  • Tools
  • Patterns
  • Architectures & Styles
  • Legacy Systems

Business is the motivator for any originations to use DSSE in there software development process.

Business reason to use DSSE:

  • Minimize Costs
  • Maximize market and Profits

When these factors are used in combination additional factors and benefits can be found.

Result of combining Key Factors of DSSE

  • Domain + Business  = Corporate Core Competencies
    • Domain expertise improved by market and business expertise
  • Domain + Technology = Application Family Architectures
    • All possible technological solutions to problems in a domain without any business constraints. 
  • Business + Technology =  Domain independent infrastructure
    • Tools and techniques for building systems  independent of all domains 
  • Domain + Business + Technology = Domain-specific software engineering
    • Applies technology to domain related goals in the context of business and market expertise

Discover the six challenges and best practices in managing microservice performance, brought to you in partnership with AppDynamics.

Topics:

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}