UC5III Design Programming Logic
UC5III Design Programming Logic
Course / Module Code: EIS DBA3 M06 0517 Program: (Reg/Ext) Regular
This module defines the competency required to describe the various processes in a program to ensure that
there is understanding of user and design requirements.
At the end of the course / Module, the trainee will able to:
I.
1.
2.
II
1.
2.
References:
1. www.google.com
2.
The circle is for connecting parts of the flowchart to other parts. This is especially useful
if the flowchart covers more than one page
Pseudo code
Flow Chart Start
Find average_temperature
Prompt operator for max_temp, min_temp
Get max_temp, min_temp
Avg_temp= (max_Temp + min_temp)/2
Output avg_temp to the screen
END Get max_temp,
min_temp
Calculate Average
Temprature
Print Average
Temprature.
End
1.1.4 DFD’s
Data Flow Diagram (DFD)
The Data Flow Diagram (DFD) is a graphical representation of the flow of data through an
information system.
A structured analysis technique that employs a set of visual representations of the data that moves
through the organization, the paths through which the data moves, and the processes that produce,
use, and transform data. It enables you to represent the processes in your information system from
Designing Program Logic Page | 7
the viewpoint of data. The DFD lets you visualize how the system operates, what the system
accomplishes and how it will be implemented, when it is refined with further specification.
Data flow diagrams are used by systems analysts to design information-processing systems but also
as a way to model whole organizations.
Why Data Flow Diagrams?
• Can diagram the organization or the system
• Can diagram the current or proposed situation
• Can facilitate analysis or design
• Provides a good bridge from analysis to design
• Facilitates communication with the user at all stages
Types of DFDs
• Current - how data flows now
• Proposed - how we‟d like it to flow
• Logical - the “essence” of a process (i.e. implementation-independent and describe the
system, rather than how activities are accomplished.)
• Physical - the implementation of a process (i.e. are implementation-dependent and describe
the actual entities (devices, department, people, etc.) involved in the current system.)
• Partitioned physical - system architecture or high-level design
Levels of Details
Context Diagram- Shows just the inputs and outputs of the system
Level 0 Diagram- Decomposes the process into the major subprocesses and identifies what data
flows between them
1.0
Grade Detail Produce Grade Report
Grade
Report
Work or actions performed on data (inside the system)
Labels should be verb phrases
Receives input data and produces output
Rule 1: Process
Can have more than one outgoing data flow or more than one incoming data flow
3.0
Hours Worked Calculated Gross Pay
Pay Rate Gross
Pay
Data Store
D1 Students
Customer Payment
Daily Payment
CUSTOMER Invoice
Verify
Order
External entity that is origin or destination of data (outside the system)
Labels should be noun phrases
Source –Entity that supplies data to the system
Sink –Entity that receives data from the system
Level 0 Diagram
• Process is “exploded”
• Sources, sinks, and data flows repeated from context diagram
• Process broken down into sub processes, numbered sequentially
• Lower-level data flows and data stores added
Entities in data structure diagrams are presented in the form of rectangles or rounded rectangles, and
connections between them in the form of arrows. The description of an entity is usually placed
inside the rectangle, which denotes the entity. The text description of the entity requirements
connecting entities is placed near the line which denotes the connection between entities. The
description of connection types between entities (one-to-one, one-to-many, etc.) can be different in
different notations and differs with the arrow type on the line of connection between entities. The
most famous are notations of DeMarco, Jackson and Yourdon.
The difference of the data structure diagram from the “entity- relationship” diagram is that DSD
more completely defines connections and relations between elements of entities whereas ERD
defines connections between entities.
1.1.8 Prototyping
What is Prototype model- advantages, disadvantages and when to use it?
This prototype is developed based on the currently known requirements. By using this prototype, the
client can get an “actual feel” of the system, since the interactions with prototype can enable the
client to better understand the requirements of the desired system. Prototyping is an attractive idea
for complicated and large systems for which there is no manual process or existing system to help
determining the requirements. The prototypes are usually not complete systems and many of the
details are not built in the prototype. The goal is to provide a system with overall functionality.
Many different definitions of CASE tools exist, below are just a few of those:
Galin - CASE tools are computerized software development tools that support the developer when
performing one or more phases of the software life cycle and/or support software maintenance.
Wikipedia - The scientific application of a set of tools and methods to a piece of software which
results in high-quality, defect free and maintainable software products.
Modularity:
How do you solve a big/complex problem?
Divide it into small tasks and solve each task. Then combine these solutions.
Output
Max value is : 200
Directions: Answer all the questions listed below. If you have some clarifications, feel free to ask
your trainer (2pts each).
The purpose of a scope and limitations statement is to provide an outline of what your project
will address and what it won’t address. What you turn in will include the following:
a description of the project (what technology you are addressing and the rationale for choosing
that technology),
an explanation of what kind of data you will collect, the methods you will use (interviews,
library research, observation, etc.), and how much of each kind of data you will collect,
an explanation of how you are approaching the challenge of making something „better‟ (making
it less expensive, easier to use, available to a more diverse population, more environmentally
friendly, etc.),
A proposal about how you will test your initial design suggestions. Remember the design
guidelines provided during Unit 1, and address these as you outline your approach, and
A timeline with major tasks to be accomplished for the project and which team member will
take a leadership role and responsibility for the task.
While the actual write-up you hand in may be as short as one page, I expect a significant level of
detail in your descriptions of your approach, and I also expect that the paper will reflect a
considerable amount of thought and the contributions of each group member. Keep in mind that my
expectation is that three or four people will be contributing content to this statement, and the work
should reflect that level of collective effort.
1. INTRODUCTION 2
11. Purpose 2
12. Scope 2
13. Overview 2
14. ReferencMaterial 2
15. DefinitionsandAcronyms 2
2. SYSTEMOVERVIEW 2
3. SYSTEMARCHITECTURE 2
31. ArchitecturalDesign 2
32. DecompositionDescription 3
33. DesignRationale 3
4. DATADESIGN 3
41. DataDescripton 3
42. DataDictionary 3
5. COMPONENTDESIGN 3
6. HUMANINTERFACEDESIGN 4
61. OverviewofUserInterface 4
62. ScreenImages 4
63. ScreenObjectsandActions 4
7. REQUIREMENTSMATRIX 4
8. APPENDICES 4
1. INTRODUCTION
1.2 Scope
Provide a description and scope of the software and explain the goals, objectives and benefits of
your project. This will provide the basis for the brief description of your product.
1.3 Overview
Provide an overview of this document and its organization.
2. SYSTEM OVERVIEW
Give a general description of the functionality, context and design of your project. Provide any
background information if necessary.
3. SYSTEM ARCHITECTURE
3.1 Architectural Design
Develop a modular program structure and explain the relationships between the modules to achieve
the complete functionality of the system. This is a high level overview of how responsibilities of the
system were partitioned and then assigned to subsystems. Identify each high level subsystem and
the roles or responsibilities assigned to it. Describe how these subsystems collaborate with each
other in order to achieve the desired functionality. Don‟t go into too much detail about the
individual subsystems. The main purpose is to gain a general understanding of how and why the
system was decomposed, and how the individual parts work together. Provide a diagram showing
the major subsystems and data repositories and their interconnections. Describe the diagram if
required.
4. DATA DESIGN
4.1 Data Description
Explain how the information domain of your system is transformed into data structures. Describe
how the major data or system entities are stored, processed and organized. List any databases or data
storage items.
5. COMPONENT DESIGN
In this section, we take a closer look at what each component does in a more systematic way. If you
provide a function listed in 3.2 in procedural description language (PDL) or pseudocode. If you
gave an
OO description, summarize each object member function for all the objects listed in 3.2 in PDL or
pseudocode. Describe any local data when necessary.
7. REQUIREMENTS MATRIX
Provide a cross reference that traces components and data structures to the requirements in your
SRS document. Use a tabular format to show which system components satisfy each of the
functional requirements from the SRS. Refer to the functional requirements by the numbers/codes
that you gave them in the SRS.
8. APPENDICES
This section is optional.
Appendices may be included, either directly or by reference, to provide supporting details that could
aid in the understanding of the Software Design Document.
Software validation is a part of the design validation for a finished device, but is not separately
defined in the Quality System regulation. For purposes of this guidance, FDA considers software
validation to be "confirmation by examination and provision of objective evidence that software
specifications conform to user needs and intended uses, and that the particular requirements
implemented through software can be consistently fulfilled." In practice, software validation
activities may occur both during, as well as at the end of the software development life cycle to
ensure that all requirements have been fulfilled. Since software is usually part of a larger hardware
system, the validation of software typically include evidences that all software requirements have
been implemented correctly and completely and are traceable to system requirements. A conclusion
that software is validated is highly dependent upon comprehensive software testing, inspections,
analyses, and other verification tasks performed at each stage of the software development life
cycle. Testing of device software functionality in a simulated use environment, and user site testing
are typically included as components of an overall design validation program for a software
automated device.
Software verification and validation are difficult because a developer cannot test forever, and it is
hard to know how much evidence is enough. In large measure, software validation is a matter of
developing a "level of confidence" that the device meets all requirements and user expectations for
the software automated functions and features of the device. Measures such as defects found in
specifications documents, estimates of defects remaining, testing coverage, and other techniques are
all used to develop an acceptable level of confidence before shipping the product. The level of
confidence, and therefore the level of software validation, verification, and testing effort needed, will
vary depending upon the safety risk (hazard) posed by the automated functions of the device.
2. Ask current and past customers what differentiates your service brand from others. Another
approach is to ask a customer what thought or image first comes to mind when they consider your
company. Then the first thought or image when considering a competitor‟s brand. There is no right or
wrong answers. Take each answer at face value and recognize that the stated differences will be very
instructive in terms of how your brand is being perceived by your target audience. Any
misalignments uncovered with regard to your branding message and audience perception can then be
readily addressed.
3. Who are your repeat customers? Look for areas of commonality among your repeat customers.
This is an important clue to how your brand is perceived in the marketplace. For example, do your
customers seem to fall within a certain age or demographic group? Contact these repeat patrons to
understand what drives their customer loyalty.
4. Is your business obtaining referrals? If your brand is perceived accurately by customers, then
word-of-mouth is a great source of new business. What customers say about your company‟s brand
speaks louder than any promotional message.
5. Contact customers who chose a competitor. Assume a friendly tone and stress that your call is
not sales-oriented. You simply wish to follow up on why they didn‟t choose your firm. Again, a
consultant performing this survey may obtain more detailed information during a conversation with a
company employee.
6. Is your brand an integral part of your core values? Both Starbucks and Union Square align
their service branding strategy with company values. Company core values are just that: they are the
rock upon which your firm is built and, as such, unchanging. Building your service brand on core
values ensures message consistency and facilitates the development strong and attractive of a brand
image in the minds of your audience.
Spending time understanding the perception of your service brand is a highly valuable exercise. It
ensures that your firm is reaching its intended audience and aligning customer expectations with
service delivery.
Continually seeking feedback through a variety of sources can help you identify trends, gain
competitive advantages, and cut costs. Failure to seek feedback can cost you customers. And
remember, you can't make a profit if you're not satisfying your customers