Software Engineering Fundamentals

FlatterCobalt avatar
FlatterCobalt
·
·
Download

Start Quiz

Study Flashcards

24 Questions

What is the primary focus of software engineering?

Practicalities of developing and delivering useful software

What percentage of software costs are typically development costs?

60%

What type of software product is developed especially for a particular customer?

Customized product

What is a significant issue affecting many different types of software?

Heterogeneity

What is the primary difference between software engineering and system engineering?

System engineering is concerned with all aspects of computer-based systems development

What often exceeds development costs for custom software?

Evolution costs

What type of software product is developed by a development organization and sold on the open market?

Generic product

What is the relationship between software costs and computer system costs?

Software costs often control computer system costs

What is the primary reason why business and society need to change their existing software and develop new software rapidly?

to adapt to emerging economies and new technologies

Why is trust in software essential?

because it is intertwined with all aspects of our lives

What is a key factor in determining which software engineering methods and techniques are most important?

the type of application being developed

What characteristic defines stand-alone applications?

they run on a local computer and include all necessary functionality

What type of application is an e-commerce website?

interactive transaction-based application

What is a common feature of interactive transaction-based applications?

they incorporate a large data store

What is the primary purpose of embedded control systems?

to manage hardware devices

What is a key difference between stand-alone applications and interactive transaction-based applications?

their network connectivity

What type of system is designed to process large numbers of individual inputs to create corresponding outputs?

Batch processing system

What type of system is composed of a number of other software systems?

System of systems

What type of system is primarily used for personal use and intended to entertain the user?

Entertainment system

What type of system collects data from the environment using sensors and sends it to other systems for processing?

Data collection system

What type of system is developed by scientists and engineers to model physical processes or situations?

System for modeling and simulation

What is a characteristic of the boundaries between different types of systems?

They are blurred

What is an example of an embedded system?

Software in a microwave oven

What is an example of a batch processing system?

Periodic billing system

Study Notes

Software Engineering vs. Computer Science

  • Computer science focuses on theory and fundamentals
  • Software engineering is concerned with developing and delivering useful software

Software Engineering vs. System Engineering

  • System engineering is concerned with all aspects of computer-based systems development, including hardware, software, and process engineering
  • Software engineering is part of this more general process

Software Costs

  • 60% of software costs are development costs; 40% are testing costs
  • Evolution costs often exceed development costs for custom software
  • Maintenance costs may be several times development costs for systems with a long life
  • Software costs often control computer system costs

Hardware Costs vs Software Costs

  • Software costs often exceed hardware costs

Software Products

  • Generic products are stand-alone systems produced for the open market
  • Customized products are developed especially for a particular customer

General Issues in Software Engineering

Heterogeneity

  • Systems operate as distributed systems across networks with different computer and mobile devices

Business and Social Change

  • Business and society are changing quickly due to emerging economies and new technologies
  • Software must be adaptable to change and rapid development is necessary

Security and Trust

  • Software security is essential to prevent malicious attacks and maintain information security

Software Engineering Diversity

  • No universal software engineering methods and techniques are suitable for all systems and companies
  • The type of application being developed is the most significant factor in determining software engineering methods and techniques

Types of Applications

Stand-alone Applications

  • Run on a local computer, such as a PC
  • Include all necessary functionality and do not need to be connected to a network
  • Examples: office applications, CAD programs, photo manipulation software

Interactive Transaction-based Applications

  • Execute on a remote computer and are accessed by users from their own PCs or terminals
  • Examples: web applications, e-commerce applications, internet banking

Embedded Control Systems

  • Control and manage hardware devices
  • Examples: software in a mobile phone, software that controls anti-lock braking in a car, central heating systems, software in a microwave oven

Batch Processing Systems

  • Designed to process data in large batches
  • Examples: periodic billing systems, salary payment systems

Entertainment Systems

  • Primarily for personal use and intended to entertain the user
  • Examples: games

Systems for Modeling and Simulation

  • Developed by scientists and engineers to model physical processes or situations

Data Collection Systems

  • Collect data from the environment using sensors and send it to other systems for processing

Systems of Systems

  • Composed of a number of other software systems
  • Examples: generic software products, specially written systems for an environment

Quiz about software engineering, its differences with computer science and system engineering, and its focus on practical software development.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Software Engineering Basics Quiz
5 questions
BITP 2213 Software Engineering Lecture 1
30 questions
Software System Design and Implementation
10 questions
Use Quizgecko on...
Browser
Browser