GSDsummary
GSDsummary
This is not a comprehensive ‘text book’ document since the course depended on learning through
doing (hands-on) and class instruction, during the multiple choice quiz, you will be tested on what
you learnt during the lectures so use this document only as a starting point to remind yourself of the
topics we covered in class. Do not try to learn each word by heart. That approach does not help in
absorbing and understanding the material, nor will it be very useful for the test, instead rely on your
understanding throughout the class.
Adressing above issues not only leads to greener software but most of the times also leads to better
performing software and hence a great user experience.
Context – Climate Change
• Scope 1 emissions: Covers emissions that are directly caused by the organisation.
• Scope 2 emissions: Indirect emissions. For instance emissions caused to generate the
electricity used by the organisation.
• Scope 3 emissions: Indirect emissions embodied in the up and down value chain. For
instance emissions caused by manufacturing of raw material or tools or machinery that the
organisation uses.
• What is SRS ?
• Why do we need SRS ?
• Content of SRS
• Requirement Analysis, Functional Specification
• External Interface Specification
• External Interfaces and Technical Specification
Requirements analysis
Define the problem and parameters including intended users, what is the software supposed to do,
what are the success metrics and prior precedent.
Functional specification
Functional specification describes how a product will work entirely from the user's perspective.
Functional Spec
1. Scenarios
2. System Overview, The ‘big picture’.
3. Details of scenarios
4. Open Issues, i.e. issues that may not be clear at the outset.
5. Side Notes if any.
External Interface Specification
describes how the software will interact with other components in its eco-system (e.g. GUI,
hardware interface, plug-in api definitions, communication protocol, file formats).
Technical Specifications
describe ‘under the hood’ part of system from the ‘Implementers point of view’. (Hardware details,
performance expectations in terms of both, speed and energy consumption, OS, Languages and
technologies etc. )
Professional Software Development Tools
For version control, we looked at git + github quite extensively in class in hands on. You are
expected to know basics of git + github and version control in general to the extent that it was
covered in class.
We also worked with and discussed codecarbon as a a carbon tracking tool and how it operates. You
are expected to know basics of it to the extent covered in class.
Client Side Development
A user interface is well-designed when the program behaves exactly how the user thought it would.
Server Side Development
.
Custom Application Development
.
.
.
.
.
Testing
Remember we covered designing test cases hands on with python using pytest.
.
.
.
.
.
.
.
.
Tools for Sustainability Assessment
.
Cloud Readiness, Introduction to Containers and Dockers
.
.
.
.
.
.
Lean Six Sigma Overview with DMAIC and A3
We had a brief introduction of a commonly used process improvement method called Lean Six
Sigma.
What is Lean?
Everybody solving problems systematically to maximise value and minimise waste across the entire
system. Lean Six Sigma is a process improvement methodology designed to eliminate problems,
remove waste and inefficiency, and improve working conditions to provide a better response to
customers’ needs.
.
Lean Principles : Mindset
.
.
Lean Six Sigma Improvement Process (DMAIC)
.
.
Ishikawa Diagram
.
Presentation Soft Skills
.
.
.
.
.