Software Categories and Evolution

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

What type of software consists of standalone programs that solve specific business needs?

  • Application Software (correct)
  • Embedded Software
  • System Software
  • Scientific Software

Which of the following software types resides within a product to control its features and functions?

  • Web Application
  • Application Software
  • Embedded Software (correct)
  • Product Line Software

According to the law of increasing complexity, what happens as an E-type system evolves?

  • Its complexity increases (correct)
  • It requires less maintenance
  • It becomes simpler to understand
  • Its complexity decreases

What is the focus of the law of continuing growth in software evolution?

<p>Increasing functional content to maintain user satisfaction (C)</p> Signup and view all the answers

What does the law of declining quality suggest about E-type systems?

<p>Quality deteriorates unless maintained (C)</p> Signup and view all the answers

Which software is specifically designed to solve problems using non-numerical algorithms?

<p>Artificial Intelligence (B)</p> Signup and view all the answers

What is the primary characteristic of system software?

<p>It provides services to other software programs. (A)</p> Signup and view all the answers

Which law states that E-type systems must be continually adapted?

<p>Law of Continuing Change (D)</p> Signup and view all the answers

What is the first step in the process of system engineering?

<p>Establishing a world view (D)</p> Signup and view all the answers

Which of the following is a primary goal of product engineering?

<p>Translating customer desires into capabilities (A)</p> Signup and view all the answers

What components are encompassed within the architecture in product engineering?

<p>Software, hardware, databases, and people (C)</p> Signup and view all the answers

What is the focus of business process re-engineering (BPR)?

<p>Redesigning workflows to optimize processes (B)</p> Signup and view all the answers

Which figure is responsible for driving architecture and infrastructure in product engineering?

<p>Product engineer (B)</p> Signup and view all the answers

Which aspect is typically NOT included in the analysis of a specific domain of interest during system engineering?

<p>Market trends (A)</p> Signup and view all the answers

According to the system engineering hierarchy, the construction and integration of which element is essential?

<p>Targeted system elements (D)</p> Signup and view all the answers

What was the first platform to introduce the concept of business process re-engineering?

<p>Harvard Business Review (B)</p> Signup and view all the answers

What is one of the key characteristics that makes software different from hardware?

<p>Software does not wear out. (D)</p> Signup and view all the answers

What does the feedback system law emphasize for achieving significant improvement?

<p>Adopting a multi-level feedback system. (D)</p> Signup and view all the answers

Which of the following is a misconception held by practitioners regarding software development?

<p>Writing a program is the final step in a project. (B)</p> Signup and view all the answers

What issue does the concept of legacy software primarily address?

<p>Continuous modifications for changing business needs. (C)</p> Signup and view all the answers

What assumption is commonly held by customers about the software development process?

<p>Flexibility in software allows changes during development. (C)</p> Signup and view all the answers

What characterizes poor quality legacy software?

<p>An inextensible design and convoluted code (C)</p> Signup and view all the answers

In the context of software engineering, which aspect is highlighted as a myth regarding management?

<p>Standards and procedures provide all necessary guidance. (C)</p> Signup and view all the answers

Which statement accurately describes software characteristics in general?

<p>Software engineering involves a logical development process. (B)</p> Signup and view all the answers

What is the primary goal of a computer-based system?

<p>To accomplish a pre-defined goal by processing information (A)</p> Signup and view all the answers

What is a significant crisis issue mentioned in improving the feedback system?

<p>High relative cost of hardware and software. (D)</p> Signup and view all the answers

Which element is NOT considered part of a computer-based system?

<p>Random data generation (A)</p> Signup and view all the answers

What does effective documentation in a computer-based system provide?

<p>Descriptive information explaining system operations (B)</p> Signup and view all the answers

What is the initial phase of the classical life cycle?

<p>Customer specification of requirements (D)</p> Signup and view all the answers

What defines the procedure in a computer-based system?

<p>The steps that define the specific use of each system element (D)</p> Signup and view all the answers

What is the primary purpose of having a clear context in system engineering?

<p>To progressively narrow focus to understand technical details (C)</p> Signup and view all the answers

Which of the following is NOT a characteristic of hardware in a computer-based system?

<p>Creating complex algorithms for software logic (C)</p> Signup and view all the answers

What does data architecture provide for a business?

<p>A framework for the information needs of a business (A)</p> Signup and view all the answers

What is a key aspect of a data object in data architecture?

<p>The attributes that define its quality characteristics (B)</p> Signup and view all the answers

Which component of business process engineering transforms data objects for business purposes?

<p>Application architecture (D)</p> Signup and view all the answers

Which of the following is included in technology infrastructure?

<p>Telecommunication techniques (A)</p> Signup and view all the answers

What is an important aspect of system modeling in the engineering process?

<p>Representing the behavior of processes and assumptions (A)</p> Signup and view all the answers

Which factor should be considered by an engineer when constructing a system model?

<p>Assumptions to reduce variations (B)</p> Signup and view all the answers

What is the primary purpose of data modeling in data processing applications?

<p>To answer critical questions about data objects (A)</p> Signup and view all the answers

What does the term 'constraints' refer to in system modeling?

<p>Guidelines for model creation and implementation (B)</p> Signup and view all the answers

Flashcards are hidden until you start studying

Study Notes

Software Categories

  • System Software: A collection of programs designed to serve other programs; examples include compilers, editors, file management systems, operating systems, drivers, and network software.
  • Application Software: Stands alone and solves specific business needs.
  • Scientific Software: A collection of programs for scientific applications.
  • Embedded Software: Resides within a product and provides features and functions for the end user; examples include keyboard control for ovens and digital functions in automobiles like fuel control.
  • Product Line Software: Designed to provide specific capabilities for customers.
  • Web Applications: Linked hypertext files.
  • Artificial Intelligence Software: Employs non-numerical algorithms to solve problems like expert systems and playing games.

Software Evolution

  • Software constantly evolves regardless of its application domain size or complexity.
  • Common reasons for software evolution include error correction, adaptation to new environments, and incorporating customer-requested features and functions.
  • Manny Lehman developed a unified theory for software evolution:
    • The Law of Continuing Change (1974): E-Type systems require continuous adaptation to maintain their effectiveness.
    • The Law of Increasing Complexity (1974): As an E-Type system evolves, its complexity increases, making maintenance more difficult.
    • The Law of Self-Regulation (1974): The evolution process of E-Type systems is self-regulating, with product and process measures tending towards a normal distribution.
    • The Law of Continuing Growth (1980): E-Type systems need continuous functional expansion to satisfy user expectations over their lifespan.
    • The Law of Declining Quality (1996): E-Type system quality declines unless they are maintained and adapted to environmental changes.
    • The Feedback System Law (1996): E-Type evolution involves multi-level feedback systems and must be treated as such to achieve significant improvements.

Software Characteristics

  • Software is a logical system, not a physical one.
  • Software is developed or engineered, not manufactured in the traditional sense.
  • Software does not wear out in the same way hardware does.
  • Most software is custom-built, although component-based assembly is becoming more prevalent.

Software Myths

  • Software development is often surrounded by misconceptions.
    • Management Myths: Standard procedures and documentation can provide everything needed to build software.
    • Customer Myths: General objectives are enough to start programming, with details filled in later. Requirements change constantly, but software's flexibility allows for easy adaptation.
    • Practitioner Myths: Once a program is working, the developers' job is done. The only deliverable for a successful project is a working program.

Legacy Software

  • Legacy software refers to older programs that have been continuously modified to meet changing business needs and computing platforms.
  • They remain crucial in supporting business functions.
  • Legacy software can have negative qualities including:
    • Inflexible design
    • Poor or lacking documentation
    • Complex code
    • Untracked test cases and results
    • Poorly managed change history

The Classical Life Cycle

  • A systematic, sequential approach to software development.
  • Begins with defining customer requirements and progresses through planning, modeling, construction, deployment, and ongoing support.

Computer-Based System

  • A unified set or arrangement of components designed to achieve a specific goal through information processing.
  • The goal might be to support business functions or develop a product for revenue generation.
  • Key Elements of a Computer-Based System:
    • Software: Computer programs, data structures, and related artifacts that define the system's logical methods and procedures.
    • Hardware: Electronic devices providing computational capabilities and interconnectivity (networks, switches, telecommunications devices enabling data flow, electromechanical devices).
    • People: Users and operators of the hardware and software.
    • Database: A large, organized information collection accessed through software.
    • Documentation: Descriptive information explaining the system's use and operation.
    • Procedures: Steps defining how each system component is used.

The System Engineering Hierarchy

  • Focuses on understanding the context and gradually narrowing the scope to define technical details.
  • Begins with a "world view" of the business or product domain.
  • Refines the view to focus on specific domains of interest.
  • Identifies necessary system elements (data, software, hardware, people) within a specific domain.
  • Initiates analysis, design, and construction of targeted system elements.

Product Engineering

  • Focuses on translating customer needs into a working product.
  • Drives architecture and infrastructure.
  • Architecture comprises distinct system components (software, hardware, databases, people).
  • Support infrastructure includes technologies to bind components together and documentation for support.

Business Process Engineering

  • Involves analyzing and redesigning workflows within and between enterprises to optimize processes and automate non-value-added tasks.
  • Introduced by Michael Hammer in 1990.
  • Three key architectures to be considered:
    • Data architecture: Provides a framework for a business's information needs.
      • Data objects represent business elements with specific attributes.
      • Relationships between data objects define how they are connected.
    • Application architecture: Defines elements that transform data objects within the data architecture for specific business purposes.
    • Technology infrastructure: Provides support for data and application architectures.
      • Includes hardware and software like computers, operating systems, networks, storage, and telecommunications technologies.

System Modeling

  • A crucial aspect of system engineering.
  • Involves creating models that define processes representing the system's behavior.
  • Models capture assumptions governing the behavior and relationships within the system.
  • Engineers consider various factors when constructing models:
    • Assumptions: Simplify the system by reducing possible permutations.
    • Simplifications: Make model creation efficient.
    • Limitations: Define the system's boundaries.
    • Constraints: Guide the modeling process and implementation.
    • Preferences: Indicate preferred architecture for data, functions, and technology.

Data Modeling

  • Addresses questions related to any data-processing application:
    • What are the primary objects processed by the system?
    • What are the components and attributes of each data object?
    • Where are these objects currently located?
    • What are the relationships between each object and others?

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Lecture 1 ,2 _ 3.ppt

More Like This

Software Evolution
5 questions

Software Evolution

SalutaryStarlitSky avatar
SalutaryStarlitSky
Software Evolution and Maintenance
20 questions
Software Evolution and Change
5 questions
Use Quizgecko on...
Browser
Browser