software-engineering

What is the difference between Computer Science and Software Engineering?

I was spurred to ask the question by an answer I saw for a question on Software Engineering Videos. Here's the answer: As an aside, be careful what you're linking here. Software Engineering and Computer Science are very different disciplines. Software Engineering encompasses the software development lifecycle (including methodologies a...

Dijkstra on "Software Engineering"

Edsger Dijkstra, who could be somewhat abrasive at times (he called "Carl Friedrich Gauss, the Prince of Mathematicians but also somewhat of a coward") said in his essay "On the cruelty of really teaching computing science" (EWD1036): A number of these phenomena have been bundled under the name "Software Engineering". As economics is k...

How to get the structure of software if there is no document?

I am reading a project code, however there is nothing but some .cpp and .h source files. How can I get started and get the structure of the software? ...

How should the Joel Test be updated for 2010?

I believe the Joel Test was written in 2000. It is time for an update to more align with modern times. I'll start: Do you use source control? changed to Do you have quality gates in place for each check-in? Many of the Joel Test assumptions are no longer true. I don't think we need to ask today if an organization uses source con...

How many kinds of lock are there which can be used to design?

In a program, I can design lock to threads,lock to object or files. Are there difference between these locks? If yes, how many kinds of lock are there which can be used to design? Are there some tutorials to design locks in object-oriented programming? ...

Would you use the bugtracker to track the initial requirements development?

Imagine I place each requirement as a feature on my bugtracker. Would it be a nice idea? Are there better tools? ...

Is function point analysis still used for estimates?

In one discussion among colleagues I have heard that function point analysis is not used nowadays since it can go wrong for various reasons. So WBS (work breakdown structure) is used commonly. Is that true? ...

In Function Point Analysis How is organization Productivity calculated?

Hi, In function point analysis how is organization productivity calculated? Thanks SC ...

What exactly is a "Software Architect"?

I've seen a few posts that briefly touch on the subject but don't address the question directly. So please don't label this as a dup. Having been independant/freelance for 5 years or so, and having also had plenty of exposure to perm positions, I've been exposed to many views on what an "Architect" really is. As a result, I've coined t...

When To Comment Code (The Other "When")

Yesterday I was going through some code of mine which made no sense to me at first (written less than a month ago). When I understood it, I quickly added comments to avoid the exercise. This made me think that, had I commented on the code as I wrote it, my comments might not have helped a later "me" decipher the code. When in the code'...

Are software engineering and software development the same?

I am confused. What is software construction? Is it the field of software engineering or software development? Maybe software development is the sub-discipline of software engineering? What books would you recommend to answer these questions? ...

State Pattern in iPhone applications (Memory Usage)

Does the state pattern in an iPhone application -- In my case, a relatively light-weight utility application -- use too much memory? The state pattern, as I understand it, uses several classes; these classes represent different states. All of the different state objects are instantiated and stored in different pointer variables until t...

How can I learn to REALLY design software?!

First off, my focus is web development (ASP.net webforms up to now), using C#. But, I am interested in learning design principles that will carry into any technology or language. I have been ready for a long time to step up, and learn how to design software the right way. Up to this point, the software I write has been designing the dat...

What is "over-engineering" as applied to software?

I wonder what would be a good definition of term "over-engineering" as applied to software development. The expression seems to be used a lot during software design discussions often in conjunction with "excessive future-proofing" and it would be nice to nail down a more precise definition. ...

Are design reviews useful once the code has been completed?

What is the point of reviewing a design document once the code is written? Hasn't the horse already left the barn? It seems to me that the design review should be skipped and more time spent on vetting the code. ...

A Software Design Issue: The Router Class

In subsystem design, I sometimes see software designs that have one high-level class that has only one feature: It routes a call from a client using the class to another a certain class the client would like to use. However, it alone does not have any functionality. Take this scenario: Say there are five classes in the bowling alley sub...

How to Collect Business Requirements?

What's the best way (and current way) to collect business requirements?. I've heard about JAD (Joint Application Design or Development). So, it is, Is there software apps for that?. Thanks. ...

In a software project, how would you differentiate a Component from a Module?

In a software, how would you differentiate a Component from a Module? ...

APIs that allow status updates to be posted to several sites?

Does anyone know of an API that will allow for posting status updates to Twitter, LinkedIn and Facebook? ...

Who decides how an application UI looks?

In some software company, who should be responsible for the UI design: User Designer Manager Boss Depends on company size etc. In UI design I mean not only colors and images, but also control's layout, count, size, style, may be text user see. ...