software-engineering

The Implications of Modern Day Software Development Abstractions

I am currently doing a dissertation about the implications or dangers that today's software development practices or teachings may have on the long term effects of programming. Just to make it clear: I am not attacking the use abstractions in programming. Every programmer knows that abstractions are the bases for modularity. What I wa...

In TDD, should tests be written by the person who implemented the feature under test?

We run a project in which we want to solve with test driven development. I thought about some questions that came up when initiating the project. One question was: Who should write the unit-test for a feature? Should the unit-test be written by the feature-implementing programmer? Or should the unit test be written by another programmer,...

Cloud computing over Client-server: differences, cons and pros ?

As far as I know, Cloud computing might be a evolution in software architect, and it will replace some current architectures, such as client-server. These two architecture seem to share similarities for me (I know very little about both), but I don't know the differences between them. What are the cons and pros of cloud computing over ...

<100% Test coverage - best practices in selecting test areas

Suppose you're working on a project and the time/money budget does not allow 100% coverage of all code/paths. It then follows that some critical subset of your code needs to be tested. Clearly a 'gut-check' approach can be used to test the system, where intuition and manual analysis can produce some sort of test coverage that will be 'o...

How can I learn to set up a build process?

Hi, all. What I was taught at school is all about programming languages, software design, but hardly anything about how to automatically build a software, probably with something like unit testing integrated. Please tell me how do one start learning to set up a build process for his project. If this is too abstract to make any sense, ...

Why is it called "Cloud"?

Yes, as you might guess, I want to ask about Cloud-computing. I doubt that why it's called that. Which characteristics of it made that name? ...

IEEE Software Standards

The IEEE has a long list of standards for almost every step within the software engineering process. How many of you have seen a reference to such standards in the documentation you read? I think the idea of combining the suggestions from many veterans is a good thing, but I have the feeling that not many projects ever quote not even on...

pass by reference but reference to data and not to variable

This is psesudo code. In what programming language this is possible ? def lab(input) input = ['90'] end x = ['80'] lab(x) puts x #=> value of x has changed from ['80'] to ['90] I have written this in ruby but in ruby I get the final x value of 80 because ruby is pass-by-reference. However what is passed is the reference to the dat...

Design Technique: How to design a complex system for processing orders, products and units.

Hi, Programming is fun: I learned that by trying out simple challenges, reading up some books and following some tutorials. I am able to grasp the concepts of writing with OO (I do so in Ruby), and write a bit of code myself. What bugs me though is that I feel I'm re-inventing the wheel: I haven't followed an education or found a book ...

How are builds deployed into QA->Staging->Production for ASP.NET Web Applications?

Secondary questions are How do we best utilize SCM in the build process? How are code files labed and branched? Should we the .csproj and .sln files for build? How flexible are these when deploying to several environments? I know these are msbuild files. But as we add new files, this can become a bottlenect of updating and maintaining...

Refactoring an ASP.NET 2.0 app to be more "modern"

This is a hypothetical scenario. Let's say you've just been hired at a company with a small development team. The company uses an internal CRM/ERP type system written in .NET 2.0 to manage all of it's day to day things (let's simplify and say customer accounts and records). The app was written a couple of years ago when .NET 2.0 was j...

Is a class that is hard to unit test badly designed?

I am now doing unit testing on an application which was written over the year, before I started to do unit-testing diligently. I realized that the classes I wrote are hard to unit test, for the following reasons: Relies on loading data from database. Which means I have to setup a row in the table just to run the unit test (and I am not...

How to organise my code in order to be able to use two different view type ?

I have setup my models and now I would like to build the application so that I can easly switch between swing views and html views (2 differents builds). Could you recommand me any library that let me do that ? or a Controller/View architecture that let me do that myself ? edit: MVC architecture in java is the point of my question, if ...

Secrets of delivering .NET size large products?

In software companies I have seen it's really hard to work on very large products where everything depends on everything else. For instance Microsoft works on C#, F#, .NET, WPF, Visual Studio where these things are interconnected. I don't know how many people are involved, but if it's in 100s, how do they keep in sync with everything, s...

How can I write good "research code"?

"Research code" is often held up as a paragon of what not to do when writing software. Certainly, the kind of code that often results from trying to solve a research problem can end up being poorly-designed, difficult to debug, etc. But my question is this: does research code have to be this way? Is it possible to write good research ...

35000 ft. Overview of Software Technologies

Friends! Can someone point me to an explanation (subjective/ map) which untangles the complex mesh of technologies which kinda overwhelms a newbie who wants to get an understanding of what fits where in terms of software. Thanks Another way of asking the same question: "Can someone talk about the technology ecospace"? What are the set...

What tools or libraries used in your company to speed up the development and ensure the quality ?

As far as I know some company will use Devexpress to speed up the UI design some company might use the AssistX . another question: is there any plugin which can help to keep a eye on our company 's code convention? If someone don't follow the convention, visual studio will warn him ? ...

Design pattern for an object behaving differently when clicked, depending on a global state

I am using Unity3D for this question, but this is a general software engineering question. Entities (interactive objects) in Unity3D are built with components or behaviors. By putting together behaviors together, you define the exact behavior of the object. I am pondering how to have different objects react differently, when clicked, b...

When is it good to start using project management applications?

Hello, I was wondering, when is the right time or the correct project size to start using project management applications ( like Redmine or Trac ). I have a serious project, for now it's only me developing, but I use redmine to set my project versions, issues, and estimations. I think it's a good idea, because you never know when somebo...

How to discover architectures\techologies used by a non open source software

Sometimes i would like to know how a cool software is made or the brilliant architecture behind an hot web service; but the software is not open-source and the web service have no public documentation. Do you have any techniques to discover some hints on how a software is made? Is it possible to do it? Do you know some site that ...