1 Week 13 Software Engineering Fall Term 2016 Marymount University School of Business Administration Professor Suydam.

Slides:



Advertisements
Similar presentations
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Advertisements

Systems Analysis and Design 9th Edition
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
Software Configuration Management (SCM) Software Configuration Management (SCM) is a) the development and b) the application of standards and procedures.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Project Cost Management Estimation Budget Cost Control
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
A framework for describing IT Project Management Processes and Tool Set Features Enterprise Project Management Framework.
Software Configuration Management
SE 555 Software Requirements & Specification Requirements Management.
Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 4.
Secure System Administration & Certification DITSCAP Manual (Chapter 6) Phase 4 Post Accreditation Stephen I. Khan Ted Chapman University of Tulsa Department.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Configuration Management
Software Configuration Management
What is Business Analysis Planning & Monitoring?
Software Configuration Management (SCM)
Project Management Methodology Project monitoring and control.
Toolkit 4.
S/W Project Management
Feasibility and Cost/Benefit Analysis. Cost considerations u Cost classifications –Tangible / Intangible –Direct / Indirect –Fixed / Variable –Developmental.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Software Configuration Management
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
After Lesson 6 next is Lesson 13 to fit topic on Software Development SOFTWARE PROJECT MANAGEMENT.
PPMT CE-408T Engr. Faisal ur Rehman CED N-W.F.P UET P.
Chapter 6 : Software Metrics
Centro de Estudos e Sistemas Avançados do Recife PMBOK - Chapter 4 Project Integration Management.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Chapter 13 Software Project Management. Project Management “Process” Why do we need project management? Why can’t we just follow one of the software development.
SacProNet An Overview of Project Management Techniques.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
Develop Project Charter
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
Chapter 3: Software Project Management Metrics
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Project Management Methodology
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Chapter 12 Software Support and Maintenance. Product released! Software Released! Now what?
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Development Project Management Jim Kowalkowski. Outline Planning and managing software development – Definitions – Organizing schedule and work (overall.
1 Week 9 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
1 Week 11 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
1 Week 11 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
School of Business Administration
School of Business Administration
Software Engineering Spring Term 2017 Marymount University
Software Configuration Management
Chapter 1 The Systems Development Environment
School of Business Administration
Modern Systems Analysis and Design Third Edition
School of Business Administration
Modern Systems Analysis and Design Third Edition
Unified Modeling Language
Chapter 1 The Systems Development Environment
Constructive Cost Model
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
Chapter 11: Software Configuration Management
Product released! Software Released! Now what?.
Chapter 1 The Systems Development Environment
Chapter 12: Software Support and Maintenance
Presentation transcript:

1 Week 13 Software Engineering Fall Term 2016 Marymount University School of Business Administration Professor Suydam

2 Case Study 4 Comments Quiz 4 Review Problem Solving DFD & UML MS Project MS Visio Chapters Chapter 14.1

3

4 In Visio, create a DFD0 Diagram (with at least 4 processes) from the _____________System Context (Top Level) provided -- save and close. (25%) In Excel (PERT/CPM Worksheet), calculate the Expected Task Duration for all the tasks in the chart -- save and close (25%) In VisioCPMPractice complete the backward pass for the first ___ tasks -- save and close (25%) In MS Project (Software DevelopmentPlan.mpp) change Project Schedule to start today; then change the project duration for WBS tasks 1.3 and 1.4 from 1 day to 3 days and Change WBS 1.3 Task Type to be Start-to-Start with its predecessor -- save and close (25%)

5 In Visio, create a DFD0 Diagram (with at least 4 processes) from the _____________System Context (Top Level) provided -- save and close. (25%)

6 Practice File Download and UnZip Forward Pass Early Start (ES) = Latest Late Finish (LF) of prior task (s) Early Finish (EF) = Early Start (ES) + Duration (D) Backward Pass Late Finish (LF) = Earliest Early Start (ES) of next task(s) Late Start (LS) = Late Finish (LF) – Duration (D) Slack = Late Finish-Early Finish In Excel (PERT/CPM Worksheet), calculate the Expected Task Duration for all the tasks in the chart -- save and close (25%) In VisioCPMPractice complete the backward pass for the first ___ tasks -- save and close (25%)

7

8 In MS Project (Software DevelopmentPlan.mpp) change Project Schedule to start today; then change the project duration for WBS tasks 1.3 and 1.4 from 1 day to 3 days and Change WBS 1.3 Task Type to be Start-to-Start with its predecessor -- save and and close

9 Use Case Static Structure (Class) State Chart (State Machine) Sequence (Interaction) Deployment Component Collaboration Activity

10

11

12

13

14

15

16

17

18

19 1. What is a naming model used for? Ans: A naming model is needed for configuration management in order to uniquely identify and control the pieces and parts of the artifacts. Page: 236

20 2. List the four major activities associated with software configuration management. Ans: These are: a) understand and agree on organization’s policies, process activities, and the resulting artifacts that need to be managed, b) determine and define the framework that needs to be used to manage the artifacts, c) determine and bring in any tool that is needed to facilitate the management, and d) train and ensure that the agreed upon configuration management process is practiced and adhered to. Page: What are check-in and check-out? Ans: Check-in refers to storing or returning an artifact to a configuration management’s library while check-out refers to retrieving an artifact from the configuration management’s library. Page: List three concerns you may need to look into before choosing a configuration management tool. Ans: There are many concerns and should include these: a) is the tool easy to learn and what kind of education is provided by the tool vendor, b) does the tool have all the needed functionalities to accommodate the organization’s naming model and access model and c) can the tool accommodate geographically separate, multi-site development and support. Page:

21 5. What are the build steps of a single program? Ans: Software system build is a set of activities where all the software source code and data artifacts are gathered for compilation into an executable. All the cross references and external names are resolved. The complete set of artifacts are compiled and linked together into an executable. Page: What is linking and what are we linking in a build process? Ans: Linking is an activity to tie together all the needed, externally reference items for the software. Page: 240

22 7. Explain the difference between the view and the modify functions in the storage and access model of configuration management. Ans: The “view” function is the retrieval of an artifact for the purpose of reading the artifact and may be performed by all at all times. The “modify” function is the retrieval of an artifact for the purpose of making changes to the artifact. Thus in the case of modify, only those authorized should be allowed to perform the function. In addition, to prevent conflicts, when an artifact X is retrieved for modification, that X is locked from other modify function until it is returned. X may still be viewed by others. Page: Name a tool from each of the three tiers of automating the configuration management activities. Ans: The tools for the three tiers are: First tier = Performing version control – Revision Control System (RCS) and Source Code Control System (SCCS) Second tier = Include the build function – MAKE utility in UNIX systems and Odin Third tier = Integrate the configuration, development, and support activities – ClearCase, PVCS (Serena ChangeMan), and Visual SourceSafe. Page:

23 1. List three customer support functions that a customer support/service organization performs. Ans: There are many customer support functions performed by support/service organization; some of the more common ones include: 1) taking/recording/checking the name and identification of customer to ensure that the person is a legitimate customer, 2) listen to and record the problem, 3) answer the question if the solution is known or search the FAQ database for an answer, include providing an expected fix data if the problem is yet unresolved. Page: Explain the customer problem arrival curve in terms of customer usage of the product and the fixes. Ans: Customer problem arrival rate is directly related to the customer problem discovery rate. The rate of customer problem discovery is proportional to the amount of usage the software is experiencing. For example, a new software that has not been run often will not have much usage-time and the discovery of software problems will be relatively low. As the usage-time increases, the discovery of defects increases accordingly. After a period of time, the discovered problems will be fixed and all the major areas of software would have been exercised. Thus the discovery rate of defects will once again become low after a period of heavy usage and problem fixes. The graphical curve of this rise of problem discovery and problem arrival with increase in usage-time followed by a gradual decrease of problem discovery may be modeled with a Rayleigh curve. Page:

24

25 1. List three customer support functions that a customer support/service organization performs. Ans: There are many customer support functions performed by support/service organization; some of the more common ones include: 1)taking/recording/checking the name and identification of customer to ensure that the person is a legitimate customer, 2)listen to and record the problem, 3)answer the question if the solution is known or search the FAQ database for an answer, include providing an expected fix data if the problem is yet unresolved. Page: Explain the customer problem arrival curve in terms of customer usage of the product and the fixes. Ans: Customer problem arrival rate is directly related to the customer problem discovery rate. The rate of customer problem discovery is proportional to the amount of usage the software is experiencing. For example, a new software that has not been run often will not have much usage-time and the discovery of software problems will be relatively low. As the usage-time increases, the discovery of defects increases accordingly. After a period of time, the discovered problems will be fixed and all the major areas of software would have been exercised. Thus the discovery rate of defects will once again become low after a period of heavy usage and problem fixes. The graphical curve of this rise of problem discovery and problem arrival with increase in usage-time followed by a gradual decrease of problem discovery may be modeled with a Rayleigh curve. Page: What is the formula for usage month? Ans: Usage-month is a metric used to measure the amount of usage a software has gone through. Usage month is usually defined as (usage months = number of users actively using the software x number of months of usage). This metric, when combined with problems discovered, is often used in the assessment of software quality. Page: 251

26 4. What is a pre-requisite/co-requisite relationship of product maintenance and fix releases? Ans: There are times, a software S1 fix release also requires a fix release of another software S2 because S1 and S2 are related. An example may be where a change in S1 application requires an additional modification of a feature in S2. In this case the two software S1 and S2 modifications may be considered as co-requisites that must be released together or S2 modification is a pre-requisite that must be available first before S1 change may be released. Page: What is a problem priority level? What is it used for? Ans: A problem priority level is a metric that gauges and categorizes the severity level of a reported software problem. It is used to prioritize the problem fixing task and provide a rough estimate of problem fix-response time to the customer. Page: Describe the steps involved when a customer problem is passed from the customer service/support representative to the technical problem/fix analyst until the problem is resolved. Ans: There are several steps involved and they are summarized as follows: a) problem description and related information is summarized in a problem report and submitted to the problem/fix group; b) the problem/fix analyst will explore and analyze the problem; c) the problem/fix analyst will then accept or reject the problem based on the analysis; d) if the problem is rejected then the customer support representative is notified; otherwise, the problem is accepted, a change request is generated and the problem enters a fix cycle of design/code/test; e) the fix may be individually packaged and immediately released or may be integrated into a fix-release package, depending on the problem priority level; f) the support FAQ database is then updated to reflect the closure status of this problem. Page: 255

27 7. Give an example of a problem that may occur if a customer stays on a particular release, skips several maintenance/fix releases, and then applies a fix release. Ans: Skipping fix releases may cause a problem, especially if the fixes may be related. Consider a case where a variable is newly defined in a fix a, then it is again updated in a later fix b. If one skips these fix releases a and b, but apply a fix c that utilizes this newly introduced variable, fix c will not work. Page: What is the estimated effort field on the change request form used for? Ans: The estimated effort is used mostly for estimating the resource needed and for scheduling the completion and release date of the change or fix. Page:

28

29 1. List and discuss the elements of a project plan. Ans: A project plan includes the discussions on the following list of items: a) a brief description of the project requirements and deliverables b) a set of project estimations: 1) work effort, 2) needed resources, and 3) schedule c) a set of project goals to be achieved d) a set of assumptions and risks Page: and Appendix D page What are the four phases of project management? Ans: The 4 phases of project management are the following: (POMA) 1) Planning, 2) Organizing, 3) Monitoring, 4) Adjusting Page: What are the three components of risk management? Ans: They are: 1) risk identification, 2) risk prioritization, 3) risk mitigation Page: What is a Kiviat chart, and when would you use it? Ans: A Kiviat chart is a convenient diagram to show multiple (more than three) metrics. Page:

30 5. What are the three attributes of a software project that are most often considered for trade-off decisions for project adjustment? Ans: The three attributes considered for trade-off decisions are: resources, schedule, and project content. Page: Consider the COCOMO project effort estimation methodology. a.What are the three project modes? Ans: They are organic (simple), semidetached (intermediate), and embedded (difficult). b. What are the eight project characteristics that you need to consider in order to decide the project mode? Ans The 8 project characteristics are: The team’s: understanding of the project objectives. experience with similar or related projects. The project’s: need to conform with established requirements. need to conform with established external interfaces. need for new and innovative technology, architecture, or other constraints. need to meet or beat the schedule. need to develop the project concurrently with new systems and new operational procedures. size range.

31 c. How do the 15 cost-drivers influence the initial effort estimate? Ans:The 15 cost-drivers are estimated and multiplied together to produce a single factor that is used to influence (scale up or down) the initial estimate. d. Consider a software project that you have estimated at 2 KLOC in size. You believe that it should be in organic mode and that the arithmetic product of the 15 cost-drivers or PROD (f ’s) is 1.2. What is the estimated effort in person-months? Ans: Effort = 3.2 x (2) 1.05 x 1.2 = approximately 7.8 person months Page:

What are the three key project status indicators, EV, SV, and CV, in earned value project status tracking methodology? Ans: EV is the calculated Earned Value which is used as an indicator of how much the estimated work is completed on a specific date. SV is a Schedule Variance indicator which shows the difference between efforts of the tasks that have been completed by the status date and the estimated efforts of the tasks that were planned to have been completed by that status date. CV is a Cost Variance indicator which shows the difference between the estimated efforts of the tasks that have been completed at the status date and the actual efforts expended for the tasks that have been completed at that status date. Page: What are the four scale levels of metric? Ans: The four scale levels of metrics are nominal, ordinal, interval, and ratio. Page: What is GQM? Ans: GQM is Goal-Question-Metric, an approach defining a measurement model based on three levels, the conceptual level, operational level, and quantitative level. Page: 289

33

34 Many areas of progress since software engineering inception Just a few of the sample progress areas: Secure Software Development Process Software Protection & Obfuscation Software Validation & Verification Progress

35 As software engineers, we need to call out security as a desired non-functional software property. In addition, we need to include a set of activities into the software development cycle that addresses security concerns as software is developed through the traditional set of activities. Req.DesignCodeTest Security Awareness & Vulnerability Specification Security Modeling & Design Measuring & Verifying Level of Security Release decision Include Security Concerns Release

36 Many different techniques are being pursued One of the areas is software obfuscation (where we are putting complexity back into software instead) : Lexical Obfuscation Data Obfuscation Control Obfuscation Call-flow Obfuscation

37 Verification is intended to check that a product, service, or system (or portion thereof, or set thereof) meets a set of design specifications. In the development phase, verification procedures involve performing special tests to model or simulate a portion, or the entirety, of a product, service or system, then performing a review or analysis of the modeling results. Validation is intended to ensure a product, service, or system (or portion thereof, or set thereof) results in a product, service, or system (or portion thereof, or set thereof) that meets the operational needs of the user.