Semester Review

software-engineering

  • Software engineering, craft or an engineering discipline?
    Software development and design is part art and part science, it can be understood as a systematic approach to the analysis, design, assessment, implementation, test, maintenance and reengineerig of software, that is, the application of engineering to software. In the Software engineering approach, several models for the software life cycle are defined, and many methodologies for the definition and assessment of the different phases of a life-cycle model
    1

 

  • History of Software Engineering
    The term Software Engineering became known after a conference in 1968, when the difficulties and pitfalls of designing complex systems were frankly discussed. A search for solutions began. It concentrated on better methodologies and tools. The most prominent were programming languages reflecting the procedural, modular, and then object-oriented styles. Software engineering is intimately tied to their emergence and improvement. Also of significance were efforts of systematizing, even automating program documentation and testing. Ultimately, analytic verification and correctness proofs were supposed to replace testing. More recently, the rapid growth of computing power made it possible to apply computing to ever more complicated tasks. This trend dramatically increased the demands on software engineers. Programs and systems became complex and almost impossible to fully understand. The sinking cost and the abundance of computing resources inevitably reduced the care for good design (Wirth, N, 2008).
    software-engineering-methodologies-2-728

 

  • Ethics in software engineering
    Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:
    img_8455

 

  • Software lifecycle
    SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and
    627x627-sftwaredev-feature-huss
    software-development-process1
    agile-smb
    waterfall
    non-functional-requirements-do-we-really-care-9-638.jpeg
    umlw
    graphics1.jpeg
    softwareengineering
    Continue reading "Semester Review"