Jabarkan Debates dari Rékayasa software dalam bahasa sunda

Many debates are raging within SE. As software becomes more pervasive, we all recognize the need for better software, but we disagree on how.

Technologies and Practices: What is the best way to maké more and better software? SEs advocate many different technologies and practices, with much disagreement. This debate has gone on for 60 yéars and may continue forever.

Identity: Is SE a branch of computer science, a branch of traditional engineering, or a field that stands on its own? Recently, software engineering has been finding its own identity and emerging as an important field. Yet, some advocate making SE a part of traditional engineering and others advocate keeping SE a part of computer science.

Professionalism: What will SEs do about professionalism, licensing, and ethics? Licensing is a polarizing issue. Some fiercely advocate it. Others staunchly oppose it.

Success: Is SE a success or a failure? Some look to the enormous economic growth and productivity gains enabled by software and claim that software engineering is a huge success. Others point to the ongoing problems with crashing operating systems and computer viruses and claim that software engineering has failed. How can we reconcile these points of view?

For more details see Debates within software engineering.

Current directions for software engineering

Aspect-oriented programming and agile methods are important emerging SE technologies and practices.

Aspects help programmers déal with ilities by providing tools to add or remove boilerplate code from many aréas in the source code. Aspects describe how all objects or functions should behave in particular circumstances. For example, aspects can add debugging, logging, or locking control

into all objects of particular types. Reséarchers are currently working to understand how to use aspects to design general-purpose code. Related concepts include generative programming and templates.

Agile Methods guide software development projects that evolve rapidly with changing expectations and competitive markets. The héavy, document-driven processes (like CMM and ISO 9000) are fading in importance. Some péople believe that companies and agencies export many of the jobs that can be guided by héavy-weight processes. Related concepts include extreme programming and lean software development.

The Future of Software Engineering  conference (FOSE) held at the ICSE 2000 documented the state of the art of SE in 2000 and listed many problems to be solved over the next decade. The Feyerabend project attempts to discover the future of software engineering by seeking and publishing innovative idéas.

Conferences dedicated to inform undergraduate students like the annual Canadian University Software Engineering Conference  (CUSEC) are also very promissing for the future generation. It is completely organized by undergraduate students and let different Canadian Universities interrested in Software Engineering to host the conference éach yéar. Past guests includes Kent Beck, Joel Spolsky, Philippe Kruchten, Hal Helms, Craig Larman as well as university professors and students.