0% found this document useful (0 votes)
320 views25 pages

CpE Laws - Professional Practice - Module 05

This document is a module outline for a course on Computer Engineering Laws and Professional Practice. It includes: - An overview of the course, including its title, credits, instructor information, description and intended learning outcomes. - A weekly course schedule outlining the topics to be covered in each of the 5 modules, including engineering principles, project management, systems analysis and design. - An excerpt from Module 5 discussing requirements engineering and the different types of requirements in systems engineering like business, user, functional and non-functional requirements. It also covers use cases, user stories, process and data modeling. - A list of relevant Philippine laws and standards that will be referenced in the course.

Uploaded by

Joel Manacmul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
320 views25 pages

CpE Laws - Professional Practice - Module 05

This document is a module outline for a course on Computer Engineering Laws and Professional Practice. It includes: - An overview of the course, including its title, credits, instructor information, description and intended learning outcomes. - A weekly course schedule outlining the topics to be covered in each of the 5 modules, including engineering principles, project management, systems analysis and design. - An excerpt from Module 5 discussing requirements engineering and the different types of requirements in systems engineering like business, user, functional and non-functional requirements. It also covers use cases, user stories, process and data modeling. - A list of relevant Philippine laws and standards that will be referenced in the course.

Uploaded by

Joel Manacmul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Module 05

CpE Laws & Professional


Practice

ENGR. JOEL D. MANACMUL


Department of Engineering and Architecture
Bataan Heroes College

This module or any portion thereof may not be reproduced or used in any manner whatsoever without
the express written permission of the publisher except for educational purposes but with a citation to
this source.

For Permission: Contact Bataan Heroes College, Roman Super Hi-way, Balanga City, Bataan, Philippines

CpE Laws & Professional Practice Page 2 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

Course Information
Course Title : CpE Laws & Professional Practice
Program : Business & Technology
Course Code : CPE 411
Credit Units : 3 units
Pre-requisite/s :

Instructor Information
Name : Engr. Joel D. Manacmul
Contact Information
Contact Number : 09281421172
Facebook : Joel Manacmul
Email : [email protected]

Course Description
This course provides the importance of the professional and ethical responsibilities of practicing
computer engineers and the effects of their work on society; the importance of understanding
contemporary issues, lifelong learning strategies, and applicable ICT laws

Intended Learning Outcomes


 Understand the Philippine IT Laws and Policies
 Be aware of the Professional and Ethical Responsibilities, Data Privacy. Contemporary
Issues, Cybercrime Prevention Act, Optical Media Act
 Awareness of Licensing and certification of IT professionals, would increase the
reliability and effectiveness of information systems.
 IT-related professional organizations have developed their code of ethics that: Outlines
what the organization aspires to become, Lists rules and principles for members, Includes
a commitment to continuing education for those who practice the profession

CpE Laws & Professional Practice Page 3 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

Course Schedule

Week Topic

Engineering Principles and Standards


 Computer Engineering as a Discipline
o How Engineers Think
o Scope and Fields of Computer Engineering
o Institute of Computer Engineering of the Philippines
Week 1  Best Practices in Engineering
Module 1 o Scientific Method and Quality Management
o Principles of Engineering and Learning
 Ethics and Morality
o Leadership and Management
o Moral Values and Norms
o Code of Ethics
Computer Engineering Project Management
 Professional Practice
o Computer-Related Laws
Week 2 o International Standards
o ICT Professional Certifications
Module 2
 Project Management Methodologies
o Fundamentals of Project Management
o Project Management Book of Knowledge
o Other Project Management Methodologies
MIDTERM ASSESSMENT
 Project Initiation and Planning
o Project Charter and Stakeholder Analysis
Week 3 o Aspect of a Project Management Plan
 Project Execution, Monitoring, and Control
Module 3
o Implementing the PM Triple Constraint
o Monitoring and Control Techniques
o Aspects of Project Monitoring
 Project Handover and Closure
o Project Commissioning and Handover
Week 4 o Project Documentation
Module 4 o Closing the Project
Systems Analysis and Design
 System Development Life Cycle
CpE Laws & Professional Practice Page 4 of 25
Engr. Joel D. Manacmul
Bataan Heroes College

o Introduction to Systems and SDLC


o System Request and Feasibility Study
o Development, Implementation, and Testing
 System Modeling and Use Cases
o Requirements Engineering
o Use Cases and User Stories
Week 5 o Process Modelling and Data Modelling
Module 5  System Architecture and User Interface Design
o Non-Functional Requirements and Architecture Design
o Principles and Standards of UI Design
o Navigation, Input, and Output Design
FINAL ASSESSMENT

CpE Laws & Professional Practice


Objectives:
Working on this module should help you to:
 Able to understand the key characteristics that distinguish a professional from other kinds
of workers, and is an IT worker considered a professional.
 Understand the factors of transforming professional services of the industry.
 Acquire the codes of ethics, professional organizations, certification, and licensing effect
of the ethical behavior of IT professionals.

Reference
CpE Laws and Professional Practice
RA 8293 (Intellectual Property Code of the Philippines)
RA 8792 (Electronic Commerce Act of 2000)
RA 10173 (Data Privacy Act of 2012)
RA 10175 (Cybercrime Prevention Act of 2012)
RA 10844 (Department of Information and Communications Technology)
.

CpE Laws & Professional Practice Page 5 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

Module 5: System Modeling and Use Cases


Requirements engineering refers to the process of defining, documenting and maintaining
requirements in the engineering design process. It is a common role in systems engineering and
software engineering.

Requirement Engineering Process

Types of Requirements in Systems Engineering


Business Requirements are statements from the system request that describe the reasons for
proposing the systems development project and reflect the business requirements that this
system, if built, will fulfill. They help define the overall goals of the system and help clarify the
contributions it will make to the organization‘s success.

CpE Laws & Professional Practice Page 6 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

When the systems development project is complete, success will be measured by evaluating
whether the stated business requirements have actually been achieved; therefore, they provide
the overall direction for the project. Business drivers may include both problems (reasons why
the current systems/processes are not sufficient) and opportunities (new business models that
the system will make available). Usually a combination of these two is needed to provide
motivation for a new system.

User Requirements are written from the perspective of the business, focusing on what the
system needs to do in order to satisfy business user needs. They describe tasks that the users
perform as an integral part of the business‘ operations and what the user actually needs to
accomplish with the system in order to fulfill a needed job or task.

Use cases are tools used to clarify the steps involved in performing these user tasks. By
understanding what the user needs to do in terms of tasks to perform, the analyst can then
determine ways in which the new system can support the users‘ needs. User stories are short,
simple descriptions of a feature told from the perspective of the person who desires the new
capability, usually a user or customer of the system. They typically follow a simple template:

As a < type of user >, I want < some goal >, so that < some reason >.

Functional Requirements are identified by determining ways in which the new system can
support user needs and relate directly to a process the system has to perform as a part of
supporting a user task and/or information to provide as the user is performing a task. They are
defined by the IIBA as “the product capabilities, or things that a product must do for its users.”,
these requirements begin to define how the system will support the user in completing a task.

Process models are used to explain the relationship of functions/processes to the system users,
how the functions/processes relate to each other, how data is entered and produced by
functions/processes, and how functions/processes create and use stored data, which is to be
defined in the data models.

CpE Laws & Professional Practice Page 7 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

Non-Functional Requirements include important behavioral properties that the system must
have, such as performance and usability, as well as the ability to access the system through a
mobile device requirement. These requirements are quality attributes, design, and
implementation constraints, and external interfaces which a product must have. They are
primarily used in the design phase when decisions are made about the user interface, the
hardware and software, and the system‘s underlying architecture. They describe a variety of
system characteristics: operational, performance, security, and cultural and political. These
characteristics are very important in understanding what the final system should be like.
System Requirements Specification (SRS) is a structured collection of information that
embodies the requirements of a system. In the developer‘s perspective, it is a document or set of
documentation that describes the features and behavior of a system or software application. It
includes a variety of elements that attempt to define the intended functionality required by the
customer to satisfy the users.
• Business Drivers – rationale for the new system
• Business Model – includes the organizational context, business context, key business functions
and process flow diagrams.
• Functional Requirements – "System needs the ability to do x"
• Business & System Use Cases – consist of a UML use case diagram
• Technical Requirements – include the technical constraints
• System Qualities – consist of tables of specific acceptance metrics
• Constraints & Assumptions – remove certain options from being considered
• Acceptance Criteria – the criteria by which the client will "sign-off" on the final system
Requirements definition is a straightforward text report that simply lists the system requirements
(functional and nonfunctional requirements) in an outline format. Its main purpose is to define
the scope of the system and to establish the users‘ expectations for the system where
prioritization (low, medium, or high) of requirements is sometimes stated.

Requirements elicitation (or requirement gathering) is the practice of researching and


discovering the requirements of a system from users, customers, and other stakeholders. It is
done through one or more of the following techniques: Each of the requirements elicitation
techniques has strengths and weaknesses, and in practice, most projects benefit from a

CpE Laws & Professional Practice Page 8 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

combination of techniques. In general, document analysis and observation require the least
amount of training, while JAD sessions are the most challenging.
Interview Method is a natural and most commonly used method, conducted one on one (one
interviewer and one interviewee), but sometimes, due to time constraints, several people are
interviewed at the same time. Questionnaire Method uses sets of written questions for obtaining
information from individuals. It is used when there is a large number of people from whom
information and opinions are needed (e.g., by customers or vendors) or when users spread across
many geographic locations.
Document Analysis Method is used to understand the as-is system as the project team can start
the analysis by reviewing the documentation and examining the system itself. Although there
may not be much technical documentation about the current system available, or it may not
contain updated information about recent system changes, there are many helpful documents that
do exist in the organization: paper reports, memorandums, policy manuals, user training
manuals, organization charts, and forms. Problem reports filed by the system users can be
another rich source of information about issues with the existing system.
Observation Method involves watching processes being performed, is a powerful tool to gain
insight into the as-is system. It enables the analyst to see the reality of a situation, rather than
listening to others describe it in interviews or JAD sessions. It is a good way to check the validity
of information gathered from other sources such as interviews and questionnaires.
Joint Application Development (JAD) Method is a structured information gathering technique
that allows the project team, users, and management to work together to identify requirements
for the system. In this approach, 10-20 users meet under the direction of a facilitator skilled in
JAD techniques.

CpE Laws & Professional Practice Page 9 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

Use-Case Analysis is used to identify the requirements of a system and the information used to
both define processes used and classes which will be used both in the use case diagram and the
overall use case in the development or redesign of a software system or program.
NOTE: High-level describes operations that are more abstract in nature, while low-level
describes more specific individual components of a systematic operation, focusing on
the details of basic micro functions rather than macro, complex processes.
Use Cases are used to explain and document the interaction that is required between the user and
the system to accomplish the user‘s task. These are often used to derive more detailed functional
requirements for the new system, and are created to help the development team understand more
fully the steps that are involved in accomplishing the user‘s goals.
How to Write a Use Case

CpE Laws & Professional Practice Page 10 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

User Stories are simple, yet extremely powerful constructs: they describe pieces of functionality
from a user’s point of view, expressed in a solid, compact way. They reflect what a particular
class of user needs and the value to be gained.

System modeling is the process of developing abstract models of a system, with each model
presenting a different view or perspective of that system. It is about representing a system using
some kind of graphical notation, which is now almost always based on notations in the UML.
Models help the analyst to understand the functionality of the system; they are used to
communicate with customers

CpE Laws & Professional Practice Page 11 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

Process Models are a graphical representation of how a business system should operate. They
illustrate the processes/activities performed and how data move among them. One of the most
common techniques used today in process modeling is the use of data flow diagrams (DFD),
which mainly focuses on the performed processes/activities. This is contrast with data
modeling, which presents how the data created and used by processes are organized.

Levels of DFD
• Context Diagram – shows the entire system in context with its environment. All process models
have one context diagram.
• Level 0 DFD – shows all the major high-level processes of the system and how they are
interrelated. All process models have one and only one level 0 DFD.
• Level 1 DFD – shows only how the major high-level processes in the system interact.
• Level 2 DFD – shows that process 2.2 is decomposed into three processes (2.2.1, 2.2.2, and
2.2.3).

CpE Laws & Professional Practice Page 12 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

Data Models are a formal representation of data used and created by a business system. They
illustrate people, places, or things about which information is captured and how they are related
to each other. One of the most common techniques used today in data modeling is the use of
entity relationship diagrams (ERD), a graphic drawing technique that shows all the
information in a business system and how they are organized and related to each other.
Special Types of Entities
• Dependent Identity – child entity requires attributes from the parent entity to uniquely identify
an instance; its identifier consists of at least one attribute from the parent entity.
• Independent Entity – can exist without the help of another entity; has identifiers that were
created from its own attributes.
• Identify Relationships – exists in order to capture some information about the relationship
between two other entities.

Types of Modality and Cardinality

Example of a Database Schema

CpE Laws & Professional Practice Page 13 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

Steps in Building an ERD/Schema


1. Identify the Entities – the entities should represent the major categories of information
that you need to store in your system. If DFDs have been prepared, the easiest way to
start is with them: the data stores, the external entities, and the data flows; since they
indicate the kinds of information captured and flow through the system.
2. Add Attributes and Assign Identifiers – the information that describes each entity
becomes its attributes. It is likely that you identified a few attributes if you read the
chemical request system use cases and paid attention to the information flows on their
DFDs.
3. Identify Relationships – lines are drawn between entities that have relationships, each
relationship is labeled, and cardinality and modality is assigned. The easiest approach is
to begin with one entity and determine all the entities with which it shares relationships.
A data dictionary is where the analyst goes to define or look up information about the entities,
attributes, and relationships on the ERD. A metadata (data that describes a data) is anything that
describes an entity, attribute, or relationship.

System Architecture and User Interface Design


Architecture Design is an important component of the design phase that describes the system‘s
hardware, software, and network environment. It flows primarily from the nonfunctional
requirements and the deliverables include the architecture design and the hardware and software
specification.

CpE Laws & Professional Practice Page 14 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

Architectural Components are the software and hardware components combined in different
ways. Basic hardware components are the client computers (end-users‘ device), the servers
(multi-user computers that store software and data), and the network (connects computers).
System architecture is the conceptual model that defines the structure, behavior, and more views
of a system. An architecture description is a formal description and representation of a system,
organized in a way that supports reasoning about the system structures and behaviors.
4 Basic Software Functions
 Data Storage – database that stores an organization‘s records
 Data Access Logic – the processing required to access data, often meaning database
queries in Structured Query Language (SQL)
 Application Logic – the logic documented in the DFDs, use cases, and functional
requirements; may reside on the client, reside on the server, or be split between both.
Thick clients contain all or most of the application logic. Currently, thin clients are
popular because of lower overhead and easier maintenance.
 Presentation Logic – the display of information to the user and the acceptance of the
user‘s commands (the user interface)

Advantages of Client-Server Architecture


• Scalability – easy to increase/decrease the server storage and processing capabilities

CpE Laws & Professional Practice Page 15 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

• Supportability – can support many different types of clients and servers; Middleware is a
system software designed to translate between different vendors‘ software. It is installed on both
the client and server computers.
• Homogeneity – simple to clearly separate the presentation logic, the application logic, and the
data access logic and design each to be somewhat independent.
An n-tiered architecture distributes the work of the application (the middle tier) among
multiple layers of more specialized server computers. This is to separate out the processing that
occurs to better balance the load on the different servers.

Virtualization is the creation of a virtual device or resource, such as a server or storage device.
• Server virtualization – involves partitioning a physical server into smaller virtual servers.
• Storage virtualization – involves combining multiple network storage devices into what appears
to be single storage unit.
A storage area network (SAN) uses storage virtualization to create a high-speed subnetwork of
shared storage devices for easier and faster backup, archiving, and recovery tasks. Cloud
Computing is everything, from computing power to computing infrastructure, applications,
business processes to personal collaboration— can be delivered as a service wherever and
whenever needed.
The “cloud” is a set of hardware, networks, storage, services, and interfaces that combine to
deliver computing as a service. Cloud services include the delivery of software, infrastructure,
and storage over the Internet based on user demand.
 Public Clouds – services provided via Internet
 Private Clouds – services deployed via a hosted data center or a company intranet
 Hybrid Clouds – combine the power of both public and private clouds
Advantages of Cloud Computing
 Elasticity – makes the cloud scalable so that the resources allocated can be increased or
decreased based upon demand.

CpE Laws & Professional Practice Page 16 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

 Efficiency – cloud resources can be obtained in a straightforward fashion and can be


released if no longer required.
 Standardized APIs – communication among programs or data sources and linkages
between cloud services is easier
 Resources Billing – usage is measured and customers pay only for resources used
Steps to Create an Architecture Design
1. Refine the nonfunctional requirements into more detailed requirements.
 Operational Requirements – specify the operating environment(s) in which the system
must perform and how those may change over time
 Performance Requirements – focus on response time, capacity, and reliability
 Security Requirements – define the ability to protect the system from disruption and data
loss
 Cultural & Political Requirements – specific to the countries in which the system will be
used
2. Employ these requirements to help select the architecture to be used (server-based, client-
based, or client–server) and the software components to be placed on devices.
3. Use the nonfunctional requirements and the architecture design to develop the system
specification.
Implications of Non-Functional Requirements for
Architecture Design
• In the event that the technical environment
requirements do not require the choice of a
specific architecture, then the other
nonfunctional requirements become important.
• Even in cases when the business requirements
drive the architecture, it is still important to work
through and refine the remaining nonfunctional
requirements, because they are important in later
stages of the design and implementation phases.

CpE Laws & Professional Practice Page 17 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

The design phase is also the time to begin selecting and acquiring the hardware and software that
will be needed for the future system. The hardware and software specification is a document that
describes what hardware and software are needed to support the application.

Factors in Hardware and Software Selection

User Interface Design is the process of defining how the system will interact with external
entities (e.g., customers, suppliers, other systems), as well as how the users will interact with
the system and the nature of the inputs and outputs that the system accepts and produces.
3 Fundamental Parts of a User Interface:
 Navigation Mechanism – the way in which the user gives instructions to the system and
tells it what to do (e.g., buttons, menus).
 Input Mechanism – the way in which the system captures information (e.g., forms for
adding new customers).

CpE Laws & Professional Practice Page 18 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

 Output Mechanism – the way in which the system provides information to the user or to
other systems (e.g., reports, Web pages)

Processes of UI Design
1. Examine the DFDs and uses cases to develop the Use Scenarios and the Interface
Structure Diagram (ISD).
2. Design interface standards.
3. Create an interface design prototype for each of the system‘s individual interfaces.
4. Evaluate the individual interfaces

Use Scenarios are outline of the steps that the users perform to accomplish some part of their
work. Its goal is to describe the most commonly occurring scenarios for simpler and easier
interface design. Interface Structure Diagram (ISD) defines the basic components of the
interface and how they work together to provide functionality to users, as well as how they are
related and how the user navigates through. It is somewhat similar to a DFD in that it uses boxes
and lines to show structure, but has no commonly used rules or standards for their development.

CpE Laws & Professional Practice Page 19 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

Interface Standards are basic design elements that are common across the individual screens,
forms, and reports within the system. These include the following:
 Interface Metaphor – how the interface will work.
 Interface Templates – general appearance of all screens in the information system and the
paper-based forms and reports that are used.
 Interface Objects – fundamental building blocks of the system such as the entities and
data stores.
 Interface Actions – navigation and command language style and grammar
 Interface Icons – represents the interface objects and actions, and also their status (e.g.,
deleted, error)
Interface Design Prototype is a mock-up or a simulation of a computer screen, form, or report,
prepared for each interface in the system to show the users and the programmers how the system
will perform. Common types include:
 Storyboard – shows hand-drawn pictures of what the screens will look like and how they
will flow from one screen to another
 HTML Prototype – defines the general appearance of all screens in the built with the use
of Web pages created in HTML to create a series of Web pages that show the
fundamental parts of the system

CpE Laws & Professional Practice Page 20 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

 Language Prototype – built in the actual language or by the actual tool that will be used
to build the system

Interface Evaluation is intended to understand how to improve the interface design since
interface design is subjective. It is recommended to have as many people as possible evaluate the
interface—and the more users, the better. Common approaches include:
 Heuristic Evaluation – examines the interface by comparing it to a set of heuristics, or
principles, for interface design
 Walk-through Evaluation – a meeting conducted with the users who will ultimately have
to operate the system
 Interactive Evaluation – the users themselves actually work with the prototype in one-on
one sessions with members of the project team
 Formal Usability Testing – commonly done with commercial software products and
products developed by large organizations that will be widely used through the
organization

Navigation Design enables the user to enter commands to navigate through the system and
perform actions to enter and review its content, and also allow the system present messages to
the user about the success or failure of his/her actions. The goal is to make the system as simple
as possible to use. The interface can require the user to first choose the object and then the action

CpE Laws & Professional Practice Page 21 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

(an object–action order) or first choose the action and then the object (an action– object order).
Most Windows applications use an object–action grammar order.
Basic Principles of Navigation Design:
1. Prevent Mistakes
2. Simplify Recovery from Mistakes
3. Use Consistent Grammar Order
Types of Navigation Control
• Languages – the user enters commands
in a special language developed for the
computer system (e.g., UNIX and SQL
both use command languages)
• Menus – present the user with a list of
choices, each of which can be selected
• Direct Manipulation – the user enters
commands by working directly with
interface objects

CpE Laws & Professional Practice Page 22 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

What Makes a Good UI Message


 clear, concise, and complete
 grammatically correct and free of jargon and abbreviations
 not negative but humor-free
 requiring the user to acknowledge them rather than being displayed for a few seconds and
then disappearing
 generally in the form of a text, but sometimes standard icons are used

Input Design deals on input mechanisms, which facilitate the entry of data into the computer
system, whether highly structured data, such as order information (e.g., item numbers, quantities,
costs), or unstructured information (e.g., comments). It means designing the screens used to enter
the information, as well as any forms on which users write or type information.
Basic Input Design Principles:
1. Use online processing and batch processing appropriately.
2. Capture data at the source. (Source data automation use special hardware devices to
automatically capture data without requiring anyone to type it.)
3. Minimize keystrokes. (Use word predictions)

CpE Laws & Professional Practice Page 23 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

Input Validation or edit check is used to prevent invalid information from entering the system.
Computer systems should not accept data that fail any important validation check. It is up to the
system to identify invalid data and either make changes or notify someone to resolve the issue.

Output Design is aimed to present information to users so that they can understand it accurately
with the least effort, usually by understanding how reports will be used and designing them to
minimize information overload and bias. Basic Output Design Principles: understand report
usage, manage information load, and minimize bias.

CpE Laws & Professional Practice Page 24 of 25


Engr. Joel D. Manacmul
Bataan Heroes College

“Design is not just what it looks like and feels like. Design is how it works” – Steve Jobs

CpE Laws & Professional Practice Page 25 of 25


Engr. Joel D. Manacmul

You might also like