4478-1685001990649-Unit_7.2_Software Development Process.pdf
Document Details
Uploaded by AmenableZombie
Full Transcript
Unit 7 – Software Engineering 7.2 The Software Development Process 1 Software Development Process Is a set of activities associated with production of a S/W product For the effective control of the S/W process, is essential to have a phased (Stage by...
Unit 7 – Software Engineering 7.2 The Software Development Process 1 Software Development Process Is a set of activities associated with production of a S/W product For the effective control of the S/W process, is essential to have a phased (Stage by Stage) development strategy which consists of number of stages that produce one or more documents & program codes * No codes are produced during the earlier stages 2 S/W Development Process Continued.. The S/W development process model is also called as SDLC (Software Development Life Cycle) As the process is repeated when S/W need to be changed (Time to Time). 3 Software Process Models Traditional Software Process Models Waterfall Model Evolutionary Process Model Agile Process Models Scrum 4 Waterfall Model A simple model that has a set of stages, those are to be followed one after the other (Move from one Phase to the other). Progress Monitoring is easier because the development process is more visible. Each stage has an output (a product to deliver). 1. Requirements Analysis & Definition 2. System & Software Design 3. Implementation & Unit testing 4. Integration & System Testing 5. Operations & Maintenance 5 1. Requirements Analysis & Definition The System’s, Services(Functions/Tasks) ex: Supermarket System: Total Amount, Discounts, Free offers Limitations(Constraints) ex: 30 seconds max for a transaction Goals(Objectives) ex: better customer service, reduced queues, are established by consultation with system users. They are then defined in a manner, which is understandable by both users & development team. Though the Development Team has the technical knowledge, the users might not have it. Therefore better not to use the computer jargon. 6 2. System & Software Design It establishes overall system architecture. System Design process separates the requirements to either Hardware or Software systems(Usually include both H/W + S/W of a system) ex: Esoft Student Validation System 2.1. Software Design 2.2. Hardware Design 7 2.1 Software Design Software Design involves representing the software system functions in a form, that may be transformed into one or more executable programs. In other words it’s the process of describing the Design Logic of programs. Each component in the architecture will be converted to a detailed design using a method like Flow Charts or Pseudo Codes. 8 2.2 Hardware Design Design Hardware System; ex: Network, Clients, Servers, Printers, etc. Design of a Hardware Architecture 9 3. Implementation & Unit Testing During this stage, the S/W design is realized as a set of programs or program units. (Separate modules(Components) are coded using a programming language) Unit Testing involves verifying that each unit meets its specification. 10 4. Integration & System Testing Individual program units or programs are integrated and tested as a complete system to ensure that S/W requirements have been met. After testing, S/W system is delivered to the consumer. 11 5. Operations & Maintenance Longest life cycle phase The system is installed & put into practical use. This involves activities like staff training, file conversion (Turning manual files into computer files), site preparation, preparing user manuals and possibly some parallel running Maintenance involves correcting errors which are not discovered in earlier stages of the life cycle, improving the implementation of system units & adding the system requirements as new requirements are discovered. 12 13 What is a Prototype? In software development, a prototype is a working model of a product or information system, usually built for demonstration purposes or as part of the development process. There are 2 types of Prototyping : Evolutionary Prototyping (Used in Exploratory Development) Throw-away Prototyping (Prototype used only to define the requirements clearly) 14 Exploratory Development The objective of the process is to work with the customer to explore their requirements and deliver a final system. The development starts with the parts of the system which are understood. The System evolves by adding new features as they are proposed by the customer 15 Throw Away Prototyping Is used to identify user requirements. Once the requirements are clear, the prototype is thrown away and the development continues with normal SDLC (Waterfall) 16 Agile Methodology A Methodology to build a software incrementally using short iterations based on the changing needs of the client 17 Traditional vs Agile 18 Roles in Agile Development Scrum Master (Team Lead) Product Owner (Client) Cross – Functional Team (Development Team) 19 Lesson Summary Software Development Process Software Development Life Cycle Waterfall Model Stages of Waterfall Model Prototyping Evolutionary vs Throw-away Prototyping Agile Methodology 20