Questions about problem solving and planning for a solution through software design.

learn more… | top users | synonyms (1)

10
votes
6answers
829 views

Struggling with the Single Responsibility Principle

Consider this example: I have a website. It allows users to make posts (can be anything) and add tags that describe the post. In the code, I have two classes that represent the post and tags. Lets ...
2
votes
2answers
377 views

How do you end up with event-sourcing if you use a xDD approach?

When working in a TDD or BDD manner your unit tests are supposed to drive your design. But how do you end up with event-sourcing using a xDD techniques? As I see it event sourcing is something you ...
3
votes
4answers
245 views

How to determine the right amount of up front design? [closed]

Software developers occasionally are called upon to write fairly complex bits of software under tight deadlines. Often, it seems like the quickest thing to do is to simply start coding, and solve the ...
17
votes
7answers
849 views

What are the essential things one needs to know about UML?

I want my scribbles of a program's design and behaviour to become more streamlined and have a common language with other developers. I looked at UML and in principle it seems to be what I'm looking ...
4
votes
4answers
92 views

What is an effective way to obtain use case information from preoccupied professionals?

When designing a novel system in a hospital or other clinical setting, I think it would be important to gather information from doctors, nurses, pharmacists, technicians, et al on use cases for the ...
2
votes
2answers
183 views

Searching for entity awareness in 3D space algorithm and data structure

I'm trying to do some huge AI system just for the fun and I've come to this problem. How can I let the AI entities know about each other without getting the CPU to perform redundant and costly work? ...
5
votes
3answers
437 views

Architecture Question

I am writing a rules/eligibility Module. I have 2 sets of data, one is the customer data and the other is the customer products data. Customer data to Customer products data is one to many. Now I ...
7
votes
2answers
283 views

How many tiers should my models have in a DB driven web app?

In my experience, the "Model" in MVC is often not really a single layer. I would regularly have "backend" models and "frontend" models, where the backend ones would have properties that I want to hide ...
2
votes
1answer
219 views

How should I design a correct OO design in case of a Business-logic wide operation

EDIT: Maybe I should ask the question in a different way. in light of ammoQ's comment, I realize that I've done something like suggested which is kind of a fix and it is fine by me. But I still want ...
1
vote
2answers
377 views

Database design

I'm on the way developing an application which requires a kind of dynamic database, So this is what I want, This is the for reading the details of a class, the number of variables and methods ...
3
votes
1answer
271 views

How to Implement Restricted Access to Application Features

I'm currently developing a web application, that provides some 'service' to the user. The user will have to select a 'plan' according to which she/he will be allowed to perform application specific ...
2
votes
6answers
496 views

What is the best design decision approach?

I have two classes (named MyFoo1 and MyFoo2) that share some common functionality. So far, it does not seem like I need any polymorphic inheritance but, at this point, I am considering the following ...
11
votes
4answers
544 views

Avoiding bloated Domain Objects

We're trying to move data from our bloated Service layer into our Domain layer using a DDD approach. We currently have a lot of business logic in our services, which is spread out all over the place ...
4
votes
3answers
328 views

Which of these algorithms is best for my goal?

I have created a program that restricts the mouse to a certain region based on a black/white bitmap. The program is 100% functional as-is, but uses an inaccurate, albeit fast, algorithm for ...
7
votes
8answers
349 views

Should we write detailed architecture design or just an outline when designing a program?

When I'm doing design for a task, I keep fighting this nagging feeling that aside from being a general outline it's going to be more or less ignored in the end. I'll give you an example: I was ...
7
votes
6answers
3k 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 ...
5
votes
1answer
422 views

Design For Asynchronous User Interface

I have been working on a integration that has posed an interesting user interface conundrum that I would like suggestions for. The user interface is displayed within a third party product. The state ...
7
votes
1answer
540 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 ...
9
votes
5answers
286 views

Examples of limitations in IT due to different bit length by design

I am teaching the course "Introduction in Programming" for the first-year students and would like to find interesting examples where the datatype size in bits, chosen by design, led to certain known ...
2
votes
4answers
272 views

How one could use a live editor

I was thinking about a live editing environment where code / a source file is synchronized so that changes made by one user would be carried across to all others editing the file. Something like ...
6
votes
3answers
221 views

Quick and Good: ( Requirement -> Validation -> Design ) for self use?

How to casually do the required Software Engineering and designing? I am an inexperienced developer and face the following problem: My company is a start up and has no fix Software engineering ...
3
votes
1answer
430 views

What is block level design in context of mobile application?

I was wondering if anyone can give me some direction related to "Block level design" in context of mobile application? Recently I saw a video in my university and a professional mentioned about ...
3
votes
2answers
136 views

Design review for application facing memory issues

I apologise in advance for the length of this post, but I want to paint an accurate picture of the problems my app is facing and then pose some questions below; I am trying to address some self ...
5
votes
2answers
1k 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 ...
4
votes
2answers
142 views

How to fundamentally approach creating a 'financial planner' application?

I want to create a financial planning application (for personal use), for which the overall functionality will be this: User (me..) can create different 'scenarios'. Each scenario is configured with ...
2
votes
2answers
237 views

Write own messaging system vs. utilize existing ones

We are trying to have our own startup, with a middleware application to glue small applications with enterprise legacy systems. for such middle-ware to function properly, we will need some sort of ...
2
votes
2answers
321 views

How can I refactor client side functionality to create a product line-like generic design?

Assume the following situation similar to that of Stack Overflow: I have a system with a front-end that can perform various manipulations on the data (by sending messages to REST back-end): Posting ...
11
votes
8answers
797 views

What do you do if you reach a design dead-end in evolutionary methods like Agile or XP?

As I was reading Martin Fowler's famous blog post Is Design Dead?, one of the striking impressions I got is that given the fact that in Agile Methodology and Extreme Programming, the design as well as ...
6
votes
3answers
1k views

How was Git designed?

My workplace recently switched to Git and I've been loving (and hating!) it. I really do love it, and it is extremely powerful. The only part I hate is that sometimes it's too powerful (and maybe a ...
5
votes
1answer
756 views

Would this be a good web application architecture?

My problem Our MVC based framework does not allow us to cache only part of our output. Ideally we want to cache all static and semi-static parts, and run dynamic parts. In addition, we need to ...
0
votes
4answers
105 views

The cross-over between designing for performance/pre-mature optimisation [duplicate]

Possible Duplicate: When is optimization not premature and therefore not evil? Whilst designing my own .Net SQL access library, I found that I want everything thing to run as fast as ...
50
votes
15answers
2k views

Is it normal to think about a design problem for days with no code written? [closed]

Sometimes I stare blankly into space or sketch ideas and write some pseudo codes on paper. Then I scratch it out and start again, then when I think I have the correct solution for the problem I begin ...
4
votes
3answers
493 views

Single Responsibility Principle Implementation

In my spare time, I've been designing a CMS in order to learn more about actual software design and architecture, etc. Going through the SOLID principles, I already notice that ideas like "MVC", ...
10
votes
6answers
838 views

Is it necessary to know and understand design patterns in order to be a professional programmer? [duplicate]

Possible Duplicate: Are design patterns really essential nowadays? Is it necessary have a knowledge and understanding of design patterns for someone to be a professional programmer? Why?
2
votes
1answer
340 views

ORM Tools and advantages of circular references in entities

Let me demonstrate a simple example, Class Organization ID type Number, Name type String, HAS A -> Collection Class Facility ID type Number, Name type String, ...
0
votes
1answer
617 views

Conceptually speaking, how would I pull facebook wall posts from 100k users?

Not looking for any code snippets here, so here goes: Let's say 100,000 users on my web app have authorized my application to connect to facebook (with or without offline_access). I want to build a ...
3
votes
1answer
174 views

Silverlight UI and PRISM - how to properly break down components?

This is how my solution looks like right now. And it get's to the point where my Controls need reference to Model. It get's real tough to keep Infrastructure, Constants, Controls and Model separated. ...
6
votes
2answers
477 views

Implementing Asynchronous Insert / Update for a web application

I am in the process of implementing a small web application using memcached for caching objects and sql server for database persistence. In all the projects I have done before I have done ...
1
vote
2answers
288 views

Domain model for education

Are there any domain models already created for education industry? For example we have Prima IBCS for insurance. I was looking for something along similar lines.
6
votes
4answers
2k views

Is JavaBeans a good example of encapsulation?

I'm trying to understand if JavaBeans is a good example of encapsulation. In my view, it's not as usually all the internal state is exposed through getters and setters. A simple example is public ...
13
votes
5answers
2k views

What is the good explanation of Tennent's Correspondence Principle?

I found myself struggling to see what is this principle about and why is it so important for language design. Basically, it states, that for every expression expr in language should be exactly the ...
5
votes
4answers
436 views

Where does form processing belong in an MVC application?

I found this question on stack overflow and I have a question about one of the answers: In Zend Framework, forms are typically objects with decorators, but usually (I thought) processing is done ...
15
votes
2answers
805 views

Does objective-c's method overhead make a 'many small methods' design approach inadvisable?

I generally favour using small methods, as recommended by, amongst others, Bob Martin in Clean Code. I've also read enough about Objective-C's internals to have at least some idea about how its ...
10
votes
1answer
253 views

Drawing thread interaction

I'd like to draw (pen and pencils) threads interaction in a UML(-like) notation. I don't insist on UML, anything that is obvious to the reader should do. I started with sequence diagrams, but I don't ...
2
votes
1answer
137 views

App shell using MEF

I am designing an WPF app shell using MEF. I would like to have the app start a "view" upon startup. I also would like the option of having another add-in have a "startup" attribute and then the app ...
1
vote
1answer
299 views

Designing Subclasses for an abstract base class in C++

I'm doing a small assignment in C++ where I have to use concepts like virtual functions and inheritance in a domain of my choice. I'm implementing the prototype for a package manager in Linux. I have ...
7
votes
1answer
581 views

How to create an extendable web application?

How would you implement an extendable web application? What I'm thinking about is a web application similar to Jenkins or Hudson which provides plug-in support. While it's obvious to me how plug-ins ...
2
votes
1answer
145 views

Integration of routes that are not resources in an MVC REST style application

I would like to keep my application relatively REST-pure for the sake of consistency, but I'm struggling philosophically with the relatively few views (maybe just one) that I'll need to build that ...
11
votes
4answers
1k views

How much design to do first? [duplicate]

I have never worked with a professional software development team. As such, analyzing and thinking about each and every aspect of my software does not come naturally to me. Whenever I strike an idea ...
1
vote
3answers
152 views

How to allow filtering Films in my app intuitively? (GUI design)

I am not sure if this is the right place to ask this but I wrote an app that shows all the movies in one's computer with the appropriate info such as genre, director, rating, etc. I am wondering how ...