Вы находитесь на странице: 1из 24

System Engineering Method

Process
for

Cosmopolitan Staffing
Web-Based Design
Version 5.0 approved

Prepared by Carlos Osorio

cosmopolitanstaffing.com

September 22, 2013

Table of Contents
I. Executive Summary................................................................................................. 5
1. Project Outline........................................................................................................ 6
1.1 Introduction....................................................................................................... 6
1.2 Purpose............................................................................................................. 6
1.3 Document Overview.......................................................................................... 6
1.4 System Overview.............................................................................................. 7
1.5 Project Schedule................................................................................................ 8
1.6 References...................................................................................................... 10
2. System Engineering Processes............................................................................. 12
2.1 Project Organization........................................................................................ 12
2.2 Environments.................................................................................................. 12
2.3 System Engineering Model.............................................................................. 13
2.4 Decision-Making Process.................................................................................14
2.5 System Engineering Processes........................................................................15
2.5.1 Configuration Management.......................................................................15
2.5.2 Requirements Engineering........................................................................15
2.5.3 Functional Analysis....................................................................................16
2.5.4 Design Processes...................................................................................... 16
2.5.5 Development Processes............................................................................ 17
2.6 Verification and Validation...............................................................................18
3. Specialty Engineering........................................................................................... 19
4. System Deployment............................................................................................. 21
4.1 Site preparation............................................................................................... 21
4.2 Beta testing..................................................................................................... 21
4.3 System installation.......................................................................................... 21
4.4 User manual development..............................................................................22
4.5 User training.................................................................................................... 22
4.6 Technical Manual development.......................................................................23
4.7 Support engineer training...............................................................................23
5. Product Support.................................................................................................... 24
5.1 Maintenance.................................................................................................... 24

5.2 Logistics support............................................................................................. 24


5.3 Disposal........................................................................................................... 24

Revision History

NAME
C. Osorio
C. Osorio
C. Osorio
C. Osorio

Date
08/26/2013
09/02/2013
09/11/2013
09/15/2013

Revision Number
1.0
2.0
3.0
4.0

C. Osorio

09/22/2013

5.0

Summary of Changes
Project Overview
Project Outline
System Engineering Processes
Specialty Engineering, System Deployment and Product
Support
Executive Summary

I. Executive Summary
This document provides an analysis and evaluation of the current system used at
Cosmopolitan Staffing as well as the proposed solutions to increase productivity and ease of
access based on this analysis. The document contains information regarding the system
engineering processes that will be implemented in order to achieve the organizations goals.
The system which is currently used has many strong points such as standalone payroll
module, temporary workers access and recruiter/sales interface to set new accounts and serve
with the right personnel. The main issue analyzed includes the integration of all those modules
under one web application which has access based on roles. This new accessibility option will
allows recruiters, sales and general management to obtain access to information wherever in the
globe they might be.
The document includes the design and development process in section 2; the starting
point is the key necessities of Cosmopolitan Staffing, followed by the required modules that need
to be created to tag those necessities. The development methodology proposed is a mixture of
DSDM and Agile XP; detailed information regarding these two methodologies is presented in
section 2.3.
Manual development has been identified as key elements for the success of this project as
some of current issues can be attributed to human error. User and technical manual development
can be found under System Deployment in section 4. Documentation is a necessity but training
is a must. As part of the SDLC user training has been included to ensure that Cosmopolitan

Staffing personnel fully understand the system capabilities thus they can use to increase
productivity.

1. Project Outline
1.1 Introduction
Cosmopolitan Staffing is a medium size staffing agency with offices throughout NJ and
NY. We are currently using a web application which can be accessed from any device that has an
internet connection while the backend, which is the portion that allows recruiters to contact
temps, needs a program installed in a computer.

1.2 Purpose
The purpose of the System Engineering Management Plan (SEMP) is to establish,
identify, document and define the activities which will be performed by LJ Solutions to transition
the concept required by Cosmopolitan Staffing to a fully functional web application. This
document will be updated as the different items of its SDLC are being completed.
(home.btconnect.com, n.d.)

1.3 Document Overview


This document is laid out in the most straightforward manner in order to provide its
readers with all the information required to understand not only the concept behind the project
development phases but the steps necessary to take us to each level. Section one provides us
with all the introductory material required to understand at least at a higher level the reason for
this development.

Project organization, decision and configuration management; functional, design and


development process together with the early testing stages of the project are clearly defined in
section two. Section three gives us an overview of specialty engineering being used for this
development while section 4 has all the information referent to the deployment of the application
such as site preparation and beta testing.
Training material and documentation are also part of section five while section six is the
one with the information regarding product support. It includes maintenance, logistic support
and disposal. All reference materials are presented in section 1.6 instead of at the end of the
document for easy access to such references.

1.4 System Overview


The main purpose of the project is to develop a system which is capable of integrating
sales, operations, recruiters, office managers, general management and temporary workers in one
portal with access to data which is relevant to the role that they serve within the company. Access
to the system can be performed remotely without the need to install any additional software.
With this approach staff members shall be able to access the system from mobile devices.

1.5 Project Schedule

MILESTONE

1.
2.

Agreement on goals

RESPONSIBILITY

Cosmopolitan; LJ Solutions

List of items to be included in


Website, sorted into topical
categories
3.
Signatures on Agreement.

Cosmopolitan; LJ Solutions

4.

[Initial payment due]

Cosmopolitan

5.

Functional, technical, operational


and security requirements
(definition and analysis) [25%
milestone achieved]
Design on main landing page,
previous code revision and
domain name reassignment to
new host. Login module.
(student) [50% milestone
achieved]

LJ Solutions

7.

[Second payment due]

Cosmopolitan

8.

Payroll module, operation


module, management module
and temp access module (client)
[75% milestone achieved]

LJ Solutions

9.

[Third payment due]

Cosmopolitan

10.

Integration, file upload to hosting, Cosmopolitan


beta testing [project completion]
-- Acceptance of final version
Cosmopolitan

6.

Cosmopolitan; LJ Solutions

LJ Solutions

-- Final full payment received

Cosmopolitan

-- Content posted to Website

Cosmopolitan; LJ Solutions

-- Warranty Period

LJ Solutions

DEADLINE

1.6 References

acq.osd.mil. (n.d.). Systems Engineering Organization. Retrieved August 23, 2013, from
acq.osd.mil: http://www.acq.osd.mil/se/org.html
bsdsolutions.com. (2011, November 25). Systems Integration Engineer Role and Responsibility.
Retrieved September 11, 2013, from bsdsolutions.com:
http://www.bsdsolutions.com/about-us/bsd-news/2011/11/systems-integration-engineerrole-and-responsibility/
businessdictionary.com. (n.d.). logistics support. Retrieved September 15, 2013, from
businessdictionary.com: http://www.businessdictionary.com/definition/logisticssupport.html
campus.ctuonline.edu. (n.d.). Build Management. Retrieved September 11, 2013, from
campus.ctuonline.edu:
https://campus.ctuonline.edu/Classroom/Pages/multimediacoursetext.aspx?
classid=267715&tid=201&uid=492641&HeaderText=Course Materials: CS672-1303B01 : Systems Engineering Methods
codesqueeze.com. (n.d.). The 7 Software -ilities You Need To Know. Retrieved September 4,
2013, from codesqueeze.com: http://codesqueeze.com/the-7-software-ilities-you-need-toknow/
Djamal. (2013, February 16). Verification & Validation . Retrieved September 11, 2013, from
chambers.com.au: http://www.chambers.com.au/glossary/verification_validation.php

galanos.com.au. (n.d.). What is a Trade Study? Retrieved September 11, 2013, from
galanos.com.au: http://www.galanos.com.au/White%20Papers/trade_studies.html
home.btconnect.com. (n.d.). Systems Engineering Management Plan . Retrieved September 2,
2013, from home.btconnect.com:
http://home.btconnect.com/managingstandard/semp3.htm
Kennedy, R. C. (2009, November 18). Top 10 Windows tools for IT pros. Retrieved August 23,
2013, from infoworld.com: http://www.infoworld.com/d/windows/top-10-windows-toolsit-pros-792
Kelly Waters. (2007, February 10). What Is Agile? (10 Key Principles of Agile). Retrieved April
25, 2012, from allaboutagile.com: http://www.allaboutagile.com/what-is-agile-10-keyprinciples/
reference.com. (n.d.). Dynamic_Systems_Development_Method. Retrieved April 25, 2012, from
reference.com:
http://www.reference.com/browse/Dynamic_Systems_Development_Method
Richard, L. K. (2005, April 18). Software's Best Kept Secret: 'ilities'. Retrieved 4 2013,
September, from projectmanagement.com:
http://www.projectmanagement.com/articles/223170/Softwares-Best-Kept-Secret--ilities
www4.nau.edu. (n.d.). Alpha, Beta, and Pilot Testing. Retrieved April 29, 2013, from
www4.nau.edu: http://www4.nau.edu/azregions/testing/beta.htm

2. System Engineering Processes


2.1 Project Organization
For this project, LJ Solutions has assigned the task to three staff members; a project
manager, a programmer and a web designer. Due to the size of the project and the amount of
development necessary in order to achieve goals; LJ Solutions has not deemed necessary to
include more members for it. Their duties are as follows:
Project Manager: He is the liaison between the development and Cosmopolitan Staffing. His
duties include contract development, presentation and he is the main channel of communication
between the two entities.
Programmer: He is in charge of the transition from a desktop application to a web based one.
He will use PHP and JavaScript as the main programming language. SOAP and XML will be
used to create interfaces between some of the web services already running in the system.
Web Designer: She will be in charge of the GUI creation for the new modules and guarantee
compatibility with the already developed web modules. She will mainly use HTML5, CSS and
JavaScript to achieve this goal.

2.2 Environments
The technical environment of the project consists in a few software tools for each part of
the team.
Project Manager: As he is in charge of communications and the liaison among the stakeholders
his technical tools are MS Project, Outlook, Word and PowerPoint. Project will be used to keep

the development team current with system/requirement changes. Outlook will be used to send
emails to the stakeholders while Word and PowerPoint are tools required to develop
documentation as well as presentations.
Programmer: The programmer needs a computer system with WAMP installed, different
browsers for testing cross-browsing compatibility, FileZilla to FTP files to the web hosting
server and notepad to keep coding notes.
Web Design: The designer needs an HTML editor such as Dreamweaver and Photoshop to
handle graphics. Different browser as IE, Chrome, Opera and Firefox are also necessary to
check for cross browsing compatibility.

2.3 System Engineering Model


Dynamic System Development Method is part of the Agile Rapid Application
Development (RAD) in which client/customer interaction is a key element for the success of the
project. The main goal of this approach is not only to expedite the software development but to
keep it within budget. This methodology allows for the SDLC to be flexible as certain
requirements change. It was created during the 1990s by the DSDM Consortium which is a
non-profit organization.
DSDM has 9 main principles for the its successful implementation; they are as follows:
1.
2.
3.
4.
5.
6.
7.

User involvement
Project team has the authority to make decision
System must address all business needs
Frequently delivers products
Development is iterative and incremental
Changes are reversible
High level scope is are base-lined

8. Testing is carried through the SDLC


9. Communication and cooperation among project stakeholders (reference.com, n.d.)
Extreme Programming is another Agile approach which focuses on the software engineering
process and its analysis, development and test phases. The extreme programming approach
increases the value and the overall quality of the project. XP implements code review and unit
testing in a flat management structure that implements features as needed in the development
phases. This approach allows for great flexibility whenever customers requirements are
modified. (Kelly Waters, 2007)

2.4 Decision-Making Process


Agile methods give developers a high amount of liberty regarding decision making
capabilities as long as the most benefit for the client is achieved by this decisions. Of course, its
necessary to make educated decisions regarding any major changes. Trade studies, control
boards and working groups are part of the decision making process.
Trade studies: This process allows stakeholders to find the most viable solutions from a set of
solutions keeping in mind suppliers, financing, budget and feasibility of the project.
(galanos.com.au, n.d.)
Control boards: They perform quality assurance tasks regarding the technical, design and
system reviews.
Working groups: There are several forms of working groups; they could be quality assurance,
development or design. This is a supportive role in which their main task is to keep guide the
project into achieving its goals.

2.5 System Engineering Processes


2.5.1 Configuration Management

The system due to its web based nature does not need any major hardware/software
configuration. The new interface between staff members will be built as an add-on for the
already in place website for temporary workers. In order to keep compatibility of its components
we have to keep the same software configuration already running.
Apache server running PHP 5.1 and MySQL 5.5.24 are running at the moment which is
an excellent configuration. The old site is developed completely using HTML 4 while the new
one will have many HTML5 components and CCS3. This new configuration for new files will
have no negative effect to the older files.
JQuery libraries can be implemented in the new site while keeping any older versions in
the old one without creating any type of conflict. It will only be a matter to point the references
to a different library from different files. XML and web services are likely to be implemented in
the new design but this addition will have to effect to the current configuration.

2.5.2 Requirements Engineering

Requirements do no only need to be gathered but clarified, expanded, validated, updated,


reviewed, and approved. A work break down structure comes to our aid in order to have a clear
picture as how the behavior of the system based on scenarios. A WBS is a chart in which the
most important work elements (referred as tasks) of a project are presented to show the existent
relationships amongst the tasks and the project as a whole.

WBS are usually presented as a graphic in order to assist project managers with a visual
tool to predict results based on scenarios and improve decision making when it comes to plans,
modifications, delivery times and budget. (Rouse, 2011) This chart fill allow you to expand on
the scenarios, validate its output thus review the actual results towards the expected ones; make
reviews when necessary and obtain approval based on the ultimate results obtained.

2.5.3 Functional Analysis

Due to Agile methodology that will be used for this development, the system will be
divided into different modules which will be individually tested and integrated a later time. Due
to this unit testing approach, functionality of the project is being assessed constantly in order to
comply with requirements as well as its correct functioning once they have to interact with other
components of the system.

2.5.4 Design Processes

As it was stated before; the hardware and the configuration already in place will work
seamlessly with the new development. The design of the new site also has to be in line with
previous development in order to keep continuity to the project and branding for Cosmopolitan
Staffing.
2.5.5 Development Processes
2.5.5.1 Software

There are many departments concerned with the success of the project thus we will need their
constant input. They have also indicated that the time required to complete the project is

somehow short. Because XP allows you to create individual modules, test them and at a later
time integrate them with great flexibility; extreme programming has being identified as the
methodology of choice.
2.5.5.2 Hardware

No hardware modifications needed at the moment.


2.5.5.4 System Integration

The system integration process includes tasks such as gathering and analysis of system
requirements; work plan development; research, evaluation and recommendation of the system
an technologies to be used based on requirements and project feasibility; technical design;
technical plan; staff needs; delivery estimates; testing plans; post installation and integration
support. (bsdsolutions.com, 2011)

2.5.5.5 Build Management

Build management refers to the process of compiling source code as well as any parts of
the application required to complete the project package. The delivery of a system goes beyond
just having a working system but includes help files; documentation, technical, user manuals,
and build instructions. All these components must be approved for release by the production
development department as they are all related to each other. (campus.ctuonline.edu, Build
Management, n.d.)

2.6 Verification and Validation


These tasks are also referred as V&V due to their affinity with each other. While
verification answers the question, are we building the product right? Validation answers, are we
building the right product? A product could be constructed to the fully extend of their
requirements but it might not be the right product for the job. This is when V&V comes in place;
to ensure that we build the right product and we build it right.
V&V is extremely necessary in order to catch errors in the SDLC they could be costly
and in some instances fatal. Keep in mind that many systems are related to war and destruction;
a human error might send a missile to the wrong location and kill thousands of innocents.
Systems might be made for hospitals; a wrong reading might send a patient into the wrong
operation. The mission of V&V is therefore to find and correct errors as early as possible in the
development life cycle thus preventing the delivery of a faulty product to a customer. (Djamal,
2013)

3. Specialty Engineering
When we talk about specialty engineering we also referring to the ilities of a project;
they are: feasibility, reliability, usability, maintainability, producibility, disposability, scalability,
security, portability, modifiability, reusability and testability.
They are all important for the overall health of the SDLC even though many scholars
disagree on this. Some might say that the producibility is the most important part while others
see feasibility of the project as the key element for its success. The illities allow us to answer
questions such as, which solution is more cost effective? Which one will have the least damaging
impact to the ecosystem? Which solution is more convenient for the users?
The following is a short but concise review of all the items presented regarding the
quality attributes required to evaluate a system.
Reliability. It presents the amount of time that a system can work without failure
Usability. It describes how effectively end users can use, learn, or control the system.
Maintainability. How easy is to modify the code and keep the system running based on new
requirements?
Producibility. Is it feasible to produce the system at any required scale?
Disposability. How long is the system life span?
Scalability. Can the system grow as new needs are integrated to the operations that it is assisting?

Security. It describes the ability of the system to serve legitimate users while keeps intruders at
bay. (codesqueeze.com, n.d.)
Portability. Can the system run in different platforms?
Modifiability. How easy is to integrate changes to the system?
Reusability. Can some modules of this system be used in another one?
Testability. Can the system be tested to show its functionality at the time that it shows any
possible bugs? (Richard, 2005)

4. System Deployment
4.1 Site preparation
Cosmopolitan Staffing has already in place a web system which at the moment is being
added new functionality to comply with overall requirement and goals, thus theres no additional
hardware or software preparation for the deployment.

4.2 Beta testing


After a successful alpha testing (testing that involves the development team), the software
will be ready to enter the beta testing stage in which the system will be tested by users under
normal operating conditions. This stage can be considered a review of all the test already
conducted in the alpha testing stages (requirement, scenario, performance, etc.) and is in place to
ensure that there are no circumstances that might put the systems functional integrity at risk.
(Repurposed from Software Design, Individual Project 5, Professor Brian Bertrand)

4.3 System installation


Web systems deployment includes three main tasks; database set up and uploads, code
modification and file transfer.
Database setup and upload: The hosting service at the moment provides with unlimited
creation of databases and it uses phpMyAdmin as the database editor. This program allows for
.sql files imports and the hosting service uses the latest Apache servers compatible with the PHP
version used at the moment. (PHP 5.1)

Code modification: There are many instances specially when working with PHP sessions in
which theres the need to include and/or modify certain lines of code before the upload. These
lines are related to the way the hosting service stores temporary files, mail servers and cache
reset.
File transfer: FileZilla will be the tool of choice for this task. The software provides with an
easy to easy platform that uses drag and drop capabilities to upload files the hosting server.

4.4 User manual development


The operation manual will include all the features available of the system as well as
detailed information on how to access and manage such functionality. Operation manuals will be
available for the stakeholders divided per department while there will be a master document
which details all the functionality of the system. The separation of information is done in order
to provide with an additional security measure in which personnel has access to the data that will
allow them to perform their work.

4.5 User training


Even though some of the stakeholders might be aware of the functionality, look and feel
of the software due to their interaction with it at the Beta and User Acceptance Testing rounds;
there is the need to provide the client with formal training sessions in which all modules of the
system will be explained in detail for its correct and efficient usage.
Training of the different modules of the system will be provided as the users are entitled
to use, i.e. recruiters do not need to be trained on the check generator module. Training will be
conducted by LJ Solutions staff that is qualified to handle software functionality training to

different employee levels and audience sizes. These trainers have been previously trained on the
system functionality and have the support of one of the software engineers responsible for the
system development.

4.6 Technical Manual development

This document is similar to the user manual but is more technical in nature and it is
developed for the IT personnel of Cosmopolitan Staffing. It contains information pertaining
back up procedures, hosting, domains, subdomains, database structure and some coding structure
guidelines.

4.7 Support engineer training


The technical manual serves as the main point of reference for the in house engineers
from Cosmopolitan Staffing who will work on the site maintenance. That is the reason why we
provide their IT department with information regarding the internal parts of the project for
instances in which they decide to perform their own updates and modifications. The system at
the moment has a guarantee period of 30 days in which any coding related issue will be fixed for
no charge.

5. Product Support
5.1 Maintenance
Even though LJ Solutions could provide with an ongoing maintenance service for the
system (if requested); Cosmopolitan has decided to hire in house personal for any future
modification to the system. After the release the website belongs to Cosmopolitan thus they are
able to perform modification to the source code as they desire.

5.2 Logistics support


Logistic support refers to the procurement and distribution of equipment, facilities,
spares, technical information, and trained personnel, essential to the proper operation of
a campaign, plan, or project. (businessdictionary.com, n.d.)
LJ Solutions in its eagerness to maintain a healthy business relationship with its clients
before, while and after developing their software; it will provide Cosmopolitan Staffing with
continuous logistic support regarding their system. They might new modules added to the
current system, change the look or modify some functionality. Also, as it was stated before
theres a 30 day guarantee period which will allow Cosmopolitan Staffing to present any
software issues beyond the beta and acceptance testing stages.

5.3 Disposal
Disposal of the system refers to giving closure to the project so the developing agency
can move on into another project having the satisfaction of gaining another satisfied customer.
The tasks and deliverables have been clearly established up to the acceptance testing stage. In

this stage the delivered software will be submitted to Cosmopolitan Staffing IT department and
selected users of the software to ensure that it complies with the requirements and that it has an
acceptable working platform.
The IT department will focus on the features required and the correct output for specific
modules while the users will focus on the ease of use, speed and any other details that might not
be identified until the final user is presented with the product. Even though the software should
be subjected to constant testing practices, only the final user of the software can identify any
critical issues with it.
Once these two groups provide their reports and they are consistent with the Alpha and
Beta testing reports provided by the developer/client the software will be subjected to acceptance
testing which is a review of all points of interested. Once theres an acceptance sign off, LJ
Solutions can receive its final payment and consider the project closed.

Вам также может понравиться