Software design is a process of problem solving and planning for a software solution.
1
vote
3answers
169 views
Should I force users to update an application?
I'm writing an application for a medium sized company that will be used by about 90% of our employees and our clients.
In planning for the future we decided to add functionality that will verify that ...
2
votes
3answers
138 views
When presenting a software design to upper management
I'm having to present a software design for approval today and as I'm going through the hundreds of pages of design documentation, cherry picking what's important, I'm unsure if I should start with ...
0
votes
1answer
78 views
How to construct UML activity diagram reflecting real programmed source code as docs
Please, tell me the things I must use for modeling an (Enterprise Architect) activity diagram of
object1.method1() calls object2.method2()
I'm able to dragndrop a method of a class from model ...
4
votes
4answers
316 views
Is it bad programming practice to check if a class referenced by its interface is an instance of another class?
I have a class (Timer) with an array list of Timable objects. Timeable is an interface. There is some specific functionality that I need for the Trigger class (implements Timable), which has a ...
2
votes
3answers
224 views
Is it completely impossible to have total separation without leakage of any kind in a design? [closed]
For the past week I have been attempting to write a proof-of-concept project using dependency injection, a service layer, unit of work pattern + repository.
I am looking to design something that can ...
1
vote
1answer
107 views
What's a good way for a program to process an email mailbox?
Let's have a program that checks an email mailbox and then "processes" the messages contained there. (For this question it doesn't really matter what it actually does with the message). The program ...
3
votes
3answers
287 views
Simple questions to test understanding of Dependency Inversion Principle
I am preparing a short (1-2 hour) presentation about DIP to several (~5) junior developers (1-3 yr xp) in the office. At the end of the presentation I want to know whether they understood what I was ...
10
votes
3answers
368 views
Dependency Inversion Principle: How to define “high-level policy” and “low-level detail” to other people?
I am trying to explain the dependency inversion principle to my (mostly junior) colleagues. How can we define which one is the "high-level policy" and which one is the "low-level detail" in a ...
8
votes
4answers
384 views
What is the meaning of “inversion” in `Dependency Inversion Design Principle
I'm reading Design patterns. I know what this principle do. high-level and low-level classes are depend on abstractions. But why we say this inversion?
0
votes
1answer
112 views
Are there any fully documented “Stories of software design”? [closed]
It was hard to title, let me be more explicit:
Basically I'm an decent programmer with a wide breadth of knowledge but very, very little depth and very little experience. I'm essentially a beginner; ...
2
votes
2answers
269 views
How to use MVC in practice
I'm very confused. I can't even begin to understand how MVC would be implemented outside of web development. This might seem like too general a question, but how would one apply MVC. I have the ...
3
votes
5answers
276 views
Entropy in large scale software systems [duplicate]
I work on a fairly large software system and over the years it has accumulated a lot of entropy. There is plenty of scope for refactoring but there is always pressures to build the next features upon ...
2
votes
2answers
176 views
Overcoming circular reference
I am working on an asp.net MVC web application which contains several projects.
One is BusinessObjects, which contains business logic / processes.
Another is EmailGeneration which is used to send ...
2
votes
4answers
207 views
How can I better manage far-reaching changes in my code?
In my work (writing scientific software in C++), I often get asked by the people who use the software to get their work done to add some functionality or change the way things are done and organized ...
3
votes
2answers
212 views
null values vs “empty” singleton for optional fields
First of all I'm developing a parser for an XML-based format for 3D graphics called XGL.
But this question can be applied to any situation when you have fields in your class that are optional i.e. the ...
5
votes
2answers
274 views
Constant values in the interface
Some time ago I have read two different books and each of them gives totally different answer for the question if it is a good pattern to define constant values in the interface (in java).
So I am ...
14
votes
6answers
793 views
How can I improve my skills while working on actual projects, in the absence of more experienced developers?
I'm the lead developer at a small company, working with C# and ASP.Net. Our team is small, 2-3 people, without much experience in development and design. I don't have the opportunity to learn from ...
-3
votes
1answer
329 views
Which pattern is best for large project [closed]
I have several years of software development experience, but I am not a keen and adroit programmer, to perform better I need helping hands. Recently I engaged in an ERP project. For this project ...
8
votes
4answers
302 views
Rapid prototyping and refactoring
Sometimes when I start a small project (like an android app), I don´t know which approach will work out at the end, and I just go for one approach and give it a try. But if I never used this approach ...
0
votes
3answers
134 views
Best practice to propagate preferences of application
What is your approach with propagation to all classes/windows of preferences/settings of your application?
Do you share the preference_manager class to all classes/windows who need it or you make ...
43
votes
12answers
3k views
Is it bad practice to pass instances through several layers?
In my program design, I often come to the point where I have to pass object instances through several classes. For example, if I have a controller that loads an audio file, and then passes it to a ...
2
votes
2answers
288 views
Is switch-case over enumeration bad practice?
I have an enumeration with the commands Play, Stop and Pause for a media player. In two classes I do a switch-case over the received commands. The player runs in a different thread and I deliver the ...
8
votes
6answers
449 views
Book with some actual software project designed
Do you know a book where an actual software piece is designed as an example and all steps are mentioned?
I assume that I have a project alone so communication of ideas is not an issue.
I'd like to ...
6
votes
4answers
568 views
Software design by pseudocoding?
Do you know a good way to design (i.e. write down) software with a method based on pseudocode?
I'm new to software design and read some information about UML. My humble class hierarchies are good so ...
2
votes
2answers
512 views
Equivalent of Domain Driven Design for functional programming languages
I really love the idea of domain driven design, however, as I'm learning Go, I'm wondering if there's the equivalent of DDD that's aimed at an effectively more functional language?
8
votes
7answers
579 views
How do professional software development teams deal with design complexity in non-trivial projects?
First, I realize this question may by somewhat long and vague and I apologize for this. This is probably a basic problem with a short name to anybody who's "got it", but as I find myself lacking in ...
0
votes
2answers
245 views
Django development best practices
I have spent some time studying Django and I've done some applications. But I really don't know what is the best approach while developing an application, I mean, there are several options: Make all ...
4
votes
2answers
111 views
Maintaining Organization When Designing Software
I've been trying for years to come up with a good way to organize the massive amounts of notes and material I generate when designing, coding, and testing software. My desk is usually overflowing with ...
7
votes
5answers
340 views
Reengineering the project from scratch [duplicate]
Possible Duplicate:
When do you rebuild an application or keep on fixing the existing one
I am currently working on a project that has been in development for the last few years used ...
17
votes
4answers
1k views
Best Practices for Redesigning a Database
I'm aware of some general best practices when designing a database for an application, but what about redesigning?
I'm on a team tasked with re-designing an internal business application, though ...
1
vote
4answers
296 views
Design Document From Code
I am not much familiar with documenting/System designing stuff.
I have to maintain an application written in C# - working as windows service.
However there is no documentation for this system which ...
11
votes
5answers
505 views
Is it reasonable to expect knowing the whole stack bottom up?
I am an Sr. developer/architect/Product Manager for embedded systems. The systems that I have had experience with have typically been small to medium size codebases - typically close to 25-30K LOC in ...
6
votes
6answers
2k views
Are Get-Set methods a violation of Encapsulation? [duplicate]
Possible Duplicate:
When are Getters and Setters Justified
In an Object oriented framework, one believes there must be strict encapsulation. Hence, internal variables are not to be exposed ...
7
votes
1answer
388 views
How can I gather client's data on Google App Engine without using Datastore/Backend Instances too much?
One of the projects I'm working on is online survey engine. It's my first big commercial project on Google App Engine.
I need your advice on how to collect stats and efficiently record them in ...
5
votes
2answers
777 views
How to do thread management in C++?
We use pthread for thread management in C based systems. pthread is in general compilable by C++ compiler (like g++). However, what are the better ways of abstractions for threads in C++?
Also, for ...