4478-1685001990649-Unit_7.2_Software Development Process.pdf

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

Use Quizgecko on...
Browser
Browser