0
12kviews
Define Software Engineering. Explain in brief the software process framework.

Mumbai University > Computer Engineering > Sem6 > Software Engineering

Marks: 5M

Year: Dec 2015

1 Answer
1
246views

Software Engineering

  • Software engineering is a discipline in which theories, methods and tools are applied to develop professional software product.
  • The definition of software engineering is based on two terms:

    1. Discipline

    For finding solution to the problem an Engineer applies appropriate theories, methods and tools. While finding the solutions, Engineers must think of the organizational and financial constraints. Within these constraints only he/she has to find the solution.

    2. Product

    The software product gets developed after following systematic theories methods and tools along with the appropriate management activities.

    • Software Engineering is a layered technology. Any software can be developed using these layered approaches.
    • Various layers on which the technology is based are Quality focus layer, Process layer, methods layer, tools layer.
    • A disciplined quality management is a backbone of software engineering technology.
    • A process layer is a foundation of software engineering. Basically, process defines the framework for timely delivery of software.

enter image description here

  • In method layer the actual method of implementation is carried out with the help of requirement analysis, designing, coding using desired programming constructs and testing.
  • Software tools are used to bring automation in software development process.
  • Thus, software engineering is a combination of process, methods and tools for development of quality software

Software Process Framework

  • A process framework establishes the foundation for a complete software process by identifying a small number of framework activities that are applicable to all software projects, regardless of their size or complexity.
  • In addition, the process framework encompasses a set of activities that are applicable across the entire software process.
  • Referring the following figure, each framework activity is populated by an asset of software engineering actions- a collection of related tasks that produces a major software engineering work product (e.g. design is a software engineering action).
  • Each action is populated with individual work tasks that accomplish some part of the work implied by the action.

enter image description here

  • The following generic process (used as a basis for the description of process models in subsequent chapters) is applicable to the vast majority of software projects:

1. Communication

This framework activity involves heavy communication and collaboration with the customer (and other stakeholders) and encompasses requirements gathering and other related activities.

2. Planning

This activity establishes a plan for the software engineering work that follows. It describes the technical tasks to be conducted, the risks that are likely, the resources that will be required, the work products to be produced, and a work schedule.

3. Modelling

This activity encompasses the creation of models the developer and the customer to better understand software requirements and the design that will achieve those requirements.

4. Construction

This activity combines code generation (either manual or automated) and the testing that is required to uncover errors in the code.

5. Deployment

The software (as a complete entity or as a partially completed increment) is delivered to the customers who evaluates the delivered product and provide feedback based on the evaluation.

  • These five generic framework activities can be used during the development of small programs, the creation of large web applications, and for the engineering of large, complex computer based systems. The details of the software process will be quite different in each case, but the framework activities remain the same.
Please log in to add an answer.