Document Details

StylishSpessartine

Uploaded by StylishSpessartine

جامعة العلوم والتقانة

Tags

software engineering requirements engineering software design

Full Transcript

Lec4 – Software Processes Lec4 – Software Processes 1 The requirements engineering process Lec4 – Software Processes 2 Software specification  The process of establishing what services are required and the constraints on the system’s operation and de...

Lec4 – Software Processes Lec4 – Software Processes 1 The requirements engineering process Lec4 – Software Processes 2 Software specification  The process of establishing what services are required and the constraints on the system’s operation and development.  Requirements engineering process  Requirements elicitation and analysis What do the system stakeholders require or expect from the system?  Requirements specification Defining the requirements in detail  Requirements validation Checking the validity of the requirements Lec4 – Software Processes 3 Software design and implementation  The process of converting the system specification into an executable system.  Software design  Design a software structure that realises the specification;  Implementation  Translate this structure into an executable program;  The activities of design and implementation are closely related and may be inter-leaved. Lec4 – Software Processes 4 A general model of the design process Lec4 – Software Processes 5 Design activities  Architectural design, where you identify the overall structure of the system, the principal components (subsystems or modules), their relationships and how they are distributed.  Database design, where you design the system data structures and how these are to be represented in a database.  Interface design, where you define the interfaces between system components.  Component selection and design, where you search for reusable components. If unavailable, you design how it will operate. Lec4 – Software Processes 6 System implementation  The software is implemented either by developing a program or programs or by configuring an application system.  Design and implementation are interleaved activities for most types of software system.  Programming is an individual activity with no standard process.  Debugging is the activity of finding program faults and correcting these faults. Lec4 – Software Processes 7 Software validation  Verification and validation (V & V) is intended to show that a system conforms to its specification and meets the requirements of the system customer.  Involves checking and review processes and system testing.  System testing involves executing the system with test cases that are derived from the specification of the real data to be processed by the system.  Testing is the most commonly used V & V activity. Lec4 – Software Processes 8 Stages of testing Lec4 – Software Processes 9 Testing stages  Component testing  Individual components are tested independently;  Components may be functions or objects or coherent groupings of these entities.  System testing  Testing of the system as a whole. Testing of emergent properties is particularly important.  Customer testing  Testing with customer data to check that the system meets the customer’s needs. Lec4 – Software Processes 10 Testing phases in a plan-driven software process (V-model) Lec4 – Software Processes 11 Software evolution  Software is inherently flexible and can change.  As requirements change through changing business circumstances, the software that supports the business must also evolve and change.  Although there has been a demarcation between development and evolution (maintenance) this is increasingly irrelevant as fewer and fewer systems are completely new. Lec4 – Software Processes 12 System evolution Lec4 – Software Processes 13 The End Lec4 – Software Processes 14

Use Quizgecko on...
Browser
Browser