Download presentation
Presentation is loading. Please wait.
Published byEdwin Townsend Modified over 8 years ago
1
The Major Continuing Software Development Project Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 1
2
The Major Continuing Software Development Project - Requirements Elicitation Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 2
3
Requirements Elicitation Several stakeholders develop a problem statement after several iterations. Eliminate vague and unsustainable words – Standard, as simple as possible, flexible enough, should have a common interface, treated as library requirements They produce some examples of how the system should work. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 3
4
Requirements Traceability Create a preliminary RTM. If no test can be determined for a particular requirement, it should be rewritten or discarded. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 4
5
Sample designs of screens Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 5 Such mockups can help explain proposed systems
6
Review Review the requirements Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 6
7
The Continuing Major Software Engineering Project: Design Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 7
8
One possible physical architecture Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 8
9
Alternative physical architecture Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 9
10
Initial set of six subsystems Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 10 Subsystem for the user interface. Subsystem for obtaining files and analyzing file types. Subsystem for passing input files to data collection subsystem. Subsystem for collecting data for each input file. Subsystem for sending data to spreadsheet or database. Spreadsheet or database program.
11
Final set of four subsystems 1.Subsystem for the user interface, obtaining files and analyzing types 2.Subsystem for collecting data for each input file 3.Subsystem for sending data to spreadsheet or database 4.Spreadsheet or database program Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 11
12
High-level system archtecture Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 12
13
Prelim. Procedurally Oriented Design Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 13
14
Prelim. Data Flow Diagram (DFD 0) Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 14
15
Attributes of objects AttributeTypical Value NameCharacter string SizeInteger Module in which locatedCharacter string Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 15 For “Function Objects” in the input data files
16
Attributes of objects Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 16 For “source code files” in the input data files AttributeTypical Value NameCharacter string SizeInteger Number of functionsInteger List of functionsLinked list of character strings Subsystem in which located Character string
17
Attributes of objects Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 17 For “Subsystem Objects” in the input data files AttributeTypical Value NameCharacter string SizeInteger Number of source code files Integer List of source code filesLinked list of character strings
18
Requirements Traceability Matrix # RequirementDesignCodeTest 1. Intel-basedY 2. Windows 8Y 3. Windows 8 UIY 4. Consistent With Excel 14.0Y 5. System One Size OnlyY 6. 400 MB System 7. 500 MB Disk Space 8. CD 9. Includes InstallationY 10. No Decompression UtilityY 11. One input file at a timeY Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 18
19
Requirements Traceability Matrix # RequirementDesignCodeTest 12. Size of each functionY 13. Size of each fileY 14. Size of systemY 15. Compute totalsY 16. Develop std for C,C++,AdaY 17. Batch-oriented systemY 18. Precisely define LOCY 19. Measure separatelyY 20. No error checking of inputY 21. Front end in C or C++Y Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 19
20
Requirements Traceability Matrix # RequirementDesignCodeTest 22. Batch processingY 23. File names limited to 32 char. Y 24. Wild cards can be usedY 25. Dead code ignoredN 26. No special compilers needed Y Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 20
21
Interfaces with Windows Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 21
22
System Output Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 22
23
System Output Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 23
24
System Output Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 24
25
The Continuing Major Software Development Project: Coding Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 25
26
Coding standards Have we followed them? Have we been consistent with naming conventions? Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 26
27
Requirements Traceability Have we listed our source code in the RTM? Has every requirement been implemented? Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 27
28
Coding and Project Management, Cont. Perform a status check. Are we ahead of schedule (unlikely), behind schedule (likely), or approximately on target? Have there been any unpleasant surprises, any portions of the system that were more difficult than we expected? Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 28
29
Coding and Project Management Does any portion of the system require extra attention, perhaps additional resources? Have technology or market pressures rendered any portion of the system obsolete? Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 29
30
Coding and Project Management Perform a status check. Are we ahead of schedule (unlikely), behind schedule (likely), or approximately on target? Have there been any unpleasant surprises, any portions of the system that were more difficult than we expected? Does any portion of the system require extra attention, perhaps additional resources? Have technology or market pressures rendered any portion of the system obsolete? (Recall that we did this status check earlier.) Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 30
31
Use a RTM List the requirements, documentation, and all delivered items in the RTM to adhere to quality standards. (Our RTM was vague on this, so it needs to be fixed.) Use the RTM as a status check. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 31
32
Improve the development process Enter data about the project’s cost, schedule, and quality into a database for further analysis. This is a good time to consider process improvement. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 32
33
The Major Continuing Software Project: Testing Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 33
34
A high-level view The entire software system is comprised of modules, many obtained from other sources. Software utilities are considered as black boxes Only interfaces need to be checked. The same approach when testing the “glueware” used to combine these utilities. Black-box testing is a natural choice for this. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 34
35
White-box testing? This is appropriate when there are many execution paths and complex internal logic. This describes the software interfacing to the operating system for the linking of names of input files to later routines. This was to be done using command-line arguments. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 35
36
Choices For small units, choose one of: White-box testing Black-box testing For subsystems (larger units): Choose procedural testing for procedurally developed subsystems Choose object-oriented testing for O-O developed subsystems Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 36
37
Oobject-oriented methods Must be applied to the back end of the system. The main testing for this subsystem are completeness of the objects and the proper assignment of default values to member functions. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 37
38
The Major Continuing Software Project: Integration Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 38
39
Top-down or bottom-up or other? Start with a top-down approach. Check user interface to see if file names are handled properly. Check to see if the first subsystem recognizes the names of input files and the appropriate directories. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 39
40
Integrate objects bottom-up The back end of the software system consists of O-O modules for output data storage and for display. Integrate these objects bottom up Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 40
41
Combine the system’s front and back ends A hybrid integration approach. Ideally, very few steps are necessary. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 41
42
Check the RTM for completeness The Requirements Traceability Matrix lists each requirement and a test for it. Make sure that all requirements are actually implemented and tested for. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 42
43
The Major Continuing Software Development Project: Delivery, Installation and Documentation Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 43
44
Use a RTM List the requirements, documentation, and all delivered items in the RTM to adhere to quality standards. (Our RTM was vague on this, so it needs to be fixed.) Use the RTM as a status check. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 44
45
Improve the development process Enter data about the project’s cost, schedule, and quality into a database for further analysis. This is a good time to consider process improvement. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 45
46
Maintenance of the Major Continuing Software Development Project Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 46
47
Maintenance occurs after delivery What happens next in a software engineering course after the semester is over? New features Improved design Increased security … Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 47
48
Suggested new features Migrate to a new operating system Move to a new platform Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 48
49
Suggested new design Move to a Macintosh Move to a Linux or UNIX system Move some data to a tablet or smart phone Improve visualization Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 49
50
Improve security Always! Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 50
51
An opportunity The major continuing software development project used a particular software development process, perhaps different ones for different teams using other methods. How can we tell what worked best? Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 51
52
The solution Use maintenance information to analyze quality and other metrics on different types of software development processes. The goal is process improvement. NOTE: this analysis of maintenance data is a critical part of software engineering! Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 52
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.