Software Design and Development

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

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.

True (A)

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.

<p>Embedded systems</p> Signup and view all the answers

Match the following roles with their descriptions:

<p>Programmers/Coders = Write source code to program computers for specific tasks. Software Engineers = Apply engineering principles to build software and systems to solve problems. Software Developers = Creative masterminds behind computer programs who may focus on specific apps or create underlying systems.</p> Signup and view all the answers

Which of the following activities would a programmer most likely perform?

<p>Writing source code (C)</p> Signup and view all the answers

Software developers only focus on creating small, individual applications.

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

What are the two main classifications of software developers?

<p>Applications software developers and systems software developers</p> Signup and view all the answers

__________ software developers are responsible for designing computer or mobile applications, understanding user needs, and monitoring performance.

<p>Applications</p> Signup and view all the answers

Match the type of software developer with their focus.

<p>Applications Software Developers = Creating software for consumers. Systems Software Developers = Designing systems-level software and network distribution software.</p> Signup and view all the answers

What does the software development process encompass, besides writing code?

<p>Requirements preparation and design (A)</p> Signup and view all the answers

Software development only involves writing code.

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

What does SDLC stand for?

<p>Systems Development Life Cycle</p> Signup and view all the answers

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.

<p>deployment</p> Signup and view all the answers

Match the following software development phase with its description:

<p>Problem identification and planning = Identify and describe the problems and challenges that are preventing goals from being achieved. Feasibility study = Determine the likelihood of the projects success. Requirements analysis = Detailed statement of the information needs that a new software must satisfy</p> Signup and view all the answers

In which SDLC phase is the 'causes and effects' of a problem assessed?

<p>Problem identification and planning (D)</p> Signup and view all the answers

Problem prioritization determines which problems should be tackled last.

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

What should problem identification result in?

<p>Problem statements</p> Signup and view all the answers

Planning helps to manage time, cost, quality, change, risk, and ___________.

<p>issues</p> Signup and view all the answers

Match the following planning activities with their definition:

<p>Resource Allocation = Determine the resources that are needed to work on the software. Project scheduling = Creating timeline for the project's development Cost estimation = Creating a budget for the software development.</p> Signup and view all the answers

What is the purpose of a feasibility study?

<p>To ascertain the likelihood of the project's success (C)</p> Signup and view all the answers

A feasibility study is conducted after the software development is already complete.

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

List the objectives of the feasibility study.

<p>To analyze if the software will meet requirements, if it can be implemented, and if it can be integrated with existing software.</p> Signup and view all the answers

The types of feasibility considered are technical, operational, economic, scheduling, and __________.

<p>legal</p> Signup and view all the answers

Match each feasibility type with its description:

<p>Technical Feasibility = Determines if the required technology and resources are available. Economic Feasibility = Cost-benefit analysis to determine if the venture will be profitable. Operational Feasibility = Checks whether the problem can be solved in the user's environment.</p> Signup and view all the answers

Which type of feasibility analysis includes evaluating programmer availability?

<p>Technical feasibility (D)</p> Signup and view all the answers

Economic feasibility focuses solely on revenue and does not consider expenses.

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

What does a feasibility report include?

<p>Recommendations on if the software development should continue or not.</p> Signup and view all the answers

Requirements Analysis identifies who needs what information, and when, where, and how the __________ is needed.

<p>information</p> Signup and view all the answers

Match the element of Requirements Analysis with its description:

<p>Requirements Elicitation = Identify the sources of requirements and obtain these requirements. Validation = Ensure requirements represent the actual needs of stakeholders. Verification = Confirm that requirements are concise, traceable, organized, verifiable, and conformant to standards.</p> Signup and view all the answers

Flashcards

What is Software Design?

Transforming user needs into a suitable form for software coding and implementation.

What is Software?

Instructions or programs for a computer, independent of hardware.

What is System Software?

Software providing core functions like OS, disk management, and hardware management.

What is Programming Software?

Software providing programmers with tools like editors, compilers, and debuggers.

Signup and view all the flashcards

What is Application Software?

Software helping users perform tasks like office productivity, media playing; also web/mobile apps.

Signup and view all the flashcards

What is Embedded Systems Software?

Software that controls machines not typically seen as computers (cars, robots) within the IoT.

Signup and view all the flashcards

What do Programmers or Coders do?

Writing source code to program computers for specific tasks.

Signup and view all the flashcards

What do Software Engineers do?

Building software and systems using engineering principles to solve problems broadly.

Signup and view all the flashcards

What do Software Developers do?

Creative masterminds behind computer programs focusing on programs/apps or underlying systems.

Signup and view all the flashcards

What do Application Software Developers do?

Designing computer/mobile apps focused on consumers, understanding needs, and monitoring performance.

Signup and view all the flashcards

What do Systems Software Developers do?

Focused on OS-level software, compilers, network distribution; designing for enterprise organizations.

Signup and view all the flashcards

What is Software Development?

Building software through successive, orderly phases including requirements, design, coding, and validation.

Signup and view all the flashcards

What is Systems Development Life Cycle (SDLC)?

Collective processes creating software, encompassing all stages throughout its lifecycle.

Signup and view all the flashcards

What is Problem Identification and Planning?

Identifying problems and challenges preventing the current system from achieving organizational goals.

Signup and view all the flashcards

What is involved in the process of Problem Identification?

Clear and straightforward statements linked to specific goals and objectives.

Signup and view all the flashcards

What is Problem Assessment?

Checking the problem's scale, extent, cause, and effect on goals and objectives.

Signup and view all the flashcards

What is Problem Prioritization?

Allocating precedence to identified problems to determines which should be tackled first.

Signup and view all the flashcards

What are Problem Statements?

Describing the nature of the problem facing the organization and its departments.

Signup and view all the flashcards

What is Planning?

Strategies guiding the development team through the execution process.

Signup and view all the flashcards

What is a Feasibility Study?

Preliminary study to ascertain the likelihood of the project's success.

Signup and view all the flashcards

What does a Feasibility Study determine?

Determines if the solution is practical and workable.

Signup and view all the flashcards

What information does a Feasibility Study include?

Resource availability, cost estimation, software benefits, maintenance costs.

Signup and view all the flashcards

What is the objective of a Feasibility Study?

Whether the software will meet organizational requirements.

Signup and view all the flashcards

What is the objective of a Feasibility Study II?

Whether the software can be implemented using current technology, budget, and schedule.

Signup and view all the flashcards

What are Technical Feasibility considerations?

Resource availability, cost estimation, software benefits, maintenance costs.

Signup and view all the flashcards

What is Economic Feasibility?

A cost-benefit analysis evaluating costs and benefits of the system.

Signup and view all the flashcards

What is Operational Feasibility?

Checking problem-solving in the user's environment with existing and proposed system workings.

Signup and view all the flashcards

What is a Feasibility Report?

Report including recommendations on whether to continue software development and changes in scope/budget.

Signup and view all the flashcards

What is Requirements Analysis?

Detailed statement of information needs that new software must satisfy.

Signup and view all the flashcards

What is Requirements Elicitation?

Identifying sources of requirements and obtaining them from users, customers, and stakeholders.

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.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser