Is studying system engineering valuable to software engineers? - system

I'm not sure how to put it but I just learnt about system engineering and it is about designing complex systems. It is generally oriented to manufacturing and not software companies but I was wondering if concepts and techniques of system engineering might be of help for a software engineer.

Related

Factors affecting the performance, safety and security of object-oriented programs?

How does object oriented programming improve performance, safety and security of programs and what factors affect their performance and security.
OOP doesn't improve performance per se. In fact, it has been a long criticism that OOP increased overall resource consumption. It was a trade-off between performance/optimization with productivity/maintainibility.
In terms of security, while procedural programs could be secure, the advent of OOP and increased reausability which comes in with it has spread reusable good coding practices. At the end of the day, a program that can be seamlessly maintained, built on top of reusable patterns and developed with good security practices should provide an easier foundation to detect and fix security holes.
In summary, OOP doesn't provide any direct advantage in the fields you're asking for but it provides a solid foundation to code better in most business cases. That's all.

Other engineering disciplines have rigorous process which addresses the major risks

Other engineering disciplines have rigorous process which addresses the major risks involved in the undertaking of any project. If software engineering is to borrow such a practice how can it add value?

The environments cycled by a project

What are the environments a software product can go through. Up to now I've only seen:
designing
development
testing
staging
uat
performance
production
Anything else?
You are right. The tradicional way of software development (called waterfall) following these steps. Althrough in past then years many methodologies are created and them are improve the software development process nowadays.
If you don't now about the methodologies like Extreme Programing (XP), Test Driven Development (TDD), Scrum, Kanban , Behaviour Driven Development (BDD), Agile Unified Process, Feature Driven Development (FDD) and others Agile Methodologies (very common in these days) don't worry about. There are many material in the Internet. Some of that these methodologies are focused in the building and test software in the source code level (TDD, BDD), others are more focused with the management of the entire process (Scrum, Kanban).
Bu the manly idea in the subset of these methodologies is that the requirements change during the process and that is necessary to complement the stage of development with the test stage in small interactions to delivery a piece of software with valuable functionality in little cycle instead to follow inflexible traditional way to produce software that doesn't matter.
One of the other phases which I have seen is a performance testing. This phase is more Performance measurement driven, based on the expected SLAs for the product. It is a way of benchmarking the product post UAT and pre Production

Statistics of positive impact of TDD/BDD

Everyone knows about some relevant statistics about positive impact of using test/behavior driven development in real projects. I know statistics can be very misleading, but it would be nice to see something like:
"when started using TDD, we rose productivity and reduced bugs introduction by XY %...".
It would be really nice to show this numbers to managers/customers, when explaining need of writing tests (there are still some people thinking we don't have time for this...)
Thanks
I have collected the following resources so far:
Realizing quality improvement through test driven development: results and experiences of four industrial teams (Microsoft Research):
http://research.microsoft.com/en-us/groups/ese/nagappan_tdd.pdf
resp:
http://www.springerlink.com/content/q91566748q234325/?p=7fd98b01480f49e2925f36393c999a72&pi=3
Test driven development: empirical body of evidence (ITEA):
http://www.agile-itea.org/public/deliverables/ITEA-AGILE-D2.7_v1.0.pdf
A Longitudinal Study of the Use of a Test-Driven Development Practice in Industry (IBM):
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.104.6319&rep=rep1&type=pdf
Evaluating Pair Programming with Respect to System Complexity and Programmer Expertise (IEEE):
http://simula.no/research/se/publications/Arisholm.2006.2/simula_pdf_file
There is a discussion on InfoQ:
http://www.infoq.com/news/2009/03/TDD-Improves-Quality
Also check out this question:
Evidence based studies on the topic of best programming practices?

Resources for evidence-based development practices

I am interested in studies and papers detailing trials that explore the evidence for different development practices in object-oriented languages. I am particularly keen on studies that measure productivity or consider the influence of modern IDEs. Can you point recommend any good resources for this? Has much work been done in this area of late?
For better or worse, empirically-driven productivity metrics are synonymous with Agile these days.
One that looks interesting for (shockingly) the agile research paper list
http://www.agilealliance.org/index.php/download_file/view/18/
It appears as though this is an ongoing research area.