Professional Documents
Culture Documents
Chapter 3 Rice
Chapter 3 Rice
3.1 INTRODUCTION
This section introduces the system requirements specification for the employee attendance
system using face recognition.
3.2 METHODOLOGY
In software engineering, a software development methodology (also known as a system
development methodology, software development life cycle, software development process,
software process) is a division of software development work into distinct phases (or stages)
containing activities with the intent of better planning and management. It is often considered a
subset of the systems development life cycle. The methodology may include the pre-definition of
specific deliverables and artifacts that are created and completed by a project team to develop or
maintain an application.
Common methodologies include waterfall, prototyping, iterative and incremental development,
spiral development, rapid application development, extreme programming and various types of
agile methodology. Some people consider a life-cycle "model" a more general term for a
category of methodologies and a software development "process" a more specific term to refer to
a specific process chosen by a specific organization. For example, there are many specific
software development processes that fit the spiral life-cycle model.
Examples of methodologies:
Prototyping
Software prototyping, is the development approach of activities during software development,
the creation of prototypes, i.e., incomplete versions of the software program being developed.
The basic principles are:
Not a standalone, complete development methodology, but rather an approach to handle
selected parts of a larger, more traditional development methodology (i.e., incremental,
spiral, or rapid application development (RAD)).
Attempts to reduce inherent project risk by breaking a project into smaller segments and
providing more ease-of-change during the development process.
User is involved throughout the development process, which increases the likelihood of
user acceptance of the final implementation.
Small-scale mock-ups of the system are developed following an iterative modification
process until the prototype evolves to meet the users’ requirements.
While most prototypes are developed with the expectation that they will be discarded, it
is possible in some cases to evolve from prototype to working system.
A basic understanding of the fundamental business problem is necessary to avoid solving
the wrong problems.
The James Martin approaches to RAD divides the process into three distinct phases:
Requirements planning phase
User design phase
Construction phase
3.3 Requirements planning phase – combines elements of the system planning and systems
analysis phases of the Systems Development Life Cycle (SDLC). Users, managers, and IT staff
members discuss and agree on business needs, project scope, constraints, and system
requirements. It ends when the team agrees on the key issues and obtains management
authorization to continue.
The main method used in gathering data for this system was online interview.
Personnel that were interviewed include:
Assistant head of ICT department
Some employees
Network Administrator
Windows OS 7 or later
Minimum of 2GB RAM
40GB disk space
Processor 1.8GHz or more\
3.4 USER DESIGN PHASE – during this phase, users interact with systems analysts and
develop models and prototypes that represent all system processes, inputs, and outputs. The RAD
groups or subgroups typically use a combination of Joint Application Development (JAD)
techniques and CASE tools to translate user needs into working models. User Design is a
continuous interactive process that allows users to understand, modify, and eventually approve a
working model of the system that meets their needs.
Capture face
for attendance
Fig 3.3 USE CASE DIAGRAM
Server
System Architecture describes the various tiers of a system (Data, Logic and Presentation). The
data tier describes the raw untouched unmodified data contained within the system which in our
system was developed with Apache Xammp.
The Logic tier represents the use of the data to make the system work and feed the system with
the necessary data needed to work. These include the attendance marking, payroll calculation
and enrolling new employees. This was achieved using JavaScript and an open-source library
FaceApi.js.
The presentation tier refers to the specific view a user wants to see. These include querying the
database for reports and showing relationships between entities. Visual studio Windows Form
Applications helps us to design these presentations.