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

learn more… | top users | synonyms (1)

20
votes
9answers
4k views

Delegate vs Interfaces-Any more clarifications available?

After reading the article- When to Use Delegates Instead of Interfaces (C# Programming Guide), I need some help understanding the below given points, which I found to be not so clear (for me). Any ...
10
votes
1answer
264 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 ...
7
votes
1answer
669 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 ...
14
votes
9answers
1k views

We're not a software company. Is a complete re-write still a bad idea? [duplicate]

I understand the reasoning behind Joel Spolsky's article "Things You Should Never Do, Part I", but I always see it referenced in regards in situations where the end goal is the production of software. ...
12
votes
4answers
2k 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
1answer
328 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 ...
13
votes
3answers
6k views

Is there a list of common usernames to reserve in a new system?

I need to reserve usernames in my new website. These generally fall into three categories 1) usernames no-one should have (eg: admin, user, service, help, root, etc) 2) names of super famous people ...
1
vote
3answers
163 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 ...
6
votes
2answers
618 views

Thread class design?

I have a method like this in my UI code: void MyDialog::OnCommandSaveData() { std::list<MyClass*> objects; service_->GetAll(objects); dataService_->SaveObjects(objects); ...
7
votes
2answers
2k views

Decoupling UI code?

In my application I have several event handlers that perform some action in response to user interface events such as a button click or menu selection. The code in these event handlers looks like ...
3
votes
5answers
692 views

Config Class/Struct: Pattern or Anti-Pattern? Alternatives?

If you add new configuration options to a program, it can often have tons of ripple effects in terms of getting the options to where they need to be acted upon. There are three basic ways to deal ...
7
votes
2answers
231 views

OO Design principle name?

I think I remember reading somewhere that one of the principles of good OO design is to write methods which take the least derived type possible, but return the most derived type possible? First, is ...
1
vote
3answers
801 views

what are your web application server side layering design rules and the best practices you like to apply?

A web application is often designed to be layered. Typically there would be a Repository (Dao) layer, a Service layer and a Control (web handling) layer. The Control layer uses the Service layer which ...
11
votes
5answers
1k views

You write the server, I write the client: Best practices for designing an API?

I'm working on a brand new application that involves a client and a server. Specifically, it's a native mobile app talking to a web server, using a custom API that we will define. I was hired to write ...
3
votes
2answers
129 views

Displaying and processing objects in a list?

I currently have code like this to display some objects that meet some criteria in a grid: // simplified void MyDialog::OnTimer() { UpdateDisplay(); } void MyDialog::UpdateDisplay() { ...
4
votes
1answer
360 views

Does anyone have suggestions for design or open source libraries specifically for a single page AJAX application? [closed]

I'm working on a major new version of a browser based application and I'm looking for comments/suggestions about the architecture/design. It's a single page application using AJAX and client side ...
31
votes
18answers
2k views

Should a developer argue against unnecessary or harmful features?

What is a good attitude from developers when discussing new features, and namely, non critical/questionable features? Say you are developing some sort of Java like language, and the boss says: "We ...
4
votes
5answers
276 views

Should the admin interface of a public-facing webapp be accessible externally?

I am working on an application right now that needs a way for employees to log in to the back-end of the public facing application for some basic reporting. If you were creating this, would you put ...
5
votes
3answers
158 views

Maintaining a list of nodes with challenging requirements

This is a question regarding the design of a collection of ordered nodes which have some requirements that I am struggling to satisfy. In the problem area that I am dealing with we have routes which ...
5
votes
4answers
441 views

TekPub Feedback

Following on from a previous thread that had a link to TekPub, I have just had a quick look and I think it looks pretty impressive. Are any of you guys subscribers and if so would you recommend it? ...
4
votes
6answers
299 views

Newbie worried about CASE tool

I'm looking for some guidance on CASE tools and whether my concerns are valid. Recently I was in a meeting between my employer and an external software company which have a CASE tool currently in ...
3
votes
1answer
286 views

Do “Builder” static methods violate SOLID?

I am writing a class which consists mostly of data storage responsibilities. The context for the use of this class will, in general, be retrieving an array of objects of this type for display later. ...
3
votes
3answers
1k views

How do we handle Categories in database schema and model classes

I am trying to develop an ecommerce solution but stuck on the categories management issue and don't know how to proceed further. See, A category will have a parent category, which in-return can also ...
4
votes
4answers
936 views

Should I learn design patterns or algorithms to improve my logical thinking skills? [duplicate]

Possible Duplicate: How can I improve my problem-solving ability? When starting a programming task, I have trouble breaking it up into steps and figuring out how to go about solving it. I ...
6
votes
4answers
233 views

Using a SDK with crazy code

I recently had to work with an SDK that had a lot of crazy parts*. Not using the SDK was not an option as it had to talk to some third party software. What is the best way to deal with the crazy ...
6
votes
7answers
941 views

How to cope with the problem of (compiling) a large code base?

Although I can code, I don't yet have any experience with working on large projects. What I did so far was either coding small programs that get compiled in matter of seconds (various c/c++ exercises ...
0
votes
2answers
275 views

What should I do when my project manager does not care about implementation details?

My project manager, when providing requirements for specific tasks, does not care about the implementation details. Although he has a programming background and has some knowledge of the MVC ...
3
votes
1answer
292 views

How a .NET dev team should be designing and delivering greenfield projects? [closed]

Some of the hottest topics in the software world atm are: Domain-Driven Design SOLID principles Agile methodologies ORM Now assuming that you are not currently using all of these in your team, ...
3
votes
2answers
715 views

Good Design and how to achieve Low Coupling?

what do you think about this design? In this image i have reported the dependencies between packages. I would like to reduce the coupling between them, but do you have any idea about how to do ...
3
votes
5answers
249 views

How to decide which classes are necessary for the system

I know design principles and design patterns in theory. But it's embarrassing to realize that it's not clear when applying it in practice. For example, let's think about simple tic tac toe console ...
17
votes
8answers
5k views

What is the best way to design a web site to be highly scalable?

For websites that need to be highly scalable, such as social networks like facebook, what's the best way to design the website? Should I have a web service which the site queries to get data that it ...
3
votes
5answers
579 views

Designing for an algorithm that reports progress

I have an iterative algorithm and I want to print the progress. However, I may also want it not to print any information, or to print it in a different way, or do other logic. In an object oriented ...
5
votes
7answers
542 views

As a novice, how can I best overcome the complexity of larger projects?

Currently, I'm a student and I can tackle all my assignments which only require, at most, 3-5 classes to implement. Now, I'm wanting to develop programs on a bigger scale but I am having a really ...
3
votes
1answer
527 views

Login with Twitter or Facebook - How to link accounts

I've been developing a site and I've been trying to come up with a method to make sure all Social Network accounts of a certain user are linked together. I've had one snag from the start, and maybe ...
5
votes
10answers
5k views

What do we mean by “design” in software engineering?

I have been reading about different software methodologies. Every method has a design phase to some extent, more or less. I am not clear on what we mean by designing. Does this mean writing your ...
2
votes
6answers
602 views

Why most of large corporations websites are bad? [closed]

As a electronic customer, I sometimes have to go to manufacturer's websites to find information about products, drivers/firmware update, etc. More ore less, most of these websites, IMO, are bad. ...
12
votes
7answers
835 views

Should a design document contain a discussion of the pros/cons to a given design or should it focus on facts and rationale?

I'm currently in the process of updating a design document so that it is correct and up-to-date for future developers. Currently, the document focuses on only the facts, presenting how the design is. ...
6
votes
4answers
229 views

Injecting properties/settings into an application

In applications that I write at work, I often need to have an external properties/settings file so that certain parameters can be configurable after the application is deployed with the end-user. The ...
3
votes
7answers
861 views

Pass in single settings object vs multiple setter methods?

Working with C++. Suppose I have a class BoxFilter. The class is used to filter boxes which have properties such as height, width, depth, weight, etc. The filter might have something like MaxWidth ...
9
votes
9answers
703 views

Should development methods squash a developer's individualism?

I'm in my final semester of college and am taking a software engineering course. In the class we learn about various software development methods. The one we focused on, and used to develop our ...
0
votes
2answers
1k views

What are the current problems involved in software engineering programming patterns? [closed]

can someone suggest me the current problems in software engineering and the research links for it? i have some knowledge on MVVM being a pattern but i would like to know more about others and also ...
10
votes
3answers
207 views

Is it better to team up with a designer, or to piece out design work to a contractor?

I am clueless when it comes to design but I am proficient in programming. If you are a programmer who lacks visual design skills, what has worked best for you -- to pair up with a graphic designer or ...
1
vote
1answer
182 views

ArgoUML - Learning [closed]

So I just got a copy of ArgoUML. I originally thought I'd be able to just play around with it to learn it, but it's turning out to be extremely difficult. I searched online for tutorials and videos ...
9
votes
4answers
637 views

Is exception handling a cross-cutting concern?

I don't see much of a difference between the concerns of exception handling and logging in that both are cross cutting concerns. What do you think? Shouldn't it be handled separately on its own rather ...
6
votes
3answers
593 views

Development methodology for single web developer? [duplicate]

Possible Duplicate: Design and Development Methodologies for the single developer I'm a web developer who mostly works with the LAMP stack when it comes to my own projects. Most of the time ...
3
votes
5answers
502 views

Problems in coordination between software and database teams

This is pretty much a "software process" question: When your organization is split into two teams: software team and database engineering team (the organization is in ETL/BI/Data mining delivering ...
1
vote
2answers
89 views

Ip address filtering on valid user group : should we include the ip address of developers?

Imagine if your development team were asked to develop a system. The system should only response to some particular user groups such as "Group A", "Group B" or "Boss" who are the actually users of the ...
6
votes
3answers
209 views

How do you decide where functionality should belong in a large-scale project?

In my current development situation, we have a lot of DLLs, executables, and static libraries. How do you decide what should go into a DLL? What should go into an executable? Why have separate ...
10
votes
3answers
1k views

Applying SOLID principles

I am quite new to the S.O.L.I.D. design principles. I understand their cause and benefits, but yet i fail to apply them to a smaller project which I want to refactor as a practical exercise to use the ...
36
votes
19answers
4k views

Overused or abused programming techniques [closed]

Are there any techniques in programming that you find to be overused (I.E. used way more excessively than what they should be) or abused, or used a bit for everything, while not being a really good ...