software-engineering

Top Down v. Bottom Up design approach

Duplicate: http://stackoverflow.com/questions/130933/design-coding-top-to-bottom-or-bottom-to-top I think I have found in my recent experience that I design software differently than most of my peers. I tend to take the incremental bottom up approach after gathering enough requirements to get a high level idea of the components in ...

Problems with the waterfall model

I'm going to take an HCI exam tomorrow and a question on one of the past papers has really got me thinking, me and a few others are torn between A and C, what do you think? Q 25 - the waterfall technique is recognised as having several problems for the development of effective interactive systems. Which of the following is not one of th...

What's the best way to collaborate and distribute project and release documentation within an organization?

It's a continual problem: allow collaboration (and versioning) among developers who are creating project plans, requirements, functional specs, design docs and test plans. Then, publish for others in the organization (IT, Customer Service, Technical Support) to use this information. What systems are people using to track project docume...

From Computer Scientist to Software Engineer

Hello Stackoverfellows, I graduated in December in Computer Science and have acquired a Software Engineering position. I have been banging my head up against the wall for 2 months trying to learn Hibernate, Spring and everything else that has been thrown at me in my first project. Prior to accepting this job I had experience only in pr...

Is there a maximum effective team size for Rational Unified Process?

I'm aware that the Rational Unified Process (RUP) scales depending on the team and project. I'm also aware of the general outlines provided in The Mythical Man-Month by Fred Brooks regarding team size and structure. However, is there a particular team size in which RUP begins to break down in effectiveness? ...

What does design patterns mainly to do with?

Most of people say that design patterns only relate with software engineering. Patterns makes us to focus on reusing of existing modules or freeing us from onerous work caused by changing in the future. Does patterns makes the program run more efficiently? ...

What is the best way to structure a CRM system?

I've built a customer relationship management system in PHP which generates Quotes, Orders and Invoices and I am at a loss on the best way to structure the system. I currently have one table for each type (quote, order, invoice) and about 20 different pages for displaying the input forms and saving the data back to the database. This is...

What should a "beginning developer" know about architectures and planning

I've been working with C and C# for ages, I consider myself a "pretty good" programmer, but as has been pointed out many times, programming is only a small facet of software engineering and development. I'm the sole coder for my department but it looks like that is going to begin to change, what I would like to know from the Stackoverfl...

Is software development a discipline of engineering or a discipline of arts?

A post I read on Brad Abrams blog had this very question and I would love to get the views of the community. Software is being taught as an engineering discipline in many universities, even though the field is so young that questions regarding what consitutes good design, in terms of what is measurable, cannot yet be answered all that w...

Page Fault Programming / Parrot Programming

In Podcast 53 of Stackoverflow, Joel and Wil Shipley mentioned a term called "page fault programming" or "parrot programming". In Joel's words: "The page faulting is I try doing something, I see something, maybe in a piece of sample code, I go to Google and I say "What is..." Basically, it's learning while you're doing, and doing the r...

How do you prevent classes becoming 'dependency magnets' and God classes?

In virtually every project I've ever worked on, there will be one or two classes with the following properties: Extremely large with many many members and methods. Many other classes inheriting from this class. Many other classes otherwise depending on this class. Bad design, you might say. But in all cases, this wasn't the case at ...

functional and non-functional requirments ?

Hi. I found this case of study here about a game. I am studying a software engineering course, and we learned about the functional and non-functional requirements but what could be possible requirements? Any ideas ? the document is here Video Games and Software Engineering: A Case Study. ...

What are good ways to handle ownership in a common code base?

We are in a project with a dozen members, working on some fairly cutting edge stuff, and want to work out a good approach to code ownership. On the one hand you always want at least two people familiar with any area ("common code ownership"), but there are countervailing advantages to having a single person in charge of an area to give ...

What is “mature” software?

Jeffery Palermo says 'Classic WebForms More Mature Than ASP.NET MVC': "Is Classic WebForms More Mature Than ASP.NET MVC?". It seems to be subjective, but what I want to know is, what exactly "mature" software is? ...

Assert vs. return false?

bool fn() { if(something bad happen) return false; .. } void gn() { assert(something == true); .. } When I write a function in production code, which way should I choose? ...

Requirements testing

I've just finished the implementation of my software system and now I have to document whether it has satisfied its requirements. What sort of information should I include and how should I lay it out? My initial functional and non-functional requirements was in a two-column table and looked something like this: FN-01 The system should...

How should a C++ programmer design software in C?

As a C++ programmer, we have to deal with concepts and the relation of related concepts before implementing them to classes. However,how to design a software in procedure languages like C ? How can I deal with concepts without the help of class in C++. Related: What is the best way to plan and organize development of an application ...

Should code be short/concise?

When writing a mathematical proof, one goal is to continue compressing the proof. The proof gets more elegant but not necessarily more readable. Compression translates to better understanding, as you weed out unnecessary characters and verbosity. I often hear developers say you should make your code foot print as small as possible. Th...

What kinds of tools do you use for conceptual design of your software?

I've never been happy with anything I've ever found. But not having good UML, or at a minimum some clear class diagrams, makes it difficult to move forward with design on a team. Especially if you're a team deeply engrained in Agile concepts wrapped in Scrum. UML Tools? Visio? Visual Studio? Other? ...

Technical design

Lately the company hired a technical analyst for the dev team. For all new projects it's his tasks to analyse the clients demands and come up with an analysis design that can be used as a starting base for actual development. Now apparently this techincal design will contain some sort of class diagram that should be used as a guide by t...