software-engineering

Concrete symptoms of over-engineering

I have recently found myself in the position of explaining an (In-House) application I have written to two candidates my company likes to hire in order to assist in maintenance and adding minor features. It is the first "production" application I have written, it has 45k LOCs and I spent almost two years of "solo" development on it. I a...

mvc for multi user web application

Hi guys, I am working on a web application using JSF/Facelets/Hibernate and mySQL.In software requirements, the system should support 5 category of users, each category has access to its own tasks and user interface accessed from a login. If I split my application in separate modules, in a such a way that each category has its own vie...

What is the difference between design and architecture?

What is the difference between design and architecture? ...

Experience with Architecture Description Languages

Being familiar with graphical modeling tools, I recently thought about the concept of architecture description languages (ADL) where one describes architectures in a textual form in order to comprehensively document it. I see advantages in this approach since it is a formal definition of an architecture stored in a single place without...

Software design practice in C

For OOP languages, there are many books describing how to design software, and design patterns are mainly for OOP languages. I am wondering whether there are any books/good articles teaching how to use C in a big project, like it is a good practice to use static functions when this function is only used in a single file. ...

Good resources for example process definitions of software development methodologies?

Is there any website specifically for sharing and accessing actual software development processes implemented in software organizations? There are lots of resources that give advices and descriptions for implementing these processes. They are very useful. But I think having actual example process definitions would be very useful as wel...

UML: disjoint vs. overlapping academical scrap?

It's not a real programming (coding) problem, sorry for that (but design comes first). But anyway I don't understand whats the difference between disjoint and overlapping, it occured in several books, has a relation to OCL which is considered to be part of UML but the lastest OCL specification by OMG does no longer mention these terms, ...

Good projects to learn OCaml and F#

After learning the basic syntax, reading some non-trivial code is a fast way to learn a language. We can also learn how to design a library/software during reading others' code. I have following lists. A Chess program in OCaml by Tomek Czajka. Hal Daumé has written several machine learning libraries in Ocaml. Including decision tree...

Desining a system for mutiple input/multiple output

Background I'm sketching on an application that needs to perform something like this database a >--| |--> fileformat 1 database b >--+--> custom application >--+--> fileformat 2 ... | | ... database n >--| |--> fileformat n The databases in questi...

How can we software-engineering antler walker, and its related java codes?

Antlr users usually create a parser that generates the AST(Abstract syntax tree), and a walker that walks through the AST and generate the desired outcomes. As we know, java(C++, python...etc) codes has to be injected into the .g walker files to carry out the execution. However, when the target gets complicated, say we are to develop a w...

Rules Engine... should a Rule be a simple IF(...) THEN(...) or a complex flowchart?

My simple RE is the former... multiple conditions and actions are set for a rule; only if all conditions are met are all actions performed. However it could instead work like a flowchart, where each condition can have true/false execution paths. While that's more powerful, it doesn't really seem like a rule any more... more like a script...

Language recommendations for expanding programming skills (For a semi-experienced software developer)

I have little (<1 year professional) experience with Perl Groovy/Java I have limited (<2 year professional) C I have decent experience (>= 6 years professional) with PHP SQL I have hobby experience with C++/DX9 (some simple windows games/demos) Obj-C (a few iphone app's) ASM (http://www.amazon.com/Assembly-Language-Intel-Ba...

Difference between event handlers and callbacks

Can someone please explain to me what is the difference between an event handler and a callback function? ...

Project templates Eclipse / Java

Hi, I am researching possibilities to create "project templates" for the kind of projects my team is working on (Embedded Java). We want to make it trivial for a new developer to not mess up creating a new project. All the tools we use in our team should be pr The basic idea is that there should be one command to set up a project and I...

Implied meaning of Ratio of Physical to Logical SLOC

Hi, If there any implied meaning of a high or low ratio of Physical to Logical SLOC? Does it means anything like bad programming style or something merits consideration? Below is the metric of our codebase got from CodeCount. It is good or bad ratio ? Or it does not matter. 1510738 CODE Physical 889284 CODE Logical Ratio o...

How to determine web application end of life?

Dear SO Community, This question could bring a lot of opinions to the table, but what I will like to get is a set of measures that will help me and my company determine the end of life of a product that we sell. We sell a CMS system, with this system we create a few sub-products Websites Proposal Creator Marketing Campaign Tracker ...

Getting started with software design using MVC, OO, and Design patterns

NOTE: This question has been updated to provide more detail and insight than the previously. UPDATE: I just want to say thank you to everyone who responded. I'm still pretty much in the dark on what design pattern would work best for the Widget. Perhaps one of the Factory or Builder patterns? I am just getting started on a new proje...

Should software engineers take the upcoming PE exam for software engineering?

I realize that this question is quite similar to this one, but news of a PE exam being developed specifically for software engineering by the NCEES and IEEE has piqued my interest. Should software engineering professionals take the (upcoming) PE exam for software engineering in addition to their degree (or relevant work experience)? No...

State reinitialization - delete and recreate, or reset the internal variables?

Suppose I have a state in a program that stores the information of a user, and the platform I am on is not stateless (say a C++ or .NET desktop application). class UserInfo { private: std::string name_; std::string accountID_; } Say the user logs out, in general, what are the best practices for state ...

Software Engineering Terminology - What does "Inconsistency" and "Incompleteness" really mean

In terms of designing software what does "Inconsistency" and "Incompleteness" really mean? E.g. - Creating Specifications Usage of Formal Methods of Software Engineering are said to be less "inconsistent" and "incomplete" than other less formal methods such as Object Orientated Design when creating specifications. ...