Advanced Software Engineering: Fundamentals, Processes, and Attributes, Exams of Information Technology

A comprehensive overview of fundamental concepts in software engineering, covering key definitions, attributes of good software, software engineering activities, and process models. It explores the differences between software engineering, computer science, and system engineering, and delves into essential attributes like maintainability, dependability, efficiency, and acceptability. The document also examines software process models, including the waterfall model, incremental development, and integration and configuration, and discusses approaches to improvement like process maturity and agile methods. It further explores user requirements, system requirements, functional and non-functional requirements, and domain requirements. The document concludes with a discussion on system modeling, verification, validation, and software evolution, emphasizing the importance of dependability and security in software development.

Typology: Exams

2024/2025

Available from 03/08/2025

EXAMGLADIATOR
EXAMGLADIATOR 🇬🇧

3

(2)

4.6K documents

1 / 8

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Advanced Software Engineering
What is software? - correct answer Computer programs and associated
documentation. Software can be developed for an individual or a general
market.
What are the attributes of good software? - correct answer Should deliver
the required functionality and performance to the user and be maintainable,
dependable and usable
What is software engineering? - correct answer It is an engineering
discipline that is concerned with all aspects of software production.
What are the fundamental software engineering activities? - correct answer
1. Specification
2. development
3. validation
4. evolution
What is the difference between software engineering and computer science? -
correct answer Computer Science:
Theory and fundamentals
Software Engineering:
Practicalities of developing and delivering useful software
What is the difference between software engineering and system
engineering? - correct answer System engineering:
pf3
pf4
pf5
pf8

Partial preview of the text

Download Advanced Software Engineering: Fundamentals, Processes, and Attributes and more Exams Information Technology in PDF only on Docsity!

Advanced Software Engineering

What is software? - correct answer ✔Computer programs and associated documentation. Software can be developed for an individual or a general market. What are the attributes of good software? - correct answer ✔Should deliver the required functionality and performance to the user and be maintainable, dependable and usable What is software engineering? - correct answer ✔It is an engineering discipline that is concerned with all aspects of software production. What are the fundamental software engineering activities? - correct answer ✔1. Specification

  1. development
  2. validation
  3. evolution What is the difference between software engineering and computer science? - correct answer ✔Computer Science: Theory and fundamentals Software Engineering: Practicalities of developing and delivering useful software What is the difference between software engineering and system engineering? - correct answer ✔System engineering:

Concerned with all aspects of computer based systems development including, hardware, software and process engineering. Software Engineering: Is part of this more general process What is a generic product? - correct answer ✔Stand alone systems that are marketed and sold to any customer who wishes to buy them. E.g graphics programs, CAD software, market specific such as appointment systems What is a customised product? - correct answer ✔Software that is commissioned by a specific customer to meet their own needs. E.g embedded control systems, air traffic control What are the essential attributes of good software? - correct answer ✔Maintainability - Software should be written to allow evolution for changing consumer needs. Dependability and security - Should not cause physical or economical damage during system failure Efficiency - Should not waste system resources Acceptability - Must be understandable, usable and compatible What are 4 of the software engineering fundamentals? - correct answer ✔1. Systems should be developed using a managed and understand development process. Different processes for different software

  1. Dependability and performance are important to all kinds of systems
  2. Understanding and managing the software specification and requirements are important
  3. You should reuse software rather than write new software

What is a user requirement? - correct answer ✔Statements in natural language plus diagrams of the services the system provides and its operation constraints. Written for customers What is a system requirement? - correct answer ✔document setting out detailed descriptions of the systems functions, services and operation constraints. Defines what should be implemented What are functional requirements? - correct answer ✔Statements of services the system should provide and how it should behave May state what the system should not do What are non-functional requirements? - correct answer ✔Constraints on the services or functions offered by the system What are domain requirements? - correct answer ✔Constraints on the system from the domain of operation What are the system perspectives? - correct answer ✔External perspective - model the context or environment of system Interaction perspective - model the interactions between a system and its environment Structural perspective - mod the organisation of a system Behavioural perspective - model the dynamic behaviour of the system and how it responds to events What are the different uml diagram types - correct answer ✔Activity diagrams - activities involved in a process Case diagrams - interactions between system and environment

Sequence diagrams - interactions between actors and the system Class diagrams - associations between classes State diagrams - how the system reacts to events What is system modelling? - correct answer ✔Process of developing abstract models of a system E.g UML What is an existing plan model? - correct answer ✔Used during requirements engineering. Clarify what the existing system does and can be used for What is a planned system model? - correct answer ✔Help explain the proposed requirements to other system stakeholders What are the five common activities in the process stages? - correct answer ✔- Define the context and modes of use of the system

  • Design the system architecture
  • Identify the principal system objects
  • Develop design models
  • Specify object interfaces What is a Context model? - correct answer ✔Demonstrates the other systems in the environment of the system being developed What is an interaction model? - correct answer ✔Shows how the system interacts with its environment as it is used

What is the importance of dependability? - correct answer ✔System failures can have widespread effects with large number of affected people Undependable systems are unreliable, unsafe or insecure Costs of system failure can be high Undependable systems may lose essential information What is repair-ability? - correct answer ✔The extent to which the system can be repaired in the event of a failure What is maintainability? - correct answer ✔Extent to which the system can be adapted to new requirements What is error tolerance? - correct answer ✔Extent to which the user input errors can be avoided and tolerated What are the main faults, errors or failures? - correct answer ✔Human error or mistake System fault System error System failure What is reliability? - correct answer ✔The probability of failure-free system operation

What is Availability? - correct answer ✔The probability that a system, at a point in time, will be operation and available to deliver services What is a primary safety critical system? - correct answer ✔Embedded systems whose failure can cause the associated hardware to fail and cause harm What is a secondary safety critical system? - correct answer ✔Systems whose failure results in faults in other systems, which can that have safety consequences Define hazard - correct answer ✔Situations or events that can lead to an accident What are the three security levels? - correct answer ✔Infrastructure security

  • Maintain security of all systems and networks that provide an infrastructure and a set of shared services Application security
  • Concerned with security of individual or grouped systems Operational security
  • Concerned with the secure operation and use of the organisations systems