Skip to main content
63 votes

If software engineering means making software for other domains when are you supposed to get the knowledge about that other domain?

Software is a knowledge-intensive area. And a big part of the software engineer's work is to extract the domain knowledge from the users and domain expert, abstract it, and transform it into ...
Christophe's user avatar
  • 78.4k
24 votes

If software engineering means making software for other domains when are you supposed to get the knowledge about that other domain?

Same applies to journalists. They write stories about many domains. What about graphic artists, too? Any occupation that works with other occupations has the same problem. You need to work with people ...
Greg Burghardt's user avatar
17 votes
Accepted

Does every member of an agile team need to be a software developer?

No. This is definitely not agile. Nor is it a good idea. Cross-functional teams, i.e. teams that include every role (analyst, server admin, database admin, UX designer, QA tester, technical writer, ...
Jörg W Mittag's user avatar
14 votes

Who are the domain experts?

What is a domain expert ? When you develop software using Domain Driven Design, the primary focus should be on the domain model, that is a representation of the domain in which the software will be ...
Christophe's user avatar
  • 78.4k
14 votes

If software engineering means making software for other domains when are you supposed to get the knowledge about that other domain?

How can you make software for lawyers if you're not familiar with the jargon? By first making Bad software for Lawyers Like any symphony, any sport, any activity at all, you always start by being bad ...
Kain0_0's user avatar
  • 16.2k
13 votes

What is a proper diagram to describe software architecture

What is the purpose of the layers ? The clean architecture aims to achieve separation of concerns, by dividing the software into concentric layers. The main difference compared to the traditional ...
Christophe's user avatar
  • 78.4k
10 votes

UML: what is the correct order of steps?

UML is just a language to draw pretty pictures with some chance that others understand what the shapes mean without an extensive explanation from you. UML does not tell you which diagrams to use in ...
Bart van Ingen Schenau's user avatar
8 votes

If software engineering means making software for other domains when are you supposed to get the knowledge about that other domain?

Division of labor A car is a machine whose function derives from chemistry, i.e. the combustion of fuel (chemistry). But the people who build cars on production lines are not chemists nor chemical ...
Flater's user avatar
  • 52.5k
8 votes

what is the difference between system requirements and software requirements?

If all you are doing is writing software, then the distinction is largely meaningless. System requirements relate to the system as a whole. They may relate to hardware, software, processes, ...
Simon B's user avatar
  • 9,633
7 votes

How minimum-documentation agile development is compatible with requirement that business processes should be documented?

This is a rather unusual interpretation of “Working Software over comprehensive documentation” value. This value of Agile manifesto was created as a reaction to the projects where documentation ...
Arseni Mourzenko's user avatar
6 votes

Does every member of an agile team need to be a software developer?

Is this the way other companies also implement agile? Unfortunately, yes. There are a lot of companies where Agile is imposed by management, or at least what they think is Agile (which of course isn'...
Bogdan's user avatar
  • 3,620
6 votes

What is a proper diagram to describe software architecture

Consider Simon Brown's C4 model. In summary (from Wikipedia), Context diagrams (level 1): they show the system in scope and its relationship with users and other systems; Container diagrams (level ...
ximiki's user avatar
  • 345
6 votes

If software engineering means making software for other domains when are you supposed to get the knowledge about that other domain?

There's a distinction to be made between requirements and design. Certainly, a software engineer of some kind is usually responsible for translating requirements into a design. However, it is not the ...
John Wu's user avatar
  • 26.6k
6 votes

UML: what is the correct order of steps?

Bart van Ingen Schenau's answer is right in that UML is just a language and not a methodology. However, there are some methodologies that are built around tools (including UML), such as the Rational ...
Thomas Owens's user avatar
  • 83.3k
5 votes
Accepted

Understanding use case levels

This terminology was introduced by Alistair Cockburn in his book Writing effective use cases. The idea is that the sea level corresponds to the concrete goals of a business user in his everyday life....
Christophe's user avatar
  • 78.4k
4 votes

How to centralize functional requirements and domain knowledge for quick access?

Doors... (shudders uncontrollably) A well-organized wiki can serve this purpose very well. Articles about "features" and "components" can be organized with any useful structure, and cross-linked for ...
zerobandwidth's user avatar
4 votes

Does every member of an agile team need to be a software developer?

What they are doing is nonsense. For example, if you make a software developer take on a QA role: One, the software developer doesn't have the required experience. It's all things that can be ...
gnasher729's user avatar
  • 45.9k
4 votes

Does it make sense to draw business processes when designing a software solution

I doubt in this due the fact that I know this piece already and I can start the design and prototype development immediately. Do you see business process as good starting point when designing ...
Phill  W.'s user avatar
  • 12.4k
4 votes
Accepted

How to improve this class diagram of a system with its components

When it comes to class design, always bear in mind that it is less about mirroring the real world objects and more about organizing your thoughts and reducing complexity behind a use-case like brake()....
Ozan's user avatar
  • 370
4 votes

How to formally figure out the best design based on the informal user's description of their needs?

You actually aren't far off the mark. If your client cannot clearly say what he wants your best bet would be to 1. talk to him! 2. knock up a quick prototype 3. listen to what he says. Repeat until ...
Nick Keighley's user avatar
4 votes
Accepted

Consider as a single class or attribute/operation of existing class?

This RUP process as you described it follows a BDUF approach which is IMHO not well-suited for making detailed design decisions like "should longitude/latitude just be two attributes, or should it ...
Doc Brown's user avatar
  • 209k
4 votes

If software engineering means making software for other domains when are you supposed to get the knowledge about that other domain?

This is a problem that will solve itself in any project in an interactive, iterative way. So you start with zero knowledge about the domain you get to make software for. Your client will be aware of ...
Martin Maat's user avatar
  • 18.4k
4 votes

What are the modern systems analysis and design methodologies/patterns?

"Systems analysis and design" is not a clear term. The concept of system analysis, referring to activities that analyze, model, simulate, or conduct experiments to determine feasibility, ...
Thomas Owens's user avatar
  • 83.3k
4 votes
Accepted

A Case Study Dataflow Diagram

1. Data flows from and to the data store: The Gane & Sarson DFD notation, which used in this diagram, tells that there is indeed a flow of data corresponding to Product Item from the process ...
Christophe's user avatar
  • 78.4k
3 votes

Does every member of an agile team need to be a software developer?

Although Agile's origins are in the software development realm, iterative approaches to development have been around since the late 50s and was used in early NASA days (see https://en.wikipedia.org/...
Steve's user avatar
  • 1,319
3 votes

How minimum-documentation agile development is compatible with requirement that business processes should be documented?

Process documentation only has to be written once. If that's a requirement for doing business either within your company or with your client, then that work is part of sprint 0 (i.e. the very first ...
Berin Loritsch's user avatar
3 votes

Does it make sense to draw business processes when designing a software solution

For some development projects, drawing business processes may a helpful tool for communication or documentation, for collecting or validating requirements, for designing the structure of the system, ...
Doc Brown's user avatar
  • 209k
3 votes
Accepted

What kind of diagrams should I use for design before starting a programming a project?

The first thing you have to do, is to get an overview on the requirements. Two diagrams that may help: The UML use case diagram , to identify the main functions offered by your system to the user. ...
Christophe's user avatar
  • 78.4k
3 votes
Accepted

How to prevent bugs in business-level configurations with similar discipline as in source code?

The iron rule of software is: Garbage in, garbage out To cope with this hard fact of life, you need to address the requirements that you've discovered. Configuration process The configuration ...
Christophe's user avatar
  • 78.4k
3 votes
Accepted

Data Flow Diagram for patient information system for a hospital

You seem to be mislead by the name of the process Maintain patient info, which suggests that patient records are created there. If we forget about the assumption and look at the flows involving the ...
Christophe's user avatar
  • 78.4k

Only top scored, non community-wiki answers of a minimum length are eligible