software-engineering

Code to interfaces instead of implementations?

I believe that it's better to code to interfaces instead of implementations. In Java: List<User> users = new ArrayList<User>(); There's no need to specify the runtime type of users all over the program if the code only cares that it implements List. However, I encounter many people who believe that it's totally fine, even when they'r...

What sort of Math do I need to create software in the Oil and Gas Industry?

I'm interested in working in the Oil and Gas Industry as a Software Engineer. What sort of Math is commonly required to work in this industry? Any first hand experience would be beneficial. ...

Is there a term for the most important method in a Class?

I'm looking through some old code and realize there are a ton of "helper" methods in this class as well as a ton of fields that are set via dependency injection and configuration. All of these things are essentially used by one very important method in the class. Is there a proper term for this in software development? Can I refer to ...

Strategy pattern vs. Command pattern

Both design patterns encapsulate an algorithm and decouples implementation details from the calling class. The only difference I can discern is that the Strategy pattern takes in parameters for execution, while the Command pattern don't. It seems to me that the Command pattern requires all information for execution to be available when...

Examples of beautiful Javascript

A good way to improve as a developer is to look at well-written code. What examples of beautiful, well-architected Javascript have you encountered? Note that I am not looking for a debate about the language itself. It has good parts and bad parts; some like it, and many hate it. Let's leave that discussion to other threads. ...

testing a software process method

suppose that your company will start to use a new software process, are there methods to test or estimate how successful this process will be according to certain properties or rules ? ...

What's the difference between incremental software process model, evolutionary model, and the spiral model ?

Hi, I am studying Software Engineering this year and I am little confused about the question in the title. Both of my professor and the reference ("Software Engineering A Practitioner Approach") differentiates the three titles as different models. However, I can't see obvious difference as their methodologies look the same to me but usi...

Returning to development: what tools, languages, frameworks, techniques to learn?

I started my professional career in software development 31 years ago (yikes). Over the years, my working life has moved to different areas (project and program management, consultancy, solution architecture and so on). I've never totally given up programming, but it's been minor bits of assistance for others rather than anything hardco...

If you had lived in a time before computers, what would you have studied?

Say you were born before modern computing was invented or even though of. What would you have chosen as your profession or field of study? Did you have any backup plan in your life that would be what you would have done, or have you always known you wanted to be involved in software. Any hobbyist programmers? What would you do with y...

Collection of standards in software development

Lets collect all together standards which are used in software development. I think we should follow this pattern: identification: [e.g.IEEE 123456789] title: [title in words] organisation: [organisation which released the standard] keywords: [e.g. area of the standard] description: [description as text date: [date or year it was relea...

How can wait for events with Tornado and then pushing them back to user's web-browser trough long-polling?

I want the events to be arbitrary events, for example: "User answered X", "User P sent you a message with Q". ...

XML Marshalling + Project structure

I want to create a spring-ws web service that eventually marshals a POJO into xml. I'd also like the clients of the web service to unmarshal the xml back into the POJO. How should I structure the projects? Currently my thinking is: Domain and business layer project - has the ability to query mainframe and create POJOs. This project ha...

Collections of different types inherited from a single object vs a single collection of super object

Hi, Imagine the following scenario. class Shape { // methods of Class Shape } class Circle extends Shape { // methods of Class Shape // methods of Class Circle } class Square extends Shape { // methods of Class Shape // methods of Class Square } class Canvas // This class should a bucket of objects that belong to Sq...

Should I use opensource software in my commerical app?

This is a point that has always confused me about open source software. Normally, I write everything from scratch. What I'm trying to find out is what licenses allows me to do this? ...

Reading recommendations for self teaching software development

I recently graduated with a degree in Networking and Systems Administration, and I am currently waiting to start a job in that same field. I am a hobbyist programmer, but I enjoy it very much and would like to get more serious about it. What I am struggling with is hard for me to put into words exactly, but I will try. During school, I...

What's the difference between Architectural Patterns and Architectural Styles?

In Software Architecture - Foundations, Theory and Practice, I can find definitions for both. The problem is that I don't get what each one of them means in plain english: Architectural Pattern. An Architectural Pattern is a named collection of architectural design decisions that are applicable to a recurring design problem pa...

Do you know any publicly available information about big software project failure?

I'm trying to find some publicly available "lessons learned" after a failed software development project. The bigger the project, the better. I'm interested mostly in opinions expressed by its participants: managers, programmers, designers, etc. Information from analysts like F. Brooks, S. McConnell, and others is not as important, but ...

Is there such a thing as a class that shares aspects of both control and entity stereotypes?

I have a class called 'Inventory' that has two subclasses, 'Drink' and 'Condiment'. They are a part of a software system being developed for use in a hot drinks vending machine. Note that this isn't really going to be implemented, rather it is a piece of coursework for my Software Engineering class. Anyway, I'm having trouble deciding wh...

What are the TOP 5 print and digital industry publications I should be reading

I work in the enterprise web software industry. Currently I work with everything Microsoft. What are the TOP 5 print publications I should be reading to deepen my understanding of enterprise development, gain technological, business, and industry insight. Additionally what are the TOP 5 digital publications/web sites? ...

What software development methodology is used for an experimental/research project?

Would the traditional waterfall model or the spiral model be suitable? Or perhaps, SCRUM with Agile management would be best bet? thanks in advance ...