Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.

Similar presentations


Presentation on theme: "1 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam."— Presentation transcript:

1 1 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam

2 2 Review Case Study 1 Functional Requirements Quiz Chapters 1-3 Chapter 4 Software Process Models Start Mini-Project 1 – create schedule in MS Visio Quiz 1

3 3

4 4

5 5 In software engineering (and systems engineering), a functional requirement defines a function of a system and its components. A function is described as a set of inputs, the behavior, and outputs (see also software).software engineeringsystems engineeringsystemsoftware Functional requirements may be calculations, technical details, data manipulation and processing and other specific functionality that define what a system is supposed to accomplish. Behavioral requirements describing all the cases where the system uses the functional requirements are captured in use cases. Functional requirements are supported by non-functional requirements (also known as quality requirements), which impose constraints on the design or implementation (such as performance requirements, security, or reliability). Generally, functional requirements are expressed in the form "system must do ", while non-functional requirements are "system shall be ".use casesnon-functional requirements

6 6

7 7

8 8

9 9 It is a description of : what tasks need to be performed in what sequence under what conditions by whom to achieve the “desired results.”

10 Do we need a process if the project requires just 1 person or at most two people? Why? -- Why not ?

11

12 12 As projects got larger and more complex. (earlier, we introduced “simplification”, “better tools”, & “process”) Needed to clarify and stabilize the requirements Needed to test more functionalities Needed to design more carefully Needed to use more existing software & tools Database Network Code control Needed more people to be involved

13 13 We now need to “Define”: the set of tasks that need to be performed the sequence of flow of the tasks the input and the output from these tasks the pre-condition and post-conditions for each task The people & skills needed to perform the tasks

14 14  The earlier “simple” process was employed by many for years without formally embracing other important development activities such as requirements analysis, design, formal testing, or packaging.  The recognition of the need for formal processes was initially driven by failures in developing large complex software --- (later shown by Chaos reports) Waterfall : earliest process and coping with no process Incremental : coping with decomposing the large systems Spiral : coping with risk management Rational Unified Process : coping with different task and managing through project phases

15

16

17

18

19

20 In order for process models to be more than just a “guideline,” it must include a list of conditions or requirements that define the: - entry criteria prior to performing an activity in a process. - exit criteria before an activity in the process is deemed completed.

21 21 Software Development and Software Support may be done with very little process or with very sophisticated, well defined, well organized and well executed processes. How mature is your software engineering organization and do you need to improve? ISO (ISO 9000 series) and SEI (Software Engineering Institute at Carnegie Mellon) are two leading organizations that help in the process assessment

22 In 2001, CMM was upgraded to CMMI (CMM Integrated). Started with multiple, major aspects to CMMI: Systems engineering Software engineering Integrated product and process development Supplier sourcing

23 23 This is a start – there will be several subordinate tasks

24 24 1. Discuss one advantage and one disadvantage of the waterfall process. Ans: An advantage is that it provided a clear way to track the stages of development for the project managers. A disadvantage is that it provided very little task overlapping, is sequential, and is single iteration. Page: 59-60 2. What is the goal of a software process model? Ans: Goal of software process model is to provide guidance for a systematic way to coordinate and control the tasks that must be performed in order to achieve the end software product and the associated software project objectives. Page: 58-59 3. What are the four quadrants in a spiral model? Trace the requirements set of activities through each quadrant. Ans: The four quadrants are i) plan next phase, ii) determine objectives, alternatives, and constraints, iii) evaluate alternatives, identify and resolve risks, and iv) develop, verify next level product The requirement plan is done during the i) plan next phase and ii) determine objectives phase. The requirements prototype is done during the iii) evaluate alternatives phase. The requirements specification is done during the iv) develop next-level product phase. Page: 63

25 25 4. What is an entry and exit criteria to a process? Ans: Entry criteria describe and list all the conditions and material that must be met prior to starting a process or an activity. Exit criteria describe and list all the conditions and material that must be met prior to terminating a process or an activity. Page: 68-69 5. What motivated the software engineers to move from the waterfall model to incremental or spiral model? Ans: The need to develop multiple components, to overlap the development, and to be more evolutionary lead to incremental process and spiral process. Also, the need to be more risk-averse led to the spiral model. Page: 63-64 6. What are the major concepts that drove the Rational Unified Process framework? Ans: It is a process framework that promotes iterative and incremental development. Every activity of product development (e.g. requirements or design) goes through several phases. Page: 64-65

26 26 7. What are the 4 phases of Rational Unified Process? Ans: The four phases are: inception elaboration construction transition Page: 65 8. List all of the key processes addressed by SEI’s CMM model. Which ones are required for maturity level 2? Ans: Page: 71-72 Level 2: Requirements Management Software Project Tracking & Oversight Software Quality Assurance Software Project Planning Subcontract Management Software Configuration Management Level 3: Organization Process Focus Training Program Software Product Engineering Peer Reviews Organization Process Definition Integrated Software Management Intergroup Coordination Level 4: Quantitative Process Management Software Quality Management Level 5: Defect Prevention Technology Change Management Process Change Management

27 27 9. How many process areas, in total, are included in SEI’s Software CMMI? List those that fall into the engineering category and the support category. Ans: There are a total of 25 process areas in CMMI. Those that fall into the Engineering category are: Requirements Development Requirements Management Technical Solution Product Integration Verification Validation Those that fall into the Support category are: Configuration Management Process and Product Quality Assurance Measurement and Analysis Organizational Environment for Integration Decision Analysis and Resolution Causal Analysis and Resolution Page: 73


Download ppt "1 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam."

Similar presentations


Ads by Google