Software design is a process of problem solving and planning for a software solution.

learn more… | top users | synonyms

4
votes
2answers
213 views

Buzzword for “performance-aware” software development

There seems to be an overabundance of buzzwords for software development styles and methodologies: Agile development, extreme programming, test-driven development, etc... well, is there any sort of ...
0
votes
2answers
173 views

Subclassing to avoid line length

The standard line length of code is 80 characters per line. This is accepted and followed by the most of programmers. I working on a state machine of a character and is necessary for me follow this ...
3
votes
3answers
450 views

How bad is it to have two methods with the same name but different signatures in two classes?

I have a design problem related to a public interface, the names of methods, and the understanding of my API and code. I have two classes like this: class A: ... function collision(self): ...
-1
votes
3answers
91 views

Choosing right database for school administration system [closed]

I need to choose the right database for the open source school administration system, which will be presented at one contest. As in Czech there is another one. Its main disadvantages are high fees ...
6
votes
2answers
698 views

Front end written in languages used for back end! [closed]

From my experice in web development, I know that languages like PHP,Java,Python..etc is used for backend development stuff (software that running on server), and for front end stuff languages like ...
0
votes
2answers
97 views

Is there a better way to organize my module tests that avoids an explosion of new source files?

I've got a neat (so I thought) way of having each of my modules produce a unit-test executable if compiled with the -DTESTMODULE flag. This flag guards a main() function that can access all static ...
3
votes
1answer
109 views

Designing and refactoring of payment logic

Im currently working on an application that helps users to coordinate dinner clubs and all related accounting. (A dinner club is where people in a group, take turns to cook for the rest and then you ...
0
votes
1answer
130 views

In an optimal software design, would you ever need to throw InvalidOperationException?

.NET defines the InvalidOperationException as The exception that is thrown when a method call is invalid for the object's current state. In an optimal software design, would it ever make sense ...
1
vote
1answer
67 views

Open source development life cycle [duplicate]

I am working as a IT-developer. I am developing J2EE application in our own life project cycle methodology. I have seen and learnt so many SDLC cycle models in order to develop a project but this ...
0
votes
1answer
105 views

Architecting Domain Layer and other modules with dependency injection in mind

I am currently new to Dependency Injection pattern. I am influenced by link by Mark Seemann. I have a confusion regarding whether an interface for an agent class of some agent module should be ...
3
votes
4answers
211 views

Generic term for “objects” vs “fundamental types”?

What are the exact terms to call data types with a logic structure (like C structures, C++ or Java objects) versus fundamental data types (like numeric types, characters, booleans...) independently of ...
0
votes
1answer
303 views

Component based software engineering vs Service Oriented Architecture [duplicate]

What is the real difference between component-based software engineering and Service Oriented Architecture? Clemens Szyperski and David Messerschmitt present the following five principles that a ...
-3
votes
1answer
92 views

How do you call the discipline which consist of making the right choice of language/paradigm/class diagrams? [closed]

As a physicist, I've learnt programming on my own. But I would like to know the name of the discipline (like algorithmics is the discipline of designing algorithms) which consists of : making the ...
2
votes
2answers
96 views

How to formalize feature requests

I'm new to developing software and have been handling feature requests for an internal web-app I built. Sometimes the feature requests are straight-forward and require minimal business logic for me ...
-2
votes
2answers
378 views

When creating an open source project, is coding in VB.net a bad idea? [closed]

I am planning on creating an open source project, however, I was wondering if developers tend to steer away from projects that are coded in VB.net, even if they know VB.net. From what I have read, ...
2
votes
1answer
203 views

What is the general format of a Software Design Specification?

I'm trying to document a piece of software I wrote in detail. An SAS is too high level and doesn't cover the API. I found several examples of an SDS online, but I don't see a trend in their format. ...
1
vote
5answers
314 views

Is it sometimes reasonable to cut corners and expect to re-write software in a couple of years? [duplicate]

I work for an organization with one developer (me) and one DBA. When I started, the previous developer had developed applications that had bad architectural practices and it was getting and more time ...
1
vote
2answers
147 views

Event based logging. Is it a good idea and is it ok to pass a handle to a “logged” object?

Hi I have fairly complex program that is doing computations in a quite large loop. I want to log some basic statistic about the run to be able to analyze its performance over time and vs loop number. ...
5
votes
5answers
614 views

Migration from a complex C++ application to C# a — good idea?

We currently have a complex VC++ software application, which uses a library like ObjectARX to build the dll. I feel there are many features in C# like Collections, Generics, and other libraries which ...
0
votes
2answers
290 views

Recommended Abstraction to transfer data over a nework than byte[] array?

I was curious, why do we prefer byte[] array to transfer data over the network and not anything else? Or if I am missing anything, what are the other ways to transfer the data over a network.
0
votes
2answers
148 views

Building a tool to fix compiler errors automagically

When a program doesn't compile, error messages are sometimes esoteric. Often a simple Google search leading to a site like stack exchange solves the problem. Now why can't we automate this? How ...
1
vote
1answer
95 views

Software Design Stability , YAGNI and Agile [duplicate]

I've met the criterion of good system desing as its stability relative to requirements change. Small req. changes should raise small changes in design. Yet I have gut feeling that almost for any ...
1
vote
3answers
229 views

Synchronization in the given Code

I had an interview few weeks back, and I was asked to write a code with Setters and Getters. I had written the following code; // Just an example Class ABC{ private int num; public void ...
2
votes
2answers
165 views

In MVC software, who should load the models?

I'm working in a REST JavaScript client, and I'm trying to follow the MVC pattern, but a very basic question came to my mind: who should make the http request and load the data into the model? My ...
0
votes
0answers
79 views

How do I explain the importance of NUNIT Test cases to my Colleagues [duplicate]

I am currently working in Software Development for applications including lot of Mathematical Calculations. As a result there are lot of test cases that we need to consider. We donot have any NUNIT ...
0
votes
2answers
141 views

Use Case Diagrams - should I create a diagram just for a view business rule? [closed]

I'm modeling a UCD where I have two actors ( a content producer and a developer).. the content producer is going to create and specify details of a storyboard functionality, and the other actor ...
0
votes
1answer
87 views

Share Mulitple Classes as one dll or a lib with Mulitple Projects

Currently I have some shared class files(.cpp and .h) which I include them in around 20 Projects. Currently I have to include them in all of the projects. So if I get some business requirments and I ...
1
vote
3answers
190 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 ...
5
votes
2answers
291 views

Solutions for floating point rounding errors

In building an application that deals with a lot of mathematical calculations, I have encountered the problem that certain numbers cause rounding errors. While I understand that floating point is not ...
2
votes
3answers
162 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
150 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
364 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
315 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
116 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
347 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
429 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
422 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
126 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
391 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
291 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
192 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
217 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
265 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
415 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
954 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 ...
8
votes
4answers
321 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
140 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
338 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 ...
6
votes
4answers
625 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 ...