SOFTWARE ENGINEERING PRESENTATION

Slides:



Advertisements
Similar presentations
Chapter 2 – Software Processes Fall Chapter 2 – Software Processes Lecture 1 2Chapter 2 Software Processes.
Advertisements

The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Chapter 2 – Software Processes
7M701 1 Software Prototyping Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 8
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
CSc 461/561 Software Engineering Lecture 2 – Software Processes.
Chapter 2 – Software Processes Chapter 2 Software Processes1 CS 425 September 10, 2015 Ian Sommerville, Software Engineering, 10 th Edition Pearson Education,
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Chapter 2 Software Processes (2/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Software Prototyping Rapid software development to validate requirements.
Chapter 2 – Software Processes Software Engineering Lecture 1 Summer 2013/2014 Dr. Nouh Alhindawi Department of Computer Science and Software Engineering.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Chapter 2 – Software Processes 1Chapter 2 Software Processes Ian Sommerville, Software Engineering, 9 th Edition Pearson Education, Addison-Wesley Note:
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 System prototyping l Prototyping is the rapid development of a system l In the past, the developed system.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Chapter 2 – Software Processes 1Chapter 2 Software Processes Ian Sommerville, Software Engineering, 9 th Edition Pearson Education, Addison-Wesley Note:
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Rekayasa Perangkat Lunak Part-6
Chapter 2 – Software Processes
CS390: Software Engineering
Chapter 2 – Software Processes
Prototyping in the software process
Software Prototyping.
Chapter 2 – Software Processes
Prototyping Lecture # 08.
CS 389 – Software Engineering
Chapter 2: Software Processes
WXGE6103 Software Engineering Process and Practice
Software Processes (a)
Chapter 2 Software Processes
CHAPTER 8: RAPID SOFTWARE DEVELOPMENT
Chapter 2 SW Process Models
Chapter 2 – Software Processes
Software Prototyping.
Chapter 2 – Software Processes
Software Prototyping Animating and demonstrating system requirements.
Software Processes.
Chapter 2 – Software Processes
Software Engineering (CSI 321)
Chapter 2 – Software Processes
Chapter 2 Software Processes
Chapter 2 – Software Processes
Week 1 Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce.
Testing and Test-Driven Development CSC 4700 Software Engineering
Yes, we need hundreds of methodologies!!!
An Overview of Software Processes
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes.
SE Fundamentals: 1. Software Processes
Chapter 2 – Software Processes
Extreme Programming.
Chapter 2 – Software Processes
Rapid software development
Chapter 2 – Software Processes
Chapter 2 – Software Processes
Presentation transcript:

SOFTWARE ENGINEERING PRESENTATION PRESENTED BY: LUKMAN ABUBAKAR TIJJANI

.1: 6d 8.1: 6f 8.2: 12 8.2: 16 8.3: 14 8.4: Let A = {1, 2, 3, 4}. Let a,b,c,d be the last 4 digits of your ID modulo 4 then increased by 1 unit. Let R be the relation on A defined as R = {(a,b), (b,c),(c,a),(a,d),(d,b), (c,d)}. Use Warshall’s algorithm to find the transitive closure of R. 8.5: 24b 8.5: 24c

GROUP 4 TOPIC 2.3.1: PROTOTYPING

THE PROCESS OF PROTOTYPE DEVELOPMENT

PROTOTYPING A prototyping is an initial version of a software system that is used to demonstrate concepts, try out design option, and find out more about the problem and its possible solutions. Rapid, iterative development of the prototype is essential so that costs are controlled and system stakeholders can experiment with the prototype early in the software process. A software prototype can be used in a software development process to help anticipate changes that may be required. In the requirement engineering process, a prototype can help with the elicitation and validation of system requirements. In the system design process, a prototype can be used to explore particular software solution and to support user interface design.

System prototype allow users to see how well the system support their work. They may get new ideas for requirements, and find areas of strength and weakness in the software. They may the propose new system requirements. Furthermore, as the prototype is developed, is may reveal errors and omissions in the requirements. That have been proposed. A function described in a specification may seem useful and well defined. However, when that function is combined with other functions, users often find out that their initial view was incorrect or incomplete. The system specification may then be modified to reflect their changed understand of the requirements.

A general problem with prototyping is that the prototype may not necessarily be used in the same way as the final system. The tester of the prototype may not be typical of system users. -The training time during prototype evaluation may be insufficient.

Developers are sometimes pressured by managers to deliver throwaway prototypes, particularly when there are delays in delivering the final version software. However, this is usually unwise: 1. It may be impossible to tune the prototype to meet non-functional requirements, such as performance, security robustness, and reliability requirements, which were ignored during prototype development.

2. Rapid change during development inevitably means that the prototype is undocumented. The only design specification is the prototype code. this is not good enough for long-term maintenance. 3. The changes made during prototype development will probably have degraded the system structure. The system will be difficult and expensive to maintain. 4. Organizational quality standards are normally relaxed for prototype development.

INCREMENTAL DELIVERY Incremental delivery is an approach to software development some of the developed increment are delivered to the customer and deployed for use in an operational environment. In an incremental delivery process, customers Identify, in outline, the services to be provided by the system. They identify which of the services are most important and which are least important to them.

Once the system increments have been identified, the requirement for the services to be delivered in the first increment are defined in details and that increment is developed. During development, further requirement analysis for later increments can take place but requirement changes for the current increment are not accepted. Once an increment is completed and deliverd, customer can put it into service. This means that they take early delivery of part of the system functionality.

AVANTAGES OF INCREMENTAL DELIVERY Customers can use the early increments as prototype and gain experience that inform their requirements for later system increment. Unlike prototypes, these are part of the real system so there is no re-learning when the complete is available. Customers do not have to wait until the entire system is delivered before they can gain value from it. The first increment satisfies their most critical requirements so they can use the software immedietly

The process maintains the benefits of incremental development in that it should be relatively easy to incorporate changes into the system. As the highest-priority services are deliverd first and increments then integrated, the most important system services receive the most testing. This means that the customer are less likely to encounter software failures in the most important parts of the system.

PROBLEMS WITH INCREMENTAL DELIVERY Most systems require a set of basic facilities that are used by different parts of the system. Iterative development can also be difficult when a replacement system is being developed. The essence of iterative processes is that the specification is developed in conjunction with the software.

In conclusion: There are some types of system where incremental development and delivery is not the best approach. These are very large system where development may involves teams working in different locations.