Software engineering

Software engineering

Software engineering

software engineering

What we mean by software engineering }What we mean by good software }Why a system approach is important }Software without use fundamental of software engineering are more expensive and less reliable }Software engineering is concerned with theories, methods and tools for professional software development

Generic products

Generic products ◦Stand-alone systems that are marketed and sold to any customer who wishes to buy them. Examples – PC software such as graphics programs, project management tools; CAD software; software for specific markets such as appointments systems for dentists. Customized products ◦Software that is commissioned by a specific customer to meet their own needs. Examples – embedded control systems, air traffic control software, traffic monitoring systems.

What is Software Engineering Solving Problems

Software products are large and complex Development requires analysis and synthesis Analysis: decompose a large problem into smaller, understandable pieces .Synthesis: build (compose) a software from smaller building blocks 

Method: refers to a formal procedure; a formal “recipe” for accomplishing a goal that is typically independent of the tools used ,Tool: an instrument or automated system for accomplishing something in a better way }Procedure: a combination of tools and techniques to produce a product ,Paradigm: philosophy or approach for building a product

What is Good Software?

Good software engineering must always include a strategy for producing quality software

Three ways of considering quality :-

-The quality of the product ◦The quality of the process.

-The quality of the product in the context of the business environment

Who Does Software Engineering?who benefit from Software Engineering?

Customer: the company, organization, or person who pays for the software system ,Developer: the company, organization, or person who is building the software system ,User: the person or people who will actually use the system

How Has SE Changed?Software Architecture

}A system’s architecture describes the system in terms of a set of architectural units and relationships between these units }Architectural decomposition techniques ,Modular decomposition ,Data-oriented decomposition ,Event-driven decomposition ◦Outside-in-design decomposition ◦Object-oriented decomposition

Software Process Models Software Life Cycle

•When a process involves building a software, the process may be referred to as software life cycle –Requirements analysis and definition –System (architecture) design –Program (detailed/procedural) design –Writing programs (coding/implementation) –Testing: unit, integration, system –System delivery (deployment)

Software Process Models Reasons for Modeling a Process

•To form a common understanding •To find inconsistencies, redundancies, omissions •To find and evaluate appropriate activities for reaching process goals


1) From the following which quality deals with maintaining the quality of the software product?

  • a. Quality assurance
  • b. Quality control
  • c. Quality efficiency
  • d. None of the above

2) Function-oriented design is comprised of many smaller sub-systems is known as, Functions.

  • a. Yes
  • b. No

3) Which of these primary objectives have to be achieved for the requirement model?

  • a. To describe what the customer requires
  • b. To establish a basis for the creation of a software design
  • c. To define a set of requirements that can be validated once the software
  • d. All mentioned above

4) Which tool consist of programming environments like IDE, in-built modules library and simulation tools?

  • a. Web development tools
  • b. Prototyping tools
  • c. Programming tools
  • d. Design tools