Software system design sample
-
Upload
norman-k-ma -
Category
Software
-
view
11 -
download
0
Transcript of Software system design sample
VETWorking ProjectNOTE: THIS FILE CONTAINS ARTIFACTS OF THE VETWORKING PROJECT.
NORMAN K. MA, PH.D.
COPYRIGHT © 2015 NORMAN K. MA
project overview
Vetworking will be developed using the eXtreme programming methodology in which Norman has (1) taught as a graduate teaching assistant (software project laboratory), (2) followed the process as a software engineer at Nortel Networks, (3) followed the process as a software engineer at Raytheon, and (4) as a DOD Air Force proposal reviewer subject matter expert (SME) at the MITRE Corporation.
This is a de facto industry standard process with tailoring to specific domains. Norman will use the methodology to generate sufficient artifacts for the future of the project, which is implementation using specific programming language, middleware, in a specific platform.
design artifacts
The scope of this project is to create design artifacts for the purpose to hand off to a programming team. The design artifacts that will be produced are: User Stories (a prose description of the project)
Class Diagrams (data structures for object-oriented implementation)
Sequence Diagrams (description of interaction activities between system objects)
Option: State Diagrams if artificial intelligence or machine intelligence constructs are deemed of value.
In commercial industry, the above software artifacts will be sufficient for programmers to develop an initial prototype to begin the programming-level activities of the Agile system development methodology.
eXtreme Programming Processes that Connect Requirement and Programming Capabilities to Enable Result
RequirementActivities
ProgrammingActivities
eXtreme AgileProcesses
Enables
agile methodology
In 2001, 12 Agile software development principles were developed in Utah, think in context of Acquisition PMO (users), Contractor Managers, and Contractor Developers:
1. Availability of software to government for in-process evaluation
2. Flexibility in editing requirements
3. Software delivery frequency
4. Communication approaches between government and contractor
5. Quality of software developers and their development environment
6. Communication approach amongst software developers
7. Clear articulation of software development progress
8. Sustainability of software development tempo
9. Awareness and guidance with regard to technical excellence
10. Simplicity of development process
11. Software Developers' understanding of government requirements
12. Software development team self-evaluation approach
Norman’s tailored Agile
Norman’s tailored Agile
approach and guidance
approach and guidance
presented to an Air
presented to an Air
Force sponsor to
Force sponsor to
support evaluation
support evaluation
Graphical Description of the eXtreme Approach (optional)
<show rapid iteration of all project tasks>
Vetworking Level Of Effort Analysis
Vetworking Level Of Effort and Work Items
Approach to LOE Identified Level-0 and Level-1 design work items. Contacted MITRE for existing LOE of Vetworking project. Proceed to use historic project data for LOE estimate
Facts Evidence has shown that Cloud services can be efficient and resourceful (database, availability,
security, low development overhead, direction of existing application development approach). Collected 5-person, 100-day, web-based application projects used for hour estimation.
Software phase allocation Reconcile 11 software project measurement with software system development phases to derive
Design phase LOE estimate
Initial Consideration Cloud-based web services based on HHS/CMS Surge Team software team experience. Cloud
services are scalable, economical, secure, and resourceful. Work estimation based on
Estimation
Vetworking Level Of EffortSupport Raw Data
1 Software Project Manager1 Software Designer2 Software programmers1 Software TesterNon-silo activities, web-application with user interface and database persistence
•Graduate computer science/engineering students•2 to 6 years of commercial product development experience•Master degree programmers•Employers: Oracle, Google, Microsoft, etc.•5 to 6 teams per semester•9 semesters
Vetworking Level Of EffortSupport Data 2
1 Software Project Manager1 Software Designer2 Software programmers1 Software TesterNon-silo activities, web-application with user interface and database persistence
•Graduate computer science/engineering students•2 to 6 years of commercial product development experience•Master degree programmers•Employers: Oracle, Google, Microsoft, etc.•5 to 6 teams per semester•9 semesters
Vetworking Level Of EffortHistory project estimation approach
1 Software Project Manager1 Software Designer2 Software programmers1 Software TesterNon-silo activities, web-application with user interface and database persistence
•Graduate computer science/engineering students•2 to 6 years of commercial product development experience•Master degree programmers•Employers: Oracle, Google, Microsoft, etc.•5 to 6 teams per semester•9 semesters
A 5-member team work one-third time for 100 days to complete a web-application with user interface and database persistence.
eXtreme programming recommends work at most 8 hours per 24 hours to assure continuous performance and prevent burn-out.
7 days a week.Per person per day = 10 X (1/3) = 3 1/3Per team per day = 5 X 3 1/3 = 16 2/3Total project hours = 16 2/3 X 100 = 1666 2/3
Vetworking Level Of EffortHistory project estimation approach
1 Software Project Manager1 Software Designer2 Software programmers1 Software TesterNon-silo activities, web-application with user interface and database persistence
•Graduate computer science/engineering students•2 to 6 years of commercial product development experience•Master degree programmers•Employers: Oracle, Google, Microsoft, etc.•5 to 6 teams per semester•9 semesters
Allocation of 1,667 hours among work.
Level-0 phases: Management, Design, Code, Test
Project Artifacts: Requirement Count, Lines of Code, File Count, Issue Count, Design Objects, Test Cases, Unique Operator Count, Unique Operand Count, Operator Count, Operand Count, and Database Table Count WORKFACTS
Vetworking Level Of EffortApplication of work hours to Level-0 tasks based on project evidential facts
Allocation of 1,667 hours among work.
Level-0 phases: Management, Design, Code, Test
Project Artifacts: Requirement Count, Lines of Code, File Count, Issue Count, Design Objects, Test Cases, Unique Operator Count, Unique Operand Count, Operator Count, Operand Count, and Database Table Count
WORKFACTS
<Allocate 1,667 hours to Level-0 tasks to supportLOE for Vetworking design hours>
Vetworking LOE Estimation Support
1. Collected projectartifacts 2. Total hours worked to
produce product
3. Assigned artifacts accordingto project phases4. Computed proportion and hours
spent per project phase
5. Arrived via fact-based hour estimateper Vetworking phase products
Vetworking Deliverables and Hours Estimate
NecessaryActivitiesto build usable Vetworking product
Requirement Analysis
Program Performance MetricsWhile initially provided requirements are Kite-Level business requirements pertaining to technical activities, system engineering thinking indicates a need to frame the project for the purpose of meeting possible unspoken longer-term program needs.
Recommend considering the possibility of engaging with the Northern Virginia Technology Council (NVTC) to consider program accountability and performance metrics.
Suggested measurements for consideration:•Extended veteran employment status data•Financial and managerial accountability measurement•Feedback to role performance•Plan to improve role performance•Committee for business process and activity review and improvement
RolesVeteran: The focus of this program. The goal of the program is to place each veteran into permanent work.Career Coach/Facilitator: Qualified subject matter expert whom is effective in placing veteran-type clients into permanent work.Mentor: A veteran’s personal confidant who assist veteran in adjusting to civilian life.Donor: People who gives money to NVTC to administer for the purpose of help veteran to obtain permanent work.Facility Host: A facility manager that is able to provide a venue to host Boot Camp activities.Caterer: People who provide food and refreshment during Boot Camp.NVTC Administrator: Program management office that oversees and responsible to effectively provide veteran with permanent work.
Kite-Level Data Flow
Coach
Caterer
NVTC Administrator
and other Classes
Design Analysis and Artifacts
artifact count
User stories:11Test cases: 11State diagrams: 3Algorithms and rule sets: 5Classes: 39Class diagrams: 1Sequence diagrams: 1 (Initial Meet)PMO-level performance metrics: 5
High Level User Story
VETworking is a program operated by the Northern Virginia Technology Council (NVTC) designed to help veterans apply their skills in the workforce and be exposed to job opportunities. This computational solution will support continual administration of this program to coordinate all participants, majority volunteers, for the propose of matching veterans to permanent work.
Business Process Analysis for User Stories
Business Process Analysis for User Stories
User Story #1
Name: Provide portals for all users.
Each of the seven roles (Veteran, Mentor, Donor, Career Coach/Facilitator, Facilities Host, Caterer, and NVTC Administrator) will be able to log into the VETworking system from various computing devices for the first time to establish an account and re-login to the system to work their role’s activities.
User Story #2
Name: Entering role-specific information.
Each of the six roles (Veteran, Mentor, Donor, Career Coach, Facilities Host, and NVTC Administrator) will be able to enter role-specific information into the system. A minimum set of information is sufficient to establish an account to prevent repeated entering of same information. The system will prompt and help user to complete unfilled information or required role-specific activities.
User Story #3
Name: Donor functions
A donor visits the website and is directed to a link which enable the donor to give money to NVTC.
User Story #4
Name: Facilities Hosts Information
A Facilities Host (FH) logs onto the system and sees a display of Boot Camp dates. The FH selects date(s) to indicate the availability of the facility to host a Boot Camp. FH then continues to fill out tailoring information such as Need a Caterer (Y/N), Maximum Participants, Address, Preferred Contact, etc.) If FH has already filled out such information on previous visit, this question sheet will be pre-filled with the stored information.
User Story #5
Name: Facilitators functions
A Facilitator, aka qualified Career Coach, logs on to the system and enters choices for the Boot Camp date(s). A visual display will show the status of chosen dates and the next steps of the procedure. When a Boot Camp pre-conditions are met, notice will be sent to all participants to confirm the event.
User Story #6
Name: Caterers functions
A Caterer logs on to the system and enters choices for the Boot Camp date(s) for which to provide services. The Caterer can view number of participants, location, and other information to make a decision. A visual display will show the status of chosen dates and the next steps of the procedure. When a Boot Camp pre-conditions are met, notice will be sent to all participants to confirm the event.
User Story #7
Name: Event Business Process
The system checks the pre-conditions of each Boot Camp. After the venue has been selected, a facilitator has been identified, and other pre-conditions satisfied, the system will notify all participant of the successful arrangement of the date and move on to the pre-event preparation activities. If time is within 24 hours of the event date and event pre-conditions are still not satisfied, then a message will be send to participants and they are prompted to register for another event.
User Story #8
Name: Veteran and Mentor Match
The system will generate veteran and mentor matching report based on the likelihood of long-term (greater than 12 months) total benefit estimate for each veteran. The report will be provided to the NVTC administrator. The veteran report will have that veteran and also a top-five matching mentors list for that veteran. There will be reason(s) and an action list for veterans who has no matches. Similarly, the mentor report will have that mentor and a top-five matching veterans for that mentor. There will be reason(s) and an action list for mentors who has no matches. Each action item is added to a to-do list which is tracked. The NVTC administrator is responsible for the management of follow-up actions after receiving the reports.
User Story #9
Name: Event Selection
After an initial meeting and if the veteran and mentor decided to continue their relationship to work together to match the veteran a permanent work, the veteran and the mentor will register for a Boot Camp event. The mentor and veteran will complete all pre-event activities, including creating an on-line plan to find permanent work.
User Story #10
Name: Event Rules
The users of the system will receive alternative and other options during all activities including scheduling of event dates for each participants, matching mentors to veterans, and useful report and suggestions that can improve program performance metrics. This automation optimization capability shall be available for review and for tailoring by the NVTC administrator.
User Story #11
Name: Administrator Functions
The system has full range of control regarding information disclosure of all participants. The system administrator is responsible for setting the flexible privacy options. An designated NVTC administrator will work with a designated MITRE system administrator to configure all system functions for the purpose of conformance to U. S. Code and for the purpose of optimizing all resources for the purpose of placing veterans into permanent work.
classes
classes from user stories
Mentor-<attributes>-<methods>
Donor-<attributes>-<methods>
CCoach/Facil-<attributes>-<methods>
Facility Host-<attributes>-<methods>
Caterer-<attributes>-<methods>
Veteran-<attributes>-<methods>
NVTC Admin-<attributes>-<methods>
VETWorkingSystem-<attributes>-<methods>
-<attributes>-<methods>
Access Device-<attributes>-<methods>
Account-<attributes>-<methods>
Role Behavior-<attributes>-<methods>
Role Info.-<attributes>-<methods>
NVTC-<attributes>-<methods>
Money-Type-<methods>
Billing Sys.-<attributes>-<methods>
Facility-Address, Max Cap.,POC,-<methods>
Camp Event-<attributes>-<methods>
Schedule-<attributes>-<methods>
Camp Rules-Event_Pre_Condition-<methods>
Food and Drink-<attributes>-<methods>
Event Display-<attributes>-<methods>
EventConfirmation-<attributes>-<methods>
NVTC VETworkingProgram-<attributes>-<methods>
Roles-<attributes>-<methods>
1*
39 classes identified from User Stories
classes from user stories-<attributes>-<methods>
Pre-EventActivity-<attributes>-<methods>
Event Re-Register-<attributes>-<methods>
Veteran MatchList-Top Five MatchReasonsAction List-<methods>
Mentor MatchList-Top Five MatchReasonsAction List-<methods>
Match List Action-Top Five MatchReasonsAction List-<methods>
Initial Meeting-<attributes>-<methods>
Veteran InteractionEvent-<attributes>-<methods>
Job Opening-Filled-<methods>
Job Plan-Filled-<methods>
Event Report-Filled-<methods>
TrainingDocument-Filled-<methods>
ProgramPerformanceMetrics-Filled-<methods>
Sys. Admin.Document-<attributes>-<methods>
MITRE POC-<attributes>-<methods>
Job-Filled-<methods>
39 classes identified from User Stories
class diagram 1
Veteran-<attributes>-<methods>
Job Opening-<attributes>-<methods>
Job Plan-<attributes>-<methods>
Mentor-<attributes>-<methods>
1 *
NVTC VETworkingProgram-<attributes>-<methods>
Donor-<attributes>-<methods>
*
VETWorkingSystem-<attributes>-<methods>
“1” is the default Multiplicity valueConsider open UML tool
Billing Sys.-<attributes>-<methods>
Administer
*
Camp Event-<attributes>-<methods>
*
*
*CCoach/Facil-<attributes>-<methods>
Roles-<attributes>-<methods>
Register
ProgramPerformanceMetrics-<attributes>-<methods>
Applies
Caterer-<attributes>-<methods>
*
*
Job-<attributes>-<methods>
*
*
NVTC Admin-<attributes>-<methods>
Access Device-<attributes>-<methods>
*
class diagram 2
1 *“1” is the default Multiplicity value
Additional class diagrams as needed to describes the VETworking system at various detail levels and focusing on various project perspectives.
Sequence diagram 1, Complete Initial Meeting (1/3)
A-Veteran A-MentorThe-VETworkingSystem
An-InitialMeeting (IM)
Pre-condition:A Mentor has been matched to the Veterian.
This sequence diagram (a type of Interaction diagrams) describes the interaction between objects that results in the end result of a successful Initial Meeting between a Veteran and the Mentor.
Result:Successful completion of Initial Meeting and continue to Boot Camp activity.
Veteran initial login Matched Mentorinitial login
Create get veteran job()Create Initial Meeting()
Object creation
get IM assessment info()
Notify Mentor pre-IM tasks()Notify Veteran pre-IM tasks()
IM assessment info()
Process statusSuggest venue and time()
confirmation
Meeting reminder
To-do (on-line) Check Activities
On-line real-time facilitationIM facilitation rules
IM data exchange
IM exchange record
IM record
IM assessmentPost Event Actions
PersistenceRequirement
Consider Transactional Pattern
*Consider open UML tool
Sequence diagram 1, Complete Initial Meeting (2/3)Error Condition List
A-Veteran A-MentorThe-VETworkingSystem
An-InitialMeeting (IM)
Error and Fail Conditions:
The goal of this sequence diagram is to have both the Veteran and the Mentor prepared for the next VETworking step for the final goal of matching the veteran to a permanent work. As you are programming this user story, keep in mind of the following error/failing conditions and write code for the purpose of support the completing of the Initial Meeting. (note: verify specific numbers)
C1. The veteran did not respond to initial meeting invite within 36 hours C2. The mentor did not respond to initial meeting invite within 36 hoursC3. Initial Meeting object failed to updateC4. Initial Meeting object failed to createC5. Pre-meeting work not completed within 48 hours of initial meeting (this should not block Initial Meeting)C6. Veteran not in recordC7. Mentor not in recordC8. <TBD>
Sequence diagram 1, Complete Initial Meeting (3/3)Error Condition Remedy
A-Veteran A-MentorThe-VETworkingSystem
An-InitialMeeting (IM)
Pre-condition:Plan anomaly has been detected by system.
Result:Successful completion of Initial Meeting by the veteran with the Mentor and continue to Boot Camp activity.
NVTC Admin
Schedule ErrorC3, C4
To-do ItemAlternative Channels
Plan AnomalyPrompt
C1
To-do ItemAlternative Channels
Plan AnomalyPrompt
C2Inform
Plan AnomalyNotice
C5Inform
Plan Anomaly
Init Provide Portal user story
C6, C7
Provide Portal interaction
algorithms and rules
Veteran and Mentor Matching Algorithm
<Algorithm supports matching of a mentor to a veteran for the purpose of resultant team would have high likelihood of placing the veteran into permanent work > Algorithm 1: First Match
Algorithm 2: Maximum Commonality Match
Algorithm 3: Big Data Match
Algorithm 4: Human in the loop
Algorithm 5: Neural Net Learning
Note: Collect Performance Data
Veteran Assessment Algorithm
<Algorithm supports Coaches and mentors to build veterans’ resumes based on VETworking veteran record and following information>
Talent Sort
HBDI
Career Anchors
Strength Finder
Myers Briggs
Communication Style
Veteran and Job Matching Algorithm
<Algorithm supports Coaches and mentors to identify probable job matches to initiate the job application process>
Event Rules
Boot Camp event rules that are codified for automation.
VETworking Program Rules
VETWoring rules codified for automation.
state diagrams
Veteran Employment Status State Diagram
Boot Camp Event Status State Diagram
Architectural Analysis of Alternatives
Computational Resources
On-premise (Y/N)
IaaS (Y/N)
PaaS (Y/N)
SaaS (Y/N)
test casesvalidate to User Stories
test case #1
Name: Provide portals for all users.
test case #2
Name: Entering role-specific information.
test case #3
Name: Donor functions
test case #4
Name: Facilities Hosts Information
test case #5
Name: Facilitators functions
test case #6
Name: Caterers functions
test case #7
Name: Event Business Process
test case #8
Name: Veteran and Mentor Match
test case #9
Name: Event Selection
test case #10
Name: Event Rules
test case #11
Name: Administrator Functions
architecture consideration
architecture consideration
Analysis of alternatives amongst On-premise, IaaS, PaaS, or SaaS
backup