Podcast
Questions and Answers
Software design is the process of transforming what into a suitable form?
Software design is the process of transforming what into a suitable form?
- Programmer code
- User requirements (correct)
- System architecture
- Hardware specifications
The SRS document is transformed into a design document during the software design phase.
The SRS document is transformed into a design document during the software design phase.
True (A)
What are the three basic types of software?
What are the three basic types of software?
System software, programming software, and application software
__________ software is used to control machines and devices not typically considered computers, such as telecommunications networks, cars, and industrial robots.
__________ software is used to control machines and devices not typically considered computers, such as telecommunications networks, cars, and industrial robots.
Match the following roles with their descriptions:
Match the following roles with their descriptions:
Which of the following activities would a programmer most likely perform?
Which of the following activities would a programmer most likely perform?
Software developers only focus on creating small, individual applications.
Software developers only focus on creating small, individual applications.
What are the two main classifications of software developers?
What are the two main classifications of software developers?
__________ software developers are responsible for designing computer or mobile applications, understanding user needs, and monitoring performance.
__________ software developers are responsible for designing computer or mobile applications, understanding user needs, and monitoring performance.
Match the type of software developer with their focus.
Match the type of software developer with their focus.
What does the software development process encompass, besides writing code?
What does the software development process encompass, besides writing code?
Software development only involves writing code.
Software development only involves writing code.
What does SDLC stand for?
What does SDLC stand for?
SDLC methodologies support the design of software to meet a business need, the development to meet the specified design, and the __________ of software to production.
SDLC methodologies support the design of software to meet a business need, the development to meet the specified design, and the __________ of software to production.
Match the following software development phase with its description:
Match the following software development phase with its description:
In which SDLC phase is the 'causes and effects' of a problem assessed?
In which SDLC phase is the 'causes and effects' of a problem assessed?
Problem prioritization determines which problems should be tackled last.
Problem prioritization determines which problems should be tackled last.
What should problem identification result in?
What should problem identification result in?
Planning helps to manage time, cost, quality, change, risk, and ___________.
Planning helps to manage time, cost, quality, change, risk, and ___________.
Match the following planning activities with their definition:
Match the following planning activities with their definition:
What is the purpose of a feasibility study?
What is the purpose of a feasibility study?
A feasibility study is conducted after the software development is already complete.
A feasibility study is conducted after the software development is already complete.
List the objectives of the feasibility study.
List the objectives of the feasibility study.
The types of feasibility considered are technical, operational, economic, scheduling, and __________.
The types of feasibility considered are technical, operational, economic, scheduling, and __________.
Match each feasibility type with its description:
Match each feasibility type with its description:
Which type of feasibility analysis includes evaluating programmer availability?
Which type of feasibility analysis includes evaluating programmer availability?
Economic feasibility focuses solely on revenue and does not consider expenses.
Economic feasibility focuses solely on revenue and does not consider expenses.
What does a feasibility report include?
What does a feasibility report include?
Requirements Analysis identifies who needs what information, and when, where, and how the __________ is needed.
Requirements Analysis identifies who needs what information, and when, where, and how the __________ is needed.
Match the element of Requirements Analysis with its description:
Match the element of Requirements Analysis with its description:
Flashcards
What is Software Design?
What is Software Design?
Transforming user needs into a suitable form for software coding and implementation.
What is Software?
What is Software?
Instructions or programs for a computer, independent of hardware.
What is System Software?
What is System Software?
Software providing core functions like OS, disk management, and hardware management.
What is Programming Software?
What is Programming Software?
Signup and view all the flashcards
What is Application Software?
What is Application Software?
Signup and view all the flashcards
What is Embedded Systems Software?
What is Embedded Systems Software?
Signup and view all the flashcards
What do Programmers or Coders do?
What do Programmers or Coders do?
Signup and view all the flashcards
What do Software Engineers do?
What do Software Engineers do?
Signup and view all the flashcards
What do Software Developers do?
What do Software Developers do?
Signup and view all the flashcards
What do Application Software Developers do?
What do Application Software Developers do?
Signup and view all the flashcards
What do Systems Software Developers do?
What do Systems Software Developers do?
Signup and view all the flashcards
What is Software Development?
What is Software Development?
Signup and view all the flashcards
What is Systems Development Life Cycle (SDLC)?
What is Systems Development Life Cycle (SDLC)?
Signup and view all the flashcards
What is Problem Identification and Planning?
What is Problem Identification and Planning?
Signup and view all the flashcards
What is involved in the process of Problem Identification?
What is involved in the process of Problem Identification?
Signup and view all the flashcards
What is Problem Assessment?
What is Problem Assessment?
Signup and view all the flashcards
What is Problem Prioritization?
What is Problem Prioritization?
Signup and view all the flashcards
What are Problem Statements?
What are Problem Statements?
Signup and view all the flashcards
What is Planning?
What is Planning?
Signup and view all the flashcards
What is a Feasibility Study?
What is a Feasibility Study?
Signup and view all the flashcards
What does a Feasibility Study determine?
What does a Feasibility Study determine?
Signup and view all the flashcards
What information does a Feasibility Study include?
What information does a Feasibility Study include?
Signup and view all the flashcards
What is the objective of a Feasibility Study?
What is the objective of a Feasibility Study?
Signup and view all the flashcards
What is the objective of a Feasibility Study II?
What is the objective of a Feasibility Study II?
Signup and view all the flashcards
What are Technical Feasibility considerations?
What are Technical Feasibility considerations?
Signup and view all the flashcards
What is Economic Feasibility?
What is Economic Feasibility?
Signup and view all the flashcards
What is Operational Feasibility?
What is Operational Feasibility?
Signup and view all the flashcards
What is a Feasibility Report?
What is a Feasibility Report?
Signup and view all the flashcards
What is Requirements Analysis?
What is Requirements Analysis?
Signup and view all the flashcards
What is Requirements Elicitation?
What is Requirements Elicitation?
Signup and view all the flashcards
Study Notes
Software Design
- Software Design transforms user requirements into a suitable form, facilitating programmer coding and implementation
- During the design phase, a design document is created based on customer requirements outlined in the SRS (Software Requirements Specification) document
- The software design phase transforms the SRS document into a design document
Software Development Terminologies
- Software includes instructions or programs for computers, independent of hardware, and makes computers programmable
- System software provides core functions like OS, disk, and hardware management
- Programming software gives programmers tools like text editors, compilers and debuggers
- Application software helps users with tasks, such as office suites, data management, media players, web and mobile apps
- Embedded systems software controls telecommunications networks, cars, industrial robots, and connects to the IoT
- Programmers, or coders, write source code for computers and interpret instructions from developers/engineers
- Software engineers use engineering principles to build software and systems, devising general solutions to problems
- Software developers creatively mastermind computer programs and can be application or systems-focused
Software Developers
- Applications software developers design computer or mobile apps focused on consumers
- Systems software developers focus on operating systems-level software and enterprise solutions
Software Development
- Software Development involves building software in successive phases in an orderly way
- Software development includes writing code and preparing requirements and objectives
- The design phase and confirmation all contribute to the final objectives of the software
Systems Development Life Cycle (SDLC)
- Software development is a collective process included in creating software programs, within the SDLC
- SDLC methodologies support software design to meet business needs, development as per design, and deployment
- SDLC supports maintenance, based on project needs
SDLC Phases
- The Typical phases include
- Problem identification and planning
- Feasibility study
- Requirements analysis
- Software design
- Programming (Development or coding)
- Testing
- Software deployment
- Maintenance
Problem Identification and Planning
- Problem identification aims to describe problems and challenges, preventing the current system from achieving organizational goals
- Problem identification provides intervention and generates a broad range of intervention/options
- These problems must be linked to the stated objectives
- Problem identification considers challenges, constraints, and opportunities preventing goals from being achieved
- Problem assessment follows problem identification, assessing the scale and impact of the problem Problem assessment involves checking the scale and extent of the problem, looking at the cause and effect on project goals
- Problem prioritization allocates precedence to the identified problems, determining which problems should be tackled first
- This should also result in problem statements which describes the problem an organization faces
- Planning guides the development team through execution
- Plans should manage time, cost, quality, change, risk, and issues for the development team
- Planning includes
- Resource allocation
- Capacity planning
- Project scheduling
- Cost estimation
- Provisioning
Feasibility Study
- Feasibility Study are preliminary study to assess a project feasibility
- A feasibility study determines if the proposed solution is practical and workable in software
- Resource availability, estimation for software development, software benefits and cost is all considered in this study
- Objectives include
- Checking organizational requirements
- Checking implementations
- Checking integrations
Types of Feasibility
- Technical Feasibility
- Operational Feasibility
- Economic Feasibility
- Scheduling Feasibility
- Legal Feasibility
- Technical Feasibility considerations include technology available or if resources are needed such as programmers, testers & debuggers
- Economic feasibility a cost-benefit analysis used for evaluating costs and benefits of a system
- Factors such as total cost, expenses are considered to determine if a venture will be profitable
- Operational feasibility checks problem resolution in the user's environment with existing and proposed systems
- The study examines the needs and the maintenance after implementation
Feasibility Report
- Feasibility report is prepared after a study and should recommend to continue or not
- The report can include additional requirements based on updates in scope, budget, and schedule
Requirements Analysis
- Requirements Analysis is a detailed statement of information needs, defining stakeholders
- Analysis includes who needs data, when do they need it, where and how the person receives that info
- Faulty requirements analysis causes system failure and development costs
- This stage includes a study of an organizations business needs
- The Major functions and analysis identifies critical processes and data entities
- Processes include business inputs, outputs and reports
- Each definition is termed a requirement with its own unique ID with a title and textual description
Elements of Requirements Analysis
- Requirements elicitation identifies and obtains system requirements from users, customers, and stakeholders
- Validation ensures that requirements represent the actual needs of stakeholders
- Raw requirements are discussed with the stakeholders to ensure the software development team is working in the right direction
- Verification confirms project requirements should be "Concise", "Traceable", "Organized", "Verifiable" and "Conformant to standards"
- Analysis in software engineering encompassing needs determination, considering conflicting stakeholder requirements
- A gap analysis should also be performed
Software Requirements Specification (SRS)
- SRS specification documents capture all software specifications
- The Document gives a description of how a system behavior functions during implementation
- Use case helps define all user interactions with the software
- SRS has non-functional requirements, imposing constraints for design and implementation
- Performance engineering requirements or quality standards help to address non-functional requirements
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.