This document proposes a framework for measuring software effort using abstraction techniques. It involves two phases: a project planning phase where software requirements are abstracted and estimates are recorded, and a post-project mortem phase where actual efforts are analyzed against estimates to refine abstractions. The framework aims to improve estimates over time by categorizing requirements into abstraction categories with associated estimate data.
PURPOSE of the project is Williams Specialty Company (WSC) reque.docxamrit47
PURPOSE of the project is
Williams Specialty Company (WSC) requested a business automation application in which will allow for the WSC employees be able to automate customer service, inventory, and quality control. This project will deliver an application that will keep track of the processes with a database. The purpose of the application is to accelerate and improve the management of the customer orders and processes. The features that will be included are:
· Create, modify, and store customer orders
· Access to the database (only by the manager and sales person)
· Create memos and e-mails within the employees and save them within the database
· Validate customer orders
· Mark order as “complete”1. Scope
This section will define the scope of the project by defining and describing the System, the major functions of the application, and the database.
1.1. System DescriptionWilliams Specialty Company (WSC) requested a business automation application in which will allow for the WSC employees be able to automate customer service, inventory, and quality control. This project will deliver an application that will keep track of the processes with a database. The purpose of the application is to accelerate and improve the management of the customer orders and processes. The features that will be included are:· Create, modify, and store customer orders· Access to the database (only by the manager and sales person)· Create memos and e-mails within the employees and save them within the database· Validate customer orders· Mark order as “complete”
Major Software Functions
The business application being created will allow for Order capture by the Williams Staff. Assign that order to a specific employee. Store this Information in an Oracle or Microsoft SQL Database(To be discussed). Allow access to this database to managers and sales people. As well as provide communication between the employee assigned to the order and the Sales team and management via Internal Electronic Communication( Email and Memo). As well as create a Customer satisfaction and follow up communication on Completion of the order(Via Email). Then Mark Inventory as Complete and help maintain Inventory Control and improve Order completion.
Diagram To Follow…
Database Description
The Project will utilize an Oracle or Microsoft SQL Database engine.
0. 1.4. Design Constraints and Limitations
The Design Constraints within this project will be Conforming the application to Run on Their Current Infrastructure. (Windows 7 OS and Windows 2012 Server).
The Second Design Constraint will be creating this application in such a way that it is easy to access(Low level of technical knowledge needed) as well as easy to maintain.
Team:
Team Members:
Date:
Project Title:
Team Leader:
Note: All diagrams should be clearly labeled. Remove all text that is shown in RED.Scope
This section will define the sc ...
PURPOSE of the project is Williams Specialty Company (WSC) reque.docxamrit47
PURPOSE of the project is
Williams Specialty Company (WSC) requested a business automation application in which will allow for the WSC employees be able to automate customer service, inventory, and quality control. This project will deliver an application that will keep track of the processes with a database. The purpose of the application is to accelerate and improve the management of the customer orders and processes. The features that will be included are:
· Create, modify, and store customer orders
· Access to the database (only by the manager and sales person)
· Create memos and e-mails within the employees and save them within the database
· Validate customer orders
· Mark order as “complete”1. Scope
This section will define the scope of the project by defining and describing the System, the major functions of the application, and the database.
1.1. System DescriptionWilliams Specialty Company (WSC) requested a business automation application in which will allow for the WSC employees be able to automate customer service, inventory, and quality control. This project will deliver an application that will keep track of the processes with a database. The purpose of the application is to accelerate and improve the management of the customer orders and processes. The features that will be included are:· Create, modify, and store customer orders· Access to the database (only by the manager and sales person)· Create memos and e-mails within the employees and save them within the database· Validate customer orders· Mark order as “complete”
Major Software Functions
The business application being created will allow for Order capture by the Williams Staff. Assign that order to a specific employee. Store this Information in an Oracle or Microsoft SQL Database(To be discussed). Allow access to this database to managers and sales people. As well as provide communication between the employee assigned to the order and the Sales team and management via Internal Electronic Communication( Email and Memo). As well as create a Customer satisfaction and follow up communication on Completion of the order(Via Email). Then Mark Inventory as Complete and help maintain Inventory Control and improve Order completion.
Diagram To Follow…
Database Description
The Project will utilize an Oracle or Microsoft SQL Database engine.
0. 1.4. Design Constraints and Limitations
The Design Constraints within this project will be Conforming the application to Run on Their Current Infrastructure. (Windows 7 OS and Windows 2012 Server).
The Second Design Constraint will be creating this application in such a way that it is easy to access(Low level of technical knowledge needed) as well as easy to maintain.
Team:
Team Members:
Date:
Project Title:
Team Leader:
Note: All diagrams should be clearly labeled. Remove all text that is shown in RED.Scope
This section will define the sc ...
1) What can you identify about the rhetorical situation of this vi.docxSONU61709
1) What can you identify about the rhetorical situation of this video? What seem to be the purpose, audience, and context of this excerpt?
2) Given the purpose identified about, how does Carl Sagan seem to be working to meet this purpose? Be specific.
3) Given the audience identified above, how does Sagan seem to be attending to the needs of that audience? What specific things is he doing here to try to engage with his intended audience?
4) How does the context of this video (as identified above) help to shape and effect its meaning, and the audiences’ expectations and reception?
5) Which of the classical appeals do you see being used in this video to help it achieve its purposes. For each appeal, identify specifically where, and how it is being implemented.
Video link: https://www.youtube.com/watch?v=N0WjV6MmCyM
Project InfoProject Estimate Worksheet, Time Log and Defect LogProject Name:Enter Project Name in associated field on the Project Info sheet.Project Team:Role:(If applicable, list each developer's major role in the project.)Developer 1 Name:Enter Developer's name in associated field on the Project Info sheet.,Developer 2 Name:Enter Developer's name in associated field on the Project Info sheet.,Developer 3 Name:Enter Developer's name in associated field on the Project Info sheet.,
Project EstimatesProject Estimate Worksheet:Project: Enter Project Name in associated field on the Project Info sheet.Project Team:Developer 1:Enter Developer's name in associated field on the Project Info sheet.Developer 2:Enter Developer's name in associated field on the Project Info sheet.Developer 3:Enter Developer's name in associated field on the Project Info sheet.Total Size Estimate:Total Time Estimate:00.00Units:LOCHoursProject Phase:Sub Phase:Estimated Size:Estimated Time: (hours)PlanningPreliminary Analysis(N/A)Planning and Estimation(N/A)RequirementsRequirements Analysis(N/A)Requirements Specification(N/A)High-Level DesignDecomposition"Baseline" codeInterface Design"Interface" codeEstimated Time: (hours)[Note that Total Time is automatically calculated.]Component ImplementationEstimated Size:Total Time:Iteration PlanDetail DesignTest DesignCodeUnit TestIntegration TestIteration RetrospectiveComponent 1 (Rename!)0.00Component 2 (Rename!)0.00Component 3 (Rename!)0.00(Add components as necessary…)0.00System TestFunctional Test(N/A)Project Retrospective Analysis(N/A)
Time LogProject Time Log:Project: Enter Project Name in associated field on the Project Info sheet.Total Time:0:00:00hoursProject Team:0.00hoursDeveloper 1:Enter Developer's name in associated field on the Project Info sheet.Developer 2:Enter Developer's name in associated field on the Project Info sheet.Developer 3:Enter Developer's name in associated field on the Project Info sheet.To add Date:To add Time:Ctrl + ; Ctrl + Shift + :Date:Start Time:Stop Time:Interrupt Time:
(minutes)Duration:Feature/Component Name:Development Phase:Notes/Description:0:00:00 ...
75629 Topic prevention measures for vulneranbilitiesNumber of.docxsleeperharwell
75629 Topic: prevention measures for vulneranbilities
Number of Pages: 2 (Double Spaced)
Number of sources: 1
Writing Style: APA
Type of document: Editing
Academic Level:Undergraduate
Category: Computer Science
Language Style: English (U.S.)
Order Instructions: Attached
After identifying your organizations' vulnerabilities through previous weekly assignments, you now need to develop security measures to protect those vulnerabilities.
Create a spreadsheet of vulnerabilities and prevention measures for your organization.
Categorize by people, process, or technology.
Provide 350- to 700-word paper onnext steps for each prevention measure based on the vulnerability, potential incident, environmental and security controls in SDLC.
Submit your spreadsheet and paper using the Assignment Files tab.
Data Flow Diagram (DFD) Tips
Processes: Verbs
Dataflows: Nouns
Data Stores: Nouns
External Entities: Nouns
1) Process’s input & output are different
2) Each data store should have at least
one data flow in and one data flow out
3) Each process should have at least one
data flow in and one data flow out
4) All inputs and outputs should be
labeled
5) Processes should have an identifier
(Ex., 1.0, 2.0, etc.)
Process Process
Process-to-Process
Process Process
Process-to-Process
Process-to-External Entity
Process
External
Entity
Process-to-External Entity
Process
External
Entity
Data S tore
Process-to-Data Store
Process Data S tore
Process-to-Data Store
Process
External Entity-to-External Entity
External
Entity
External
Entity
External Entity-to-External Entity
External
Entity
External
Entity
Data S tore
Data Store-to-Data Store
Data S toreData S tore
Data Store-to-Data Store
Data S tore
External Entity-to-Data StoreExternal Entity-to-Data Store
External
Entity
Data S tore
External
Entity
Data S tore
External
Entity
Data S tore
External Entity-to-Data Store
External
Entity
Data S toreProcess Process
Process-to-Process
Process-to-External Entity
Process
External
Entity
Data S tore
Process-to-Data Store
Process
External Entity-to-External Entity
External
Entity
External
Entity
Data S tore
Data Store-to-Data Store
Data S tore
External Entity-to-Data Store
External
Entity
Data S tore
DFD_Rules.vsdxTop Process
Stage 2: Requirements Specification
Before you begin this assignment, be sure you have read the Case Study and all assignments for this class, especially Stage 4: Final System Report. The feedback you received on your Stage 1 assignment should be reviewed and used as you proceed with Stage 2.
Purpose of this Assignment
This assignment gives you the opportunity to specify clear and concise requirements, including the use of data and process models, for a system that enables a productive change in a way the business is conducted. This assignment specifically addresses the following course outcomes to enable you to:
· apply a systematic approach to .
A Comparative Study of Forward and Reverse Engineeringijsrd.com
With the software development at its boom compared to 20 years in the past, software developed in the past may or may not have a well-supported documentation during the software evolution. This may increase the specification gap between the document and the legacy code to make further evolutions and updates. Understanding the legacy code of the underlying decisions made during development is the prime motto, which is very well supported by Reverse Engineering. In this paper, we compare the Transformational Forward engineering, where a stepwise abstraction is obtained with the Transformational Reverse Methodology. While the forward transformation process produces overlap of the decisions, performance is affected. Hence, the use of transformational method of Reverse Engineering which is a backwards Forward Engineering process is suitable. Besides the design recognition obtained is a domain knowledge which can be used in future by the forward engineers.
Exploring Neo4j Graph Database as a Fast Data Access LayerSambit Banerjee
This article describes the findings of an extensive investigative work conducted to explore the feasibility of using a Neo4j Graph Database to build a Fast Data Access Layer with near-real time data ingestion from the underlying source systems.
Estimation of resources, cost, and schedule for a software engineering effort requires experience, access to good historical information, and the courage to commit to quantitative predictions when qualitative information is all that exists. Halstead’s Measure & COCOMO Modeol COCOMO II Model of Estimation techniquesused or S/w Developments and Maintenance
ME/R model: A New approach of Data Warehouse Schema Designidescitation
In this paper we pursue schema design for data
warehouses in the spirit of classical database design, organized
as a sequence of requirement analysis and specification to
collect user requirements, conceptual design to model the
data warehouse as a multidimensional database independently
from implementation issues, logical design to transform the
conceptual data warehouse schema into the target data model,
and physical design to maximize performance with respect to
a target database system.
Project PlanFor our Project Plan, we are going to develop.docxwkyra78
Project Plan
For our Project Plan, we are going to develop a new information system for a mid-size organization that will automate the payroll transactions. Since we already have all the information that the new system needed, we propose to use the Waterfall Development Methodology because we are going from one phase to the next.
Planning
System
Implementation
Design
Analysis
Estimated Projected Time Frame:
For Estimating the Project Time Frame, the project manager will develop a preliminary estimation of how long it will take to build the new system. There are several sources that the project manager uses to estimate the time frame. First is they can take it from projects that had similar tasks and technologies, an experienced developers can provided the estimation, or the type of methodology that is being used. It is a good practice to keep track of actual time and effort values during the SDLC so the data can be redefine and are used as a guide for future projects. For now, I will use the Industry standard to estimate the project time frame. Within the Industry standard for a typical business application system, they will spends 15% of effort in the planning phase, 20% in the analysis phase, 35% in the design phase, and 30% in the implementation phase. With the planning phase take 5 month to complete, then for the total project time is 33.3 person-month to complete the project.
Project time line
Planning
Analysis
Design
Implementation
15%
20%
35%
30%
5 person-month
6.66 person-month
11.66 person-month
10 person-month
Developing the Work Plan:
Once the project schedule has been established, the project manager can start creating a work plan for the project. The work plan is a schedule that he projects manager use to keep record and keep track of all the tasks that need to be accomplished over the entire project. The project manager will need to identify the entire task that are needed and determine how long each of the tasks will take. Then the task will be organized within the work breakdown structure. For the main task to be complete, the subtask has to be completed first.
Staffing the Project:
The project manager needs to figure out how many staff is needed for the project. The amount of staff is needed depend on how fast they want to finish the project. Increase in staff does not mean increases in productivity. If more staff is needed, make sure to have some kind of reporting structure. The project manager needs to know the staff capabilities and assign task according to their skills. Project manager needs to know how to motivate the staff for a project success.
Coordinating Project Activities:
The project manager needs to have activities put in place during the entire SDLC. Activities are tools that is use to ensure that he project stays on track and that the chance of failure is kept to a minimum. Case Tools (computer-aided software engineering), Standards, and Documentation are all activi ...
More Related Content
Similar to Software Effort Measurement Using Abstraction Techniques
1) What can you identify about the rhetorical situation of this vi.docxSONU61709
1) What can you identify about the rhetorical situation of this video? What seem to be the purpose, audience, and context of this excerpt?
2) Given the purpose identified about, how does Carl Sagan seem to be working to meet this purpose? Be specific.
3) Given the audience identified above, how does Sagan seem to be attending to the needs of that audience? What specific things is he doing here to try to engage with his intended audience?
4) How does the context of this video (as identified above) help to shape and effect its meaning, and the audiences’ expectations and reception?
5) Which of the classical appeals do you see being used in this video to help it achieve its purposes. For each appeal, identify specifically where, and how it is being implemented.
Video link: https://www.youtube.com/watch?v=N0WjV6MmCyM
Project InfoProject Estimate Worksheet, Time Log and Defect LogProject Name:Enter Project Name in associated field on the Project Info sheet.Project Team:Role:(If applicable, list each developer's major role in the project.)Developer 1 Name:Enter Developer's name in associated field on the Project Info sheet.,Developer 2 Name:Enter Developer's name in associated field on the Project Info sheet.,Developer 3 Name:Enter Developer's name in associated field on the Project Info sheet.,
Project EstimatesProject Estimate Worksheet:Project: Enter Project Name in associated field on the Project Info sheet.Project Team:Developer 1:Enter Developer's name in associated field on the Project Info sheet.Developer 2:Enter Developer's name in associated field on the Project Info sheet.Developer 3:Enter Developer's name in associated field on the Project Info sheet.Total Size Estimate:Total Time Estimate:00.00Units:LOCHoursProject Phase:Sub Phase:Estimated Size:Estimated Time: (hours)PlanningPreliminary Analysis(N/A)Planning and Estimation(N/A)RequirementsRequirements Analysis(N/A)Requirements Specification(N/A)High-Level DesignDecomposition"Baseline" codeInterface Design"Interface" codeEstimated Time: (hours)[Note that Total Time is automatically calculated.]Component ImplementationEstimated Size:Total Time:Iteration PlanDetail DesignTest DesignCodeUnit TestIntegration TestIteration RetrospectiveComponent 1 (Rename!)0.00Component 2 (Rename!)0.00Component 3 (Rename!)0.00(Add components as necessary…)0.00System TestFunctional Test(N/A)Project Retrospective Analysis(N/A)
Time LogProject Time Log:Project: Enter Project Name in associated field on the Project Info sheet.Total Time:0:00:00hoursProject Team:0.00hoursDeveloper 1:Enter Developer's name in associated field on the Project Info sheet.Developer 2:Enter Developer's name in associated field on the Project Info sheet.Developer 3:Enter Developer's name in associated field on the Project Info sheet.To add Date:To add Time:Ctrl + ; Ctrl + Shift + :Date:Start Time:Stop Time:Interrupt Time:
(minutes)Duration:Feature/Component Name:Development Phase:Notes/Description:0:00:00 ...
75629 Topic prevention measures for vulneranbilitiesNumber of.docxsleeperharwell
75629 Topic: prevention measures for vulneranbilities
Number of Pages: 2 (Double Spaced)
Number of sources: 1
Writing Style: APA
Type of document: Editing
Academic Level:Undergraduate
Category: Computer Science
Language Style: English (U.S.)
Order Instructions: Attached
After identifying your organizations' vulnerabilities through previous weekly assignments, you now need to develop security measures to protect those vulnerabilities.
Create a spreadsheet of vulnerabilities and prevention measures for your organization.
Categorize by people, process, or technology.
Provide 350- to 700-word paper onnext steps for each prevention measure based on the vulnerability, potential incident, environmental and security controls in SDLC.
Submit your spreadsheet and paper using the Assignment Files tab.
Data Flow Diagram (DFD) Tips
Processes: Verbs
Dataflows: Nouns
Data Stores: Nouns
External Entities: Nouns
1) Process’s input & output are different
2) Each data store should have at least
one data flow in and one data flow out
3) Each process should have at least one
data flow in and one data flow out
4) All inputs and outputs should be
labeled
5) Processes should have an identifier
(Ex., 1.0, 2.0, etc.)
Process Process
Process-to-Process
Process Process
Process-to-Process
Process-to-External Entity
Process
External
Entity
Process-to-External Entity
Process
External
Entity
Data S tore
Process-to-Data Store
Process Data S tore
Process-to-Data Store
Process
External Entity-to-External Entity
External
Entity
External
Entity
External Entity-to-External Entity
External
Entity
External
Entity
Data S tore
Data Store-to-Data Store
Data S toreData S tore
Data Store-to-Data Store
Data S tore
External Entity-to-Data StoreExternal Entity-to-Data Store
External
Entity
Data S tore
External
Entity
Data S tore
External
Entity
Data S tore
External Entity-to-Data Store
External
Entity
Data S toreProcess Process
Process-to-Process
Process-to-External Entity
Process
External
Entity
Data S tore
Process-to-Data Store
Process
External Entity-to-External Entity
External
Entity
External
Entity
Data S tore
Data Store-to-Data Store
Data S tore
External Entity-to-Data Store
External
Entity
Data S tore
DFD_Rules.vsdxTop Process
Stage 2: Requirements Specification
Before you begin this assignment, be sure you have read the Case Study and all assignments for this class, especially Stage 4: Final System Report. The feedback you received on your Stage 1 assignment should be reviewed and used as you proceed with Stage 2.
Purpose of this Assignment
This assignment gives you the opportunity to specify clear and concise requirements, including the use of data and process models, for a system that enables a productive change in a way the business is conducted. This assignment specifically addresses the following course outcomes to enable you to:
· apply a systematic approach to .
A Comparative Study of Forward and Reverse Engineeringijsrd.com
With the software development at its boom compared to 20 years in the past, software developed in the past may or may not have a well-supported documentation during the software evolution. This may increase the specification gap between the document and the legacy code to make further evolutions and updates. Understanding the legacy code of the underlying decisions made during development is the prime motto, which is very well supported by Reverse Engineering. In this paper, we compare the Transformational Forward engineering, where a stepwise abstraction is obtained with the Transformational Reverse Methodology. While the forward transformation process produces overlap of the decisions, performance is affected. Hence, the use of transformational method of Reverse Engineering which is a backwards Forward Engineering process is suitable. Besides the design recognition obtained is a domain knowledge which can be used in future by the forward engineers.
Exploring Neo4j Graph Database as a Fast Data Access LayerSambit Banerjee
This article describes the findings of an extensive investigative work conducted to explore the feasibility of using a Neo4j Graph Database to build a Fast Data Access Layer with near-real time data ingestion from the underlying source systems.
Estimation of resources, cost, and schedule for a software engineering effort requires experience, access to good historical information, and the courage to commit to quantitative predictions when qualitative information is all that exists. Halstead’s Measure & COCOMO Modeol COCOMO II Model of Estimation techniquesused or S/w Developments and Maintenance
ME/R model: A New approach of Data Warehouse Schema Designidescitation
In this paper we pursue schema design for data
warehouses in the spirit of classical database design, organized
as a sequence of requirement analysis and specification to
collect user requirements, conceptual design to model the
data warehouse as a multidimensional database independently
from implementation issues, logical design to transform the
conceptual data warehouse schema into the target data model,
and physical design to maximize performance with respect to
a target database system.
Project PlanFor our Project Plan, we are going to develop.docxwkyra78
Project Plan
For our Project Plan, we are going to develop a new information system for a mid-size organization that will automate the payroll transactions. Since we already have all the information that the new system needed, we propose to use the Waterfall Development Methodology because we are going from one phase to the next.
Planning
System
Implementation
Design
Analysis
Estimated Projected Time Frame:
For Estimating the Project Time Frame, the project manager will develop a preliminary estimation of how long it will take to build the new system. There are several sources that the project manager uses to estimate the time frame. First is they can take it from projects that had similar tasks and technologies, an experienced developers can provided the estimation, or the type of methodology that is being used. It is a good practice to keep track of actual time and effort values during the SDLC so the data can be redefine and are used as a guide for future projects. For now, I will use the Industry standard to estimate the project time frame. Within the Industry standard for a typical business application system, they will spends 15% of effort in the planning phase, 20% in the analysis phase, 35% in the design phase, and 30% in the implementation phase. With the planning phase take 5 month to complete, then for the total project time is 33.3 person-month to complete the project.
Project time line
Planning
Analysis
Design
Implementation
15%
20%
35%
30%
5 person-month
6.66 person-month
11.66 person-month
10 person-month
Developing the Work Plan:
Once the project schedule has been established, the project manager can start creating a work plan for the project. The work plan is a schedule that he projects manager use to keep record and keep track of all the tasks that need to be accomplished over the entire project. The project manager will need to identify the entire task that are needed and determine how long each of the tasks will take. Then the task will be organized within the work breakdown structure. For the main task to be complete, the subtask has to be completed first.
Staffing the Project:
The project manager needs to figure out how many staff is needed for the project. The amount of staff is needed depend on how fast they want to finish the project. Increase in staff does not mean increases in productivity. If more staff is needed, make sure to have some kind of reporting structure. The project manager needs to know the staff capabilities and assign task according to their skills. Project manager needs to know how to motivate the staff for a project success.
Coordinating Project Activities:
The project manager needs to have activities put in place during the entire SDLC. Activities are tools that is use to ensure that he project stays on track and that the chance of failure is kept to a minimum. Case Tools (computer-aided software engineering), Standards, and Documentation are all activi ...
Similar to Software Effort Measurement Using Abstraction Techniques (20)
Project PlanFor our Project Plan, we are going to develop.docx
Software Effort Measurement Using Abstraction Techniques
1. A3, Inc. CPSC 547 Dr. Chen Software Effort Measurement Using Abstraction Techniques
2. Measurement Process Plays a key role in an enterprise IT environment. Begins with planning and involves Selecting and defining product process measurement Integrating the resulting measurement activities into organization’s existing software process. Identify issues during the software development. Overview
3. Software projects have been failing due to poor project planning and time estimation. Estimation process reduces the risk around schedule and cost. Estimation also helps the cost of delivering business functionality and provides a starting point for managing the schedule and cost of a project. How would we solve the problem? (next slide…) Introduction
4. Improve estimation of building software, or the phases of various software cycles. Abstract software requirement into different modules by using OOD techniques of abstract classes and interfaces. Decompose requirements into manageable chunks. These chunks are then abstracted and their abstractions are categorized. The abstraction categories are then estimated and recorded. Over time there will be significant data representing the estimates of each abstraction category. Collect the data to visualize the measurement process in order to investigate the cause and as result this project will improve overall productivity of an organization. Introduction (Cont.)
5. Software requirements are documented clearly in software requirements specification document. Abstraction represents the essential characteristics of an object that differentiate the object from the all kind of various objects and thus provide crisp defined conceptual boundaries, relative to the perspective of the viewer. Goal of this project is to abstract the software requirements into similar categories. And use object-oriented analysis techniques such as abstraction and estimate the time and cost by using measurement techniques. Introduction (Cont.)
6. For the estimation and data collection, this project will use decomposed requirements or individual chunks of the information. For this purpose, these individual chunks will be recorded so that we can apply measurement technique. For the measurement these chunks will be used as the data elements. This project will use various tools for understanding of the collected data. This is because as we collect data to visualize the abstracted category or to investigate Problem, and improvement This project would use tools such as Control charts, scatter diagrams, cause-and-effect diagrams. Introduction (Cont.)
7. As time goes on we will gain significant data to measure. The data could be represented in a table of abstraction categories and the estimate times for those categories. Using this table we could create a scatter plot for example to analyze the data and find useful statistical information such as the mean and standard deviation. Over time, we should be able to reduce the standard deviation and get more and more accurate estimates. Introduction (Cont.)
8. The technique described in this paper relies heavily on use cases since they consist of the strategic goals and scenarios that provide value to a business domain. Use cases also provide insight into an application’s complexity. A use case defines a goal-oriented set of interactions between external actors and the system under consideration. Use case driven analysis helps manage complexity, since it focuses on one specific usage aspect at a time. Use cases encourage designers to envision outcomes before attempting to specify outcomes, and thereby they help to make requirements more proactive in system development. Use Cases
9. The first sub-phase of the analysis phase is determining user requirements. Future users should be involved in the process early on so that their views of the system are taken into consideration. Using the SRS, this technique would carve out the abstractions into categories necessitating the framework itself. SRS would provide feedback to the customer and decomposes the problem into component parts. It serves as an input to the design specification as well as a product validation check. Software Requirements Specification
11. In the first step we analyze the use cases and software requirement specification in an attempt to retrieve an abstraction of both the functional requirements and the quality attributes. Our goal is to parse out the generalization of the requirement without the fine details. There is a series of steps that we can take to retrieve an abstraction of a requirement. Project Planning Phase
13. We first combine functional requirements (FR) with the quality attribute requirements (QAR) to understand the full scope requirement (FSR). FR+QAR = FSR Then we reduce the fine details of a requirement. To do this we repeat the following steps: Analyze each FSR to categorize it into a hierarchy. The hierarchy should represent a tree like structure with the most general concepts at the top and the most detailed concepts at the bottom. Analyze a leaf at the bottom of the tree and determine if the essence of the FSR will remain stable if a leaf is removed. If it doesn’t destabilize the essence of the FSR, then remove the node. Repeat steps b and c until no more leafs can be removed without destabilizing the essence of the FSR. At the end we will have an abstraction of the full scope requirement (AFSR). Project Planning Phase (Cont.)
14. Compare with Existing Abstractions Catalog Here we compare the AFSR with the existing AFSR catalog. If no catalog exists this is where we would create one. The catalog entry should contain the AFSR ID and its accompanying FSR for reference. Project Planning Phase (Cont.)
15. Create New Catalog Entry if Required If the AFSR does not exist in the catalog we need to create a new catalog entry unique to this AFSR. Re-factor Existing Abstraction Catalog if Required This is a critical step and one that has to be thought about thoroughly. Once we have compared the AFSR with the catalog and have determine that we have found a match, we must determine if re-factoring of the existing catalog is required. We do this by determining if the existing AFSR and FSR list are comparable in essence to the new AFSR that is about to be entered. If not then we need decompose the AFSR into two (or more) more detailed AFSR’s that capture the essence of the requirement at a finer level of detail. Project Planning Phase (Cont.)
16. Analyze Existing Data for Abstraction Category Based on Historical Data Here we analyze the existing data that we have accumulated over time for a particular AFSR. This data is an accumulation of the estimated time vs. actual time it took to complete the FSR post project mortem. The goal here is to get an understanding of how much data we have collected, and how far off we were in our estimations in the past. We can also determine what the mean and standard deviation for the actual time spent for a particular AFSR. Project Planning Phase (Cont.)
17.
18.
19. Step 2: Analyze the delta between original time and actual time and finding the root cause. At this stage we will determine the root cause of delta's time for each AFSR items For instance, AFSR_ID 0 delta time, we found out that development phase took longer than expected time. This is because, the developer who developed the AFSR 0 functionality was trying to use new technology because of new security requirement. Moreover this security requirement was added later in the development phase. As a result, it took longer. Thus, by the end of this phase we will find the root cause of each delta. In addition, senior management would also obtain a clear picture of the project and determine whether the product was under budget and on time. Project Post Mortem Phase (Cont.)
20. Re-factor Existing Abstraction Catalog if Required Following are the step for re-factoring existing abstraction catalog phase Step 1: Collect the list of AFSR with delta. Step 2: Identify the root cause of delta for AFSR from post project mortem phase Step 3: Go through with the list of abstraction catalog (AFSR) Step 4: Determine if the existing catalog entry has the same AFSR but different FSR. This can be determine during the root cause phase Step 5: if same AFSR has different FSR Then re factor the existing AFSR Thus by re-factoring activity, we can predict the output accurately and as a result organization productivity will be increased. Project Post Mortem Phase (Cont.)
21. To help clarify this framework let us go through an example. For the sake of this example let's assume the prerequisites are in place and we have the appropriate use cases and software requirement specification. Let's say that the product is a simple form of application that allows the user to securely enter in their address into the system to become a part of a mailing list. Illustrations of Use
22. Determine Functional and Quality Attribute Abstractions 1. FR = Enter in address 2. QAR = Secure transaction FR + QAR = FSR Project Planning Phase (Illustration)
25. Enter Estimate for Requirement into Database in Relation to Abstraction Category
26. Analyze Original Estimate and Actual Effort Here we need to analyze our data again. More specifically we need to analyze our original estimate and the actual result. Post Project Mortem Phase (Illustration)
27. After recording our data we need to pay special attention to the delta time, which is the difference between the estimate time and the actual time. For example if this number is more than 20% of the original estimate we need to analyze why there is this much of a difference. There might be problems with incomplete requirements, poor architectural design, or maybe a technical problem with a particular language or runtime. If however the problem is determine to be a poorly categorized AFSR then we need to determine how to re-establish the integrity of the catalog. Post Project Mortem Phase (Illustration)
28. Here we determine if in fact there is a need to re-factor the existing catalog. For example if the AFSR of Secure Data Capture is not sufficient for a scenario where much more data needs to be captured then we will need to re-factor the catalog like displayed in figure 3.6 Re-factor Existing Abstraction Catalog if Required
29. Estimates and measurements are wishful thinking. They are dependent on perfect scenarios with no distractions. Unclear and incomplete requirements and use cases can throw the measurement off. If a certain requirement was categorized under a different abstraction at the beginning of the project and not apparent until the end, it might be too late at that moment to fix budget over runs and/or adjust schedules. The development schedule might be overly aggressive and result in insufficient resources. If after the project completion, when actual project time lines were not recorded with the correct abstractions and elements in mind, that would never work towards building a comprehensive database of close to real estimations. Possible Problems
30. In this paper we proposed a framework for measuring software effort using abstraction techniques. Certain guidelines have to be followed in order for this to be a success and accurate. The measurement’s accuracy is related to its purpose at a particular point in time. The effort measurement at a project’s feasibility stage needs only be accurate enough to support a decision to prepare a more detailed project timeline estimation. Conclusion
31. Once the detailed requirements and use cases have been developed, and hopefully most of the unknowns have become known, it’s time to jump into this framework for hopefully very accurate measurements based on abstract requirements. Due to the inherent uncertainties in all projects, one might need to re-estimate as you learn more. Whenever major unplanned events occur, one would need to understand how they impact the schedule and effort, and bake that into the final actual recording phase. Conclusion (Cont.)