Podcast
Questions and Answers
What are the three components that compose software?
What are the three components that compose software?
Instructions for execution, data structures, and descriptive information.
In what main sense is software not manufactured?
In what main sense is software not manufactured?
Software is developed or engineered, not manufactured in a classical sense.
How is software longevity connected to its user base?
How is software longevity connected to its user base?
As the perceived value of an application grows, the likelihood of its user base and longevity also increases.
What is the primary goal of application software?
What is the primary goal of application software?
Describe the purpose of embedded software.
Describe the purpose of embedded software.
What does IEEE say that software engineering is?
What does IEEE say that software engineering is?
Within the layered technology view, what element sits above 'process'?
Within the layered technology view, what element sits above 'process'?
Name the five generic activities in a generic process framework for software engineering.
Name the five generic activities in a generic process framework for software engineering.
What is the purpose of 'umbrella activities' in the software process?
What is the purpose of 'umbrella activities' in the software process?
List the four key actions embodying software engineering practice.
List the four key actions embodying software engineering practice.
Software engineering involves wider responsibilities than simply what?
Software engineering involves wider responsibilities than simply what?
Name two components of 'Professional Responsibility'.
Name two components of 'Professional Responsibility'.
What is a key challenge associated with legacy software systems?
What is a key challenge associated with legacy software systems?
What pressures do managers with software responsibilities often face?
What pressures do managers with software responsibilities often face?
In the discussion of 'customer myths', what is the customer defined to be?
In the discussion of 'customer myths', what is the customer defined to be?
What is a 'practitioner's myth' surrounding software?
What is a 'practitioner's myth' surrounding software?
What general problem starts a software project?
What general problem starts a software project?
Explain how an AI software is useful.
Explain how an AI software is useful.
How does software act as a 'vehicle used to deliver products'?
How does software act as a 'vehicle used to deliver products'?
Why should software engineers behave honestly and ethically?
Why should software engineers behave honestly and ethically?
What is the primary focus of scientific software?
What is the primary focus of scientific software?
Software engineering requires an engineering approach. What is it used for?
Software engineering requires an engineering approach. What is it used for?
Product line software is designed to allow what?
Product line software is designed to allow what?
How is software quality assured?
How is software quality assured?
Are software engineering ethics important?
Are software engineering ethics important?
What is the main difference between software and hardware?
What is the main difference between software and hardware?
How is data processed through 'system software?'
How is data processed through 'system software?'
Legacy software presents challenges. What proliferation presents headaches for organizations.
Legacy software presents challenges. What proliferation presents headaches for organizations.
Should managers with software responsibilities be aware of slipping?
Should managers with software responsibilities be aware of slipping?
Should Practitioners foster culture? If not, what types of myths should they be aware of?
Should Practitioners foster culture? If not, what types of myths should they be aware of?
Flashcards
What is Software?
What is Software?
Instructions that, when executed, provide desired features, and data structures to manipulate information, and descriptive information about operation.
Unique Software characteristics
Unique Software characteristics
Developed/engineered; not mass-produced. Doesn't 'wear out'. Often custom-built, moving towards component-based.
System Software
System Software
Programs servicing other programs, process complex data. Examples: Compilers, editors, operating system components.
Application Software
Application Software
Signup and view all the flashcards
Engineering/Scientific Software
Engineering/Scientific Software
Signup and view all the flashcards
Embedded Software
Embedded Software
Signup and view all the flashcards
Web Applications
Web Applications
Signup and view all the flashcards
AI Software
AI Software
Signup and view all the flashcards
Software as a Product
Software as a Product
Signup and view all the flashcards
Software as a Vehicle
Software as a Vehicle
Signup and view all the flashcards
Software Engineering
Software Engineering
Signup and view all the flashcards
Software Engineering (IEEE)
Software Engineering (IEEE)
Signup and view all the flashcards
Communication
Communication
Signup and view all the flashcards
Planning
Planning
Signup and view all the flashcards
Modeling
Modeling
Signup and view all the flashcards
Construction
Construction
Signup and view all the flashcards
Deployment
Deployment
Signup and view all the flashcards
Software Project Tracking and Control
Software Project Tracking and Control
Signup and view all the flashcards
Risk Management
Risk Management
Signup and view all the flashcards
Software Quality Assurance
Software Quality Assurance
Signup and view all the flashcards
Technical Reviews
Technical Reviews
Signup and view all the flashcards
Measurement
Measurement
Signup and view all the flashcards
Software Configuration Management
Software Configuration Management
Signup and view all the flashcards
Reusability Management
Reusability Management
Signup and view all the flashcards
Work Product Preparation and Production
Work Product Preparation and Production
Signup and view all the flashcards
Essence of practice
Essence of practice
Signup and view all the flashcards
How it All Starts
How it All Starts
Signup and view all the flashcards
Study Notes
Learning Outcomes
- Explain software engineering’s nature
- Comprehend the software process
- Determine how software engineering started
Software and Software Engineering Topics
- Nature of Software
- Software Engineering
- Software Process
- Software Engineering Practice
- Software Engineering Myths
- It All Starts
The Nature of Software
- Software comprises instructions that provide features, functions, and performance when executed.
- Software includes data structures that enable programs to manipulate information and descriptive information for operation and use.
Software Characteristics
- Software is developed or engineered, not manufactured like hardware
- Software does not wear out
- Software is custom-built, despite the industry’s move toward component-based construction
Software Application Domains
- System Software: Programs written to service other programs that process complex & determinate info (e.g. compilers, editors) or indeterminate data (operating system components, drivers).
- Application Software: Stand-alone programs addressing specific business needs processing data to facilitate operations or decision-making.
- Engineering/Scientific Software: Characterized by "number crunching" algorithms, used in areas from astronomy to manufacturing.
- Embedded Software: Resides within a product/system, implementing end-user control features, functions, and system itself.
- Product-line Software: Provides specific capabilities for use by many different customers.
- Web Applications: Network-centric software spanning a wide array of applications, including linked hypertext files with text and limited graphics.
- Artificial Intelligence (AI) Software: Employs nonnumerical algorithms for complex problem-solving, covering robotics, expert systems, pattern recognition, and game playing.
The Evolving Role of Software
- As a Product: Delivers computing potential by computer hardware or networks.
- As a Vehicle: Acts as the basis for control of the computer (operating systems), communication of information (networks) creation and control of other programs (software tools and environments).
Software Engineering
- Software has become deeply embedded in virtually every aspect of Our Lives
- The information technology requirements demand by individuals, businesses, and governments grow increasingly complex with each passing year
- Individuals, businesses, and governments increasingly rely on software for strategic and tactical decision-making as well as day-to-day operations and control.
- As the perceived value of a specific application grows, the likelihood is that its user base and longevity will also grow.
- An approach to software development of systematic application is analyzed, designed, constructing, and testing end-user applications to fill these needs via software programming languages.
Software Engineering (IEEE Definition)
- Application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.
- The study of approaches to software engineering.
A Layered Technology
- Quality Focus (Base Layer)
- Process
- Methods
- Tools (Top Layer)
Software Process
- A generic process framework for software engineering encompasses five activities; Communication, Planning, Modeling, Construction, and Deployment.
- Typical Umbrella Activities include: Software project tracking and control, Risk management, Software quality assurance, Technical reviews, Measurement, Software configuration management, Reusability management, and Work product preparation and production.
Software Engineering Practice
- The essence of practice: Understand the Problem (communication and analysis), Plan a Solution (modeling and software design), Carry out the Plan (code generation), and Examine the Result for Accuracy (testing and assurance)
Software Engineering Ethics
- Ethical Behavior: Involves upholding the law but following principles that are morally correct.
- Software Engineering Involvement: Wider than technical skill application
- Ethical Responsibility: Software engineers must be honest and ethically responsible as professionals
Issues of Professional Responsibility
- Includes confidentiality, competence, intellectual property rights, and computer misuse.
Legacy Software
- The proliferation of systems developed decades ago causes headaches for large organizations, who find them costly to maintain and risky to evolve due to business and computing changes.
Software Myths
- Managers, customers, and practitioners all hold various myths about software development
Management Myths
- Managers with software responsibility are pressured to maintain budgets, keep schedules, and improve quality.
Customer Myths
- Customers requesting computer software may be internal people, groups, departments or outside companies under contract.
Practitioner's Myths
- Software development myths are still believed by software practitioners, fostered by 50 years of programming culture.
How it Starts
- Every project starts by some business need to correct a defect, to adapt or extend legacy systems, or to create new products, services, or systems.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.