3.5 KiB
3.5 KiB
- #CT216 - Software Engineering I
- Previous Topic: Cloud Computing
- Next Topic: Introduction to Agile Methods
- Relevant Slides:
-
The Software Process
- What is the Software Process?
card-last-interval:: 12.36
card-repeats:: 3
card-ease-factor:: 2.7
card-next-schedule:: 2022-10-19T18:39:50.523Z
card-last-reviewed:: 2022-10-07T10:39:50.524Z
card-last-score:: 5
- The Software Process is a structured set of activities required to develop a software system.
- What are the 4 fundamental activities in the Software Process? #card
card-last-interval:: 3.45
card-repeats:: 2
card-ease-factor:: 2.46
card-next-schedule:: 2022-11-18T02:27:50.775Z
card-last-reviewed:: 2022-11-14T16:27:50.775Z
card-last-score:: 5
- Specification
- Talk to the customer
- Understand the problems
- Talk to any relevant stakeholders
- Development
- Map out the tasks
- Design the software
- Develop the solution
- Validation
- Does the software meet the requirements?
- Is it what the customer wanted?
- Evolution (maintenance)
- Modified to adapt
- Changes in requirements
- Customer & Market conditions
- Specification
- The foundation of software engineering is the process.
- The goal of software engineering is to efficiently & predictably deliver a product that meets the requirements.
- What is the Software Process?
card-last-interval:: 12.36
card-repeats:: 3
card-ease-factor:: 2.7
card-next-schedule:: 2022-10-19T18:39:50.523Z
card-last-reviewed:: 2022-10-07T10:39:50.524Z
card-last-score:: 5
-
Software Engineering Practice
-
1) Understand the problem (Communication & Analysis)
- Who are the stakeholders?
- What are the unknowns?
-
2) Plan the solution (Modelling & Software Design)
- Have we seen this problem before?
- Has a similar problem already been solved?
- Can sub-problems be found?
-
3) Carry out the plan (Write the Code)
- Does the solution conform to the plan?
- Has the code been reviewed for correctness?
-
4) Examine the result (Test It)
- Is each component testable?
- Does the solution produce results as defined originally?
-
-
General Software Engineering Questions
- What is the problem to be solved?
- Requirements definition
- What are the characteristics of the software (system) used to solve the problem?
- Analysis
- How will the system be realised / constructed?
- Design
- How will the system be supported long-term?
- Maintenance
- What is the problem to be solved?
-
Overview of Software Engineering
- There are 3 generic phrases, regardless of paradigm:
- Definition - a focus on the What
- System Analysis, Software Project Planning, Requirements Analysis
- Development - a focus on the How
- Software Design, Coding, Software Testing
- Maintenance - a focus on Change
- Correction, Adaption, Enhancement
- Definition - a focus on the What
- There are 3 generic phrases, regardless of paradigm:
-
Software Engineering Should...
- Provide a clear statement of the project mandate & objectives
- Create effective means of communication
- Increase user involvement & ownership
- Provide an effective management framework to support productivity & pragmatism
- Establish quality assurance procedures
- Provide sound resource estimation & allocation procedures
- Ensure the effectiveness and durability of systems produced
- Encourage the re-usability of code and / or solutions
- Reduce the organisation's vulnerability to the loss of software development personnel
- Reduce & support post implementation maintenance of system