Podcast
Questions and Answers
What is a key reason for continual consultation throughout the project lifecycle?
What is a key reason for continual consultation throughout the project lifecycle?
- To schedule regular meetings with management
- To identify problems early and ensure stakeholder input (correct)
- To implement management’s preferences without feedback
- To create a detailed project timeline
What should be included in the scope document when defining a project?
What should be included in the scope document when defining a project?
- A list of functional and non-functional requirements
- An analysis of the team’s emotional state
- Explicitly listed 'in scope' and 'out of scope' items (correct)
- A detailed marketing plan
When examining competing products, what is NOT typically focused on?
When examining competing products, what is NOT typically focused on?
- Idiosyncrasies of competing products
- Fictional scenarios unrelated to the market (correct)
- Weaknesses of the competing products
- Strengths of the competing products
What is a non-functional requirement in a software project?
What is a non-functional requirement in a software project?
Why is it important to consider international factors when developing software?
Why is it important to consider international factors when developing software?
What should teams do when presenting project outlines after role-playing?
What should teams do when presenting project outlines after role-playing?
What is a primary goal of requirement specification in software projects?
What is a primary goal of requirement specification in software projects?
Which of these is an example of a functional requirement?
Which of these is an example of a functional requirement?
What is one limitation of the free plan offered by MockFlow?
What is one limitation of the free plan offered by MockFlow?
What is the purpose of an entity relationship diagram?
What is the purpose of an entity relationship diagram?
Which of the following is not a consideration during the implementation phase?
Which of the following is not a consideration during the implementation phase?
What does a 'perpetual license' mean in software purchasing?
What does a 'perpetual license' mean in software purchasing?
Which of the following factors is a common concern when using cloud computing?
Which of the following factors is a common concern when using cloud computing?
What is a major trend noted in recent software distribution methods?
What is a major trend noted in recent software distribution methods?
Which of the following is NOT mentioned as a big player in cloud computing?
Which of the following is NOT mentioned as a big player in cloud computing?
What should be agreed upon in writing with clients before starting serious development?
What should be agreed upon in writing with clients before starting serious development?
What is a crucial factor that must be evaluated when considering a cloud-based project?
What is a crucial factor that must be evaluated when considering a cloud-based project?
Which of the following is NOT a migration issue when moving customer data to a new system?
Which of the following is NOT a migration issue when moving customer data to a new system?
Which method is suggested for managing updates to a tool effectively?
Which method is suggested for managing updates to a tool effectively?
What international issues should be considered when migrating data?
What international issues should be considered when migrating data?
What example illustrates a potential system issue related to date handling?
What example illustrates a potential system issue related to date handling?
What deployment method allows for immediate updates across all users?
What deployment method allows for immediate updates across all users?
What process is used for detecting leaks in the pipeline system?
What process is used for detecting leaks in the pipeline system?
What is a disadvantage of automatic updates as seen in some software applications?
What is a disadvantage of automatic updates as seen in some software applications?
What happens when a sensor value is detected outside of acceptable parameters?
What happens when a sensor value is detected outside of acceptable parameters?
Which automatic update feature did Google Chrome implement effectively?
Which automatic update feature did Google Chrome implement effectively?
In the context of a bookshop, what is primarily used to identify the price of a book?
In the context of a bookshop, what is primarily used to identify the price of a book?
What component is NOT a part of the basic structure of programs as described?
What component is NOT a part of the basic structure of programs as described?
What purpose does wireframing serve in the design process?
What purpose does wireframing serve in the design process?
Which element is NOT considered part of a program's hierarchy as presented?
Which element is NOT considered part of a program's hierarchy as presented?
When a barcode is scanned at the point of sale, what does the system do first?
When a barcode is scanned at the point of sale, what does the system do first?
What is the primary function of prototypes in product design?
What is the primary function of prototypes in product design?
What is the purpose of beta testing?
What is the purpose of beta testing?
Which of the following backup strategies involves having duplicate cold backup systems?
Which of the following backup strategies involves having duplicate cold backup systems?
What is a key factor influencing the quality of user documentation?
What is a key factor influencing the quality of user documentation?
Which backup approach follows the 3-2-1 rule?
Which backup approach follows the 3-2-1 rule?
Which type of training is best for users who prefer in-person guidance?
Which type of training is best for users who prefer in-person guidance?
What could be a consequence of not having a strong data loss prevention strategy?
What could be a consequence of not having a strong data loss prevention strategy?
Which of the following statements about automated backups is true?
Which of the following statements about automated backups is true?
What type of testing ensures that the software is acceptable to the client before final deployment?
What type of testing ensures that the software is acceptable to the client before final deployment?
Study Notes
Consultation
- Consultation should occur continually throughout the software development lifecycle to identify problems early.
- Honest and frank information from stakeholders should be encouraged without fear of retribution.
- Create an environment for extracting valuable insights.
Exercise: Identifying Scope, Stakeholders, and Requirements
- Split into pairs, one customer, one developer.
- Customer proposes an app/software project.
- Developer must ask questions to define:
- Scope Document: Explicitly list in-scope and out-of-scope items.
- Stakeholders.
- Requirement specification: Functional and non-functional items.
- Reverse roles.
- Save project outlines for future use.
Project Research
- Examine the current system your project will replace: strengths, weaknesses, idiosyncrasies.
- Examine competing products: strengths, weaknesses, idiosyncrasies.
- Examine your capabilities: what can you produce? What expertise can you afford to recruit?
- Examine relevant literature: how are others addressing the problem?
- Account for international factors:
- Time zones
- Languages
- Date formats
Requirements Planning
- Turn your project scope into a detailed set of requirements for your engineering team.
- Requirements are split into:
- Functional: What will the program actually do?
- Non-functional: Performance, security, usability, etc.
Example Functional Requirements
- Book Shop System:
- Customer buys a book.
- Salesperson scans a barcode.
- Barcode is sent to the central computer.
- Price is retrieved from the database.
- Price is sent back to the point of sale computer.
- Calculations are performed.
- Transaction details are stored locally.
- Receipt is printed.
- Subsea Oil and Gas Leak Detection:
- Sensors continuously monitor pipeline flow and pressure.
- Data is processed on a computer.
- If sensor values exceed acceptable parameters:
- An alarm sounds on the computer.
- An email is sent to managers.
- Staff can configure the system.
Structure Charts
- Top-down approach to explain program organization.
- Programs are composed of modules.
- Modules consist of subroutines and functions.
- Subroutines and functions are built with algorithms.
- Algorithms are composed of lines of code.
- Lines of code are made up of statements and data.
Wireframing & Prototyping
- Wireframe: outlines arrangement of textual and media elements.
- Wireframing tools allow designers and clients to discuss and comment on sketches.
- Prototype: shows your website or product in action. It's clickable.
- Tools:
- Adobe XD
- Mockflow
- Moqups
- Lucidchart
- Balsamiq
Entity Relationship Diagrams
- Used for documenting relational database systems.
- Not a required diagram for the course, but recommended for Internal Assessment if creating a database.
Client Sign-Off
- Sign off on scope document AND design before starting serious development.
Implementation
- Aim: Build the software compliant with the design.
- Considerations:
- Technology stack
- Migration issues
- Deployment issues
- Implementation issues
Technology Stack
- Perpetual License: buy once, use forever.
- Rent (SaaS - Software as a service): Eg: Adobe Creative Suite, Microsoft Office 365
- SaaS Model is becoming popular.
- Cloud Computing:
- AWS, Google Cloud, Microsoft Azure.
- Concerns:
- Control over data location.
- Access to data.
- Trust in cloud provider.
- Elements to evaluate:
- Security
- Encryption
- Privacy laws
- Backups
- Cost
- Reliability
Migration Issues
- Maintaining compatibility of customer data during system migration.
- Considerations:
- International issues: languages, dates, currency, time zones
- System issues: data types and limits (Eg: Y2K, Year 2038 problem)
- Converting file formats
- Validating data accuracy after conversion.
Deployment Issues
- Methods of software distribution:
- App store
- Website download and install
- CD/DVD/USB
- Cloud
- Update management:
- Online self-updating
- Download and manually install
- Distributing disks (less common nowadays)
- Web based products update automatically (Facebook's downfall).
Implementation Issues
- Implementation/conversion methods.
- Testing:
- Software testing
- User documentation testing
- User training testing
- Backup regime and restoration procedure testing
Software Testing
- Debugging: Testing as you code.
- Automated testing: Software based automated testing.
- Beta testing: Volunteers test software before widespread deployment.
- User acceptance testing (UAT): Client accepts product as fit for purpose.
User Documentation
- Influences system implementation and success.
- Options:
- Textbook style user manuals
- Help files
- Online support (chat, forums)
- Videos
User Training
- Options:
- Self-instruction
- Formal classes
- Online courses
- 1:1 coaching
Backups
- Data can be lost through:
- Malicious activity
- Natural disasters
- Human error
- Disk deterioration
Data Loss Prevention
- Determine the impact of a worst-case scenario on your business.
- Strategies:
- Failover systems
- Redundancy
- Removable media
- Offsite/online storage
Backup Strategies
- 3-2-1 rule:
- At least 3 copies
- At least 2 different forms
- At least 1 copy offsite
- Other considerations:
- Automated vs. manual backups
- Full vs. differential backups
The Cloud and Backups
- Cloud is debatable as a backup.
- Always live and available is a positive and negative.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This quiz focuses on the importance of continual consultation throughout the software development lifecycle, emphasizing the role of honest stakeholder communication. Participants will learn to identify project scope, stakeholders, and requirements through interactive exercises, while also examining existing systems and competing products.