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

You work in a multinational software development firm in Kabuku.

You have a project


to commence in three weeks time for developing an E-commerce platform for the
organization.
Required
a) Develop a work breakdown structure you will need for your project team

1. Gathering Requirements
2. Establishing Design
3. Selecting Technical Framework
4. Implementing Technical Framework
5. Creating Content
6. Loading Content
7. Testing Site
b) Describe any five test plans you will adopt before the project implementation

Navigation
Interactive elements
Contact form
User registration
Browser compatibility
c) Explain any types of documentation you will adopt for the project
User documentation- intended for end users and aims to help them use software properly
Technical documentation- It describes codes but it also addresses algorithms, interfaces and other
technical aspects of software development and application
Architecture documentation- analyses software architectures or communicates the results of the
latter (work product)
Requirements documentation- explains what a software does and shall be able to do

d) How do you think the system above may benefit the organization?

Low Operational Costs


Increased Customer Base
Speed and Convenience for Customers
Boosting Brand Awareness
Enable scalability

e) Discuss the two requirements analysis necessary before the development


process can commence

Technical specifications- defines a set of requirements that an ecommerce platform must


meet or exceed.
User requirements- specifies what the user expects the software to be able to do.
f) As a software developer, list four reasons why it is important to incorporate the use of
flowcharts in the design stage
To create process documentation
For workflow management
To enable faster, more efficient coding with fewer errors and hiccups along the way
Regulatory and Quality Management Requirements
To minimize the problem solving time
g) Describe the following:i) Interpreters- Computer language processor that translates a program line-by-line
(statement-by-statement) and carries out the specified actions in sequence.
ii) compilers- computer program (or set of programs) that transforms source code
written in a programming language (the source language) into another computer
language (the target language, often having a binary form known as object code).
iii) Linker- computer program that takes one or more object files generated by a
compiler and combines them into a single executable file, library file, or another
object file.
A program used with a compiler or assembler to provide links to the libraries
needed for an executable program.
iv) Debugger- A debugger is a computer program used by programmers to test and
debug a target program. Debuggers may use instruction-set simulators, rather than
running a program directly on the processor to achieve a higher level of control over
its execution.

h) Give two examples of Loops and show the syntax of how to use them
For loop- allows you to repeatedly run some code until an expression you specify
returns false.
for( expression1; expression2; expression3)
{
Single statement
or
Block of statements;
}

While loop- repeats some code until its test condition (another expression) returns
false:
while ( expression )
{
Single statement
or
Block of statements;
}

Do.while loop- it is just like a while loop except that the test condition is checked
at the end of the loop rather than the start.
do
{
Single statement
or
Block of statements;
}while(expression);

g) To develop programs that have few as few errors as possible, many programmers
plan their programs using a sequence of steps, referred to as the program
development cycle. Describe the step-by-step process that a programmer needs to
follow to be able to use their time efficiently and to design error-free programs that
produce the desired output.

1. Analyze Define the problem.


You must have a clear idea of what data (or input) is given and the relationship between
the input and the desired output.
2. Design Plan the solution to the problem.
Find a logical sequence of precise steps that solve the problem (aka the algorithm). The
logical plan may include flowcharts, pseudocode, and top-down charts.
3. Design the interface Select objects (text boxes, buttons, etc.).
Determine how to obtain input and how the output will be displayed. Objects are created
to receive input and display output. Appropriate menus, buttons, etc. are created to allow
user to control the program.
4. Code Translate algorithm into a programming language.
During this stage that program is written.

5. Test and debug Locate and remove errors in program.


Testing is the process for finding errors. Debugging is the process for correcting errors.
6. Complete the documentation Organize all materials that describes the program.
Documentation is necessary to allow another programmer or non-programmer to
understand the program. Internal documentation, known as comments, are created to
assist a programmer. An instruction manual is created for the non-programmer.
Documentation should be done during the coding stage.
Question four
a) Discuss term ethics and explain four software engineering ethics observed
Ethics are moral principles that govern a person's or group's behavior.
Software engineer should:-

Accept full responsibility for their own work.


Moderate the interests of the soft-ware engineer, the employer, the client, and the users with
the public good.
Approve software only if they have a well-founded belief that it is safe, meets specifications,
passes appropriate tests, and does not diminish quality of life, diminish privacy, or harm the
environment.
Disclose to appropriate persons or authorities any actual or potential danger to the user, the
public, or the environment, that they reasonably believe to be associated with software or
related documents.
Cooperate in efforts to address matters of grave public concern caused by software, its
installation, maintenance, support, or documentation.
Be fair and avoid deception in all statements, particularly public ones, concerning software or
related documents, methods, and tools.
Consider issues of physical disabilities, allocation of resources, economic disadvantage, and
other factors that can diminish access to the benefits of software.
Be encouraged to volunteer professional skills to good causes and to contribute to public
education concerning the discipline.
b) Five user interface design principles

The structure principle: Design should organize the user interface purposefully, in
meaningful and useful ways based on clear, consistent models that are apparent and
recognizable to users, putting related things together and separating unrelated things,
differentiating dissimilar things and making similar things resemble one another. The
structure principle is concerned with overall user interface architecture.

The simplicity principle: The design should make simple, common tasks easy,
communicating clearly and simply in the user's own language, and providing good
shortcuts that are meaningfully related to longer procedures.

The visibility principle: The design should make all needed options and materials for a
given task visible without distracting the user with extraneous or redundant information.
Good designs don't overwhelm users with alternatives or confuse with unneeded
information.

The feedback principle: The design should keep users informed of actions or
interpretations, changes of state or condition, and errors or exceptions that are relevant
and of interest to the user through clear, concise, and unambiguous language familiar to
users.

The tolerance principle: The design should be flexible and tolerant, reducing the cost of
mistakes and misuse by allowing undoing and redoing, while also preventing errors
wherever possible by tolerating varied inputs and sequences and by interpreting all
reasonable actions.

The reuse principle: The design should reuse internal and external components and
behaviors, maintaining consistency with purpose rather than merely arbitrary consistency,
thus reducing the need for users to rethink and remember.

c) Explain the term prototype and highlight the stages involved in prototyping
A prototype is a sample, model, or release of a product built to test a concept or
process or to act as a thing to be replicated or learned from.
Prototyping stages
Basic Requirement Identification:
Developing the initial Prototype:
Review of the Prototype
Revise and enhance the Prototype:
d) Mention four important features of algorithms

Precision the steps are precisely stated (defined).

Uniqueness results of each step are uniquely defined and only depend on the input
and the result of the preceding steps.

Finiteness the algorithm stops after a finite number of instructions are executed.

Input the algorithm receives input.

Output the algorithm produces output.

Generality the algorithm applies to a set of inputs.

e) Mention four characteristics of a good program

Effective and efficient code


User friendly
Self-documenting code
Reliable
Portable
Flexibility
Generality

f) An if flow chart

g) Differentiate between the term Syntax and Semantics


Definition

Syntax: A sub-discipline of linguistic that studies the structure of a sentence.


Semantics: A sub-discipline of linguistic that studies the meaning of words and sentences.
Areas

Syntax: Word order, Parts of Speech, Types of sentences, etc. are studied in Syntax.

Semantics: Elements like ambiguity, the relationship between words and sentences based on
meaning are studied in language.
Meaningful sentences

Syntax: A syntactically correct sentence is not necessarily a meaningful sentence.


Semantics: A meaningful sentence has to be syntactically correct.
h) Discuss any three reasons of testing and debugging a program during development

To demonstrate that errors are not present

To show that intended functions are present

To gain confidence in the software's ability to do what it is required to do

Explain the functional design process

Flowchart for the algorithm in c above