18
JSIIT Yusif Suleiman2308-0703-0223 IADNCS 1 Software Engineering (C2002) Computer Institute Kazaure, Jigawa State, Nigeria Software Engineering Assignment Documentation ON Informatics Multimedia kiosk System (IMK) By Yusif Suleiman 2308-0703-0223 Supervisor/lecturer: Mr. Aminu Maigari Date: 16 th July, 2012

Software Engineering Assignment

Embed Size (px)

DESCRIPTION

Software Engineering Assignment Documentation

Citation preview

Page 1: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 1 Software Engineering (C2002)

Computer Institute Kazaure, Jigawa State, Nigeria

Software Engineering Assignment Documentation

ON

Informatics Multimedia kiosk System (IMK)

By

Yusif Suleiman

2308-0703-0223

Supervisor/lecturer: Mr. Aminu Maigari

Date: 16th July, 2012

Page 2: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 2 Software Engineering (C2002)

Table of Contents CONTENT PAGES Cover …………………………………………………………………………………..1

Table of Contents………………………….……………………………………….......2

Question 1 ……………………………………………………………………………...3

Introduction…………………...………………….……….…………………….….3 Prototyping ………………………………………………………………………...3 Advantage of Prototype……………………………………………………………4 Disadvantage of Prototype…………………………………………………………5 Objective of Prototype……………………………………………………………..6 Prototyping Design Modeling……………………………………………………...7

Description of Prototype Model in respect to IMK……..…………………………8

Requirement Gathering ………………………………………………………..8 Quick Design………………………….……………………………………….8 Build Prototype……………………..………………………………………….8 Evaluation and Refine Requirement……………………………………………9 Engineering Product……………………………………………………………9

Justification of Modelling………………………………………………………..11

Question 2 …………………………………………………………………………...13 Dependability Measures…………………………………………….……………13

Availability………………………………………………..………………….13 Maintainability ……………………………………………………………....14 Reliability …………………………………………….………………….….14 Survivability………………………………………………………………….15

Importance of Dependability Measures………………………….………………16 Availability………………………………………………..………………….16 Maintainability ………………………………………………………..……..17 Reliability …………………………………………….……………..……….17 Survivability…………………………………………………………….……17

References…………………………………………………………………………...18

Page 3: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 3 Software Engineering (C2002)

QUESTION 1.

Select a life-cycle model that you would follow during the development of the

Informatics Multimedia Kiosk system. Give an outline description of this life-cycle

model and justify your choice of model.

ANSWER:

INTRODUCTION

Informatics Academy Pte Ltd is located at No. 45 Middle Road need to install a

Multimedia Kiosk, which should cater for the need of multi-language facility, so that it

enable and provide easy access to information regarding the campus as well as courses.

The facility will be in the City School Campus with Graphical User Interface (GUI) by

Touch Screen, since it will give access to many visitors / students from different area,

with variety of ages limit, then Prototyping Model will best be the Life Cycle Model to

use.

PROTOTYPING

In many fields, there is great uncertainty as to whether a new design will actually do what

is desired. Often, new designs are said to have unexpected problems. A prototype is

often used as part of the system design process to allow engineers and designers the

ability to explore design alternatives, another important use of prototyping model is that

it helps critically examine the technical issues associated with the system development. It

also helps in enhancing better user relationship to test theories and confirm performance

prior to start installing the new system for example, Schools building prototypes of POS

Page 4: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 4 Software Engineering (C2002)

to demonstrate self services features. A prototype is an early sample or model built to

test a concept, process or to act as a thing to be replicated or learned from. Prototyping is

the rapid development of a system. Regardless of the manner in which it is applied, the

prototyping paradigm helps customers and developers understand the requirements for

the system. Prototyping is of various uses, some prototypes are used to confirm and

verify consumer interest in a proposed design whereas other prototypes will attempt to

verify the performance or suitability of a specific design approach.

The prototyping paradigm begins with Requirement Gathering and then Quick Design,

Build Prototype, Evaluate & Refine Requirements and Engineer Product. These are

the series of steps that enables the developer/user to create a model of software that

must be built.

ADVANTAGES AND DISADVANTAGES

ADVANTAGES OF PROTOTYPING

May provide the proof of concept necessary to attract funding

Early visibility of the prototype gives users an idea of what the final system looks

like

Encourages active participation among users and producer

Enables a higher output for user

Cost effective (Development costs reduced).

Increases system development speed

Page 5: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 5 Software Engineering (C2002)

Assists to identify any problems with the efficacy of earlier design, requirements

analysis and coding activities

Helps to refine the potential risks associated with the delivery of the system being

developed

Various aspects can be tested and quicker feedback can be got from the user

User interaction available during development cycle of prototype

DISADVANTAGES OF PROTOTYPING

Producer might produce a system inadequate for overall organization needs

User can get too involved whereas the program cannot be to a high standard

Structure of system can be damaged since many changes could be made

Producer might get too attached to it (might cause legal involvement)

Page 6: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 6 Software Engineering (C2002)

OBJECTIVE OF PROTOTYPE

Misunderstandings between software users and developers are exposed

A prototyping is basically planned quickly and modeling (in the form of quick

design).that focus on a representation of those aspects of the software that will

be visible to the customer and end users. e.g. (human interface layout or

output display from the users).

Missing services may be detected and confusing services may be identified

A working system is available early in the process

The prototype may serve as a basis for deriving a system specification

The interaction enables the developer understanding what need to be done so

that even though they find it difficult to use

The system can support user training and system testing

Prototyping serves as a mechanism for identifying software requirement

The prototyping can also serves as the first system and developers set to build

something immediately. Although prototyping can be problematic the

identification is to define the rules of the game at the beginning (i.e. customers

and the developers must agree).

Prototyping can be used as a standalone process model.

Page 7: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 7 Software Engineering (C2002)

THE PROTOTYPING DESIGN MODEL

Page 8: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 8 Software Engineering (C2002)

DESCRIPTION OF PROTOTYPE MODEL IN RESPECT TO

INFORMATICS MULTIMEDIA KIOSK SYSTEM

REQUIREMENT GATHERING

This approach begins with communication. The users/visitors and software engineers

meet and define the overall objectives of the system, by identifying whatever requirement

are known, outline areas where further definition is mandatory.

QUICK DESIGN

Quick implementation of these aspects of the system that will be visible to the

customer/user for example, input and output formats.

BUILD PROTOTYPE

When a working prototype is build by the developer attempt to make use of existing

programs e.g. report generators, window manager’s that leads to the construction of the

prototype. This build prototype it happens in a real software development that the

customer/user will have more detailed about the Informatics Multimedia Kiosk system

through the development of the prototype that can be achieved, if the developer could not

be able to developed the software that will recognize foreign language for the visitors of

the Campus. This will make a visitors going to Campus Information Center or looking

for interpreter within the city.

Page 9: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 9 Software Engineering (C2002)

But if only the software has been build properly for the Informatics Multimedia Kiosk

by the developer, and the developer will determine the size of the software base on the

expected user, and allow the School Advertisement, Automatics Musical on the screen

to attract users for entertainment within different aged limit just as we said for the

scenario that the IMK will attract visitors/students full time and part time in all ages.

EVALUTION AND REFINE REQUIREMENTS

The prototype is deployed and evaluated by the customer/end user. Feedback is used to

refine the Informatics Multimedia Kiosk system requirements for the software,

iteration occurs as the prototype does not satisfy the need of the end users, while at the

same time enabling the developer to get better understanding of what needs to be done

for the organization to continue existing. Just as how the software is been developed and

satisfy the needs of the customers by enabling them to understand the best of the

Informatics Multimedia Kiosk system requirement for the developer to find it very easy

to evaluate the software and generally the refine requirement will determine if the

software size will exceed the limit for the accommodation for them to be occupied or not,

then the system will give an alert for the user on how to refine the requirement for the

School also the system will check the number of people or users that can be hold up.

ENGINEER PRODUCT

Prototype can serve as the first system, with a confirmed set of requirements based on the

prototype, users get a feel for the actual system and developers get to build or developed

the software immediately, also developed the database before starting the software design

Page 10: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 10 Software Engineering (C2002)

for the Informatics Multimedia Kiosk. And it is actual a set of requirement of the

School Campus for the software development product that can be applied to any of the

software engineering product. (i.e.) the type of the software, the size of the software, and

also the key for the software which may enable user to see the different courses and other

related information easily etc. This process can also be best applied to the School System,

so that the Informatics Multimedia Kiosk system can improve their activities and

services for the next planning. However the engineer supposes to be checking for errors

for the software in order not to be interrupted while visitors are busy viewing the record.

Page 11: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 11 Software Engineering (C2002)

JUSTIFICATION OF THE MODEL

The school has been in existences even before developing the IMK system and the

requirement that are not well defined. It’s only that certain services areas need

improvement or that existing procedures must be changed, or they may need better

program for managing certain activities. Because the approach begin with

communication, but they are not sure what that information is all about the user

specification might be too blurred to even begin formulating a design process. The

prototyping is actually a test model; the design evolves through the process of users

activities by allowing different ages group and multiple languages. This is necessary for

allowing visitors from around the world, although the prototype is a working system; it is

designed to be easily changed. Information gain through its use is applied to a modified

design that may again be used as prototype to reveal still times as necessary to reveal

essential design for the IMK requirement in general, the software engineer find prototype

to be most useful under the following condition:

No system with the uniqueness of the one proposed for the IMK system has yet

been constructed by the developer.

The essential features of the system are only partially known other is not

identifiable even through careful of the IMK system that can be held by the

software requirement.

The experience in using the system for the IMK system will significantly add to

the list of the requirement the system should meet more so than for any

development approach.

Page 12: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 12 Software Engineering (C2002)

May provide the proof of concept necessary to attract more students to register

with the school.

Encourages active participation among users of the IMK system.

Various aspects can be tested in the IMK system and quicker feedback can be got

from our user.

They system user will participate in the development process for the Kiosk

system software.

Page 13: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 13 Software Engineering (C2002)

QUESTION 2

Describe the dependability measure attributes which could be applied to the Informatics

Multimedia Kiosk system. For each of the dependability measures you describe,

evaluate its importance in contributing to the overall software quality.

ANSWER:

DEPENDABILITY MEASURE ON IMK

All software needs to be sufficiently dependable to accomplish the functions correctly in

dynamic distributed for which it was built. In many heavily regulated industries

(especially the safety critical ones) there are stringent requirement to demonstrate that

software is fit for its purpose and that it can reach certain dependability targets within a

give level of confidence, before the software is approved for integration into the wider

system. But in all environments it is necessary to ensure appropriate confidence that the

software will be dependable enough to be economically viable.

Dependability can be defined as the probability that a system will be able to operate

when needed. There are many possible measures of dependability. Portion of most

important are points wise:

Availability, Maintainability, Reliability, and Survivability

AVAILABILITY

Availability is an important attribute for the Informatics Multimedia Kiosk system.

Basically the organization is suppose to have availability requirement for the system so

Page 14: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 14 Software Engineering (C2002)

that the software can easily be developed for the Kiosk system, and the hardware’s that

can be used for the system they can be available so that a visitors/users can interact

easily, there more need for visitors in the Campus reception for inquiry.

MAINTAINABILITY

As system are used, new requirement surface for the Informatics Multimedia Kiosk

system are secured. It is important to maintain the usefulness of a system software and

the peripheral part of the system like keyboard, touch screen option, graphical display

and so on so that they can be maintain easily for the visitors in the Informatics

Multimedia Kiosk Campus. However Maintainable software is software that can be

adapted economically to cope with the new requirements and where there is a low

probability that makes changes will introduce new error into the system software in order

not to have any problem with the users’ information by the organization. Maintainability

will make intruders not to have access with the other confidential record in the school

through this new service; will not endure the software developer if the requirement may

need change.

RELIABILITY

Reliability is a special aspect in software engineering field that deals with study,

evaluation and life cycle management, that include all parts of the system, including

hardware, software, supporting infrastructure (critical external interfaces) operators and

procedures. System/software reliability is the ability of a system or component to perform

its required function under stated conditions for a specified period of time.

System reliability may also be define as several ways:

Page 15: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 15 Software Engineering (C2002)

The resistance to failure of device or system

The capacity of a device or system to perform as designed.

The probability that a function unit will perform it required function for a

specified interval under stated conditions

SURVIVABILITY

Survivability is also one of the very important attribute for the Informatics Multimedia

Kiosk system. Based system software is survivability, which is closely related to security

and availability. Survivability is the ability of system software to continue to deliver

service whilst it is under attack and potentially, Based on the scenario it also means the

system (Kiosk) will give access to under-age visitors for the Informatics school whether

on existing courses or future, while part of the system software is restricted for the

students (disabled). Work on survivability focuses on identifying key system components

and ensuring that the user of Informatics Multimedia Kiosk can deliver a minimal

service. Three strategies are used to enhance survivability namely, resistance to attack,

attack recognition and recovery from the damage caused by the attacker. This

survivability will make the Informatics Multimedia Kiosk last longer.

Page 16: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 16 Software Engineering (C2002)

IMPORTANT OF DEPENDABILITY MEASURES TO OVERALL

SOFTWARE QUALITY

It’s very important to know the activities that can define software quality at a number of

different levels of abstraction before software quality can be initiated, for every

characteristic, there are a set of questions which are relevant to that characteristic. Some

type of scoring formula could be developed based on the answers to these questions, from

which a measurement of the characteristic can be obtained. Once software quality is well

understood, then a software team must identify a set of activities that would match with

the dependability measure for the Informatics Multimedia Kiosk system. Let’s look at

the following process:

AVAILABILITY

This simply means the software developer must have the quality available requirement

while developing the software for the Informatics Multimedia Kiosk system. If any of

the requirement is missing during the software development that means the software

component are not going to be completed or the software component will not be

qualitative if the software developer has to develop the software then he has to find the

available quality requirement while developing the software for the Informatics

Multimedia Kiosk system, just as we said visitors from around the world may come to

center for information without any interpreter. Without developing quality software the

student / visitors will not easily get firsthand information.

Page 17: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 17 Software Engineering (C2002)

MAINTAINABILITY

The Informatics Multimedia Kiosk system software is developed in such a way that if the

management need expansion: does the memory capacity been reserved for future expansion?

Is the design cohesive—i.e., does each module have distinct, recognizable functionality?

Does the software allow for a change in data structures (object-oriented designs are more

likely to allow for this)? If the code is procedure-based (rather than object-oriented), is a

change likely to require restructuring the main program, or just a module? Based on answer

to this question even if any problem arises this statement simply means the software has been

develop correctly it also undergoes software quality, mean the cost of maintenance of the

system will not be expensive.

RELIABILITY

Are loop indexes range-tested? Is input data checked for range errors? Is divide-by-zero

avoided? Is exception handling provided? It is the probability that the software performs its

intended functions correctly in a specified period of time under stated operation conditions,

but there could also be a problem with the requirement document...

SURVIVABILITY

This dependability measure undergoes so many activities that performed on the software

quality, basically the survivability measure means if the software is not design perfectly then

the provided information and record of the Informatics Multimedia Kiosk cannot be

retrieve well. Therefore if the software can be developed well then the visitors/students can

get actual requested information as well as qualitative entertainment. Without the

survivability of the software the system will not search forward or backward if there is space

earlier, so survivability is very important consideration to the software quality.

Page 18: Software Engineering Assignment

JSIIT Yusif Suleiman2308-0703-0223

IADNCS 18 Software Engineering (C2002)

REFERENCE

1. SoHar 2012, System Avalability and Prediction. “Availability Modelling

Using Markov Modeling”. www.sohar.com/software/meadep

2. Informatics holding, software engineering module (C2002), Global

Business Unit, 2006. Page 1-6 to 1-11.

3. Lan Sommerville, Software Engineering: Pearson 9th Edition 2011. Page

82 to 401.

4. Wikipedia 2012, the Free Encyclopedia on Software Engineering.

www.en.wikipedia.org/wiki/software_engineering

5. George T. Heineman and William T. Councill, Component-Based

Software Engineering, Addison-Wesley; 1st edition 1991.

6. William Stallings, Computer Organization and Architecture: Designing

for Performance, Prentice Hall; 8 edition (April 13, 2009). Page

7. Roger S. Pressman, Software Engineering: A Practitioner's Approach,

McGraw-Hill Science Engineering Math; 6 edition (April 2004) page 712

8. David A. Gustafson, Schaum's Outline of Software Engineering, McGraw-

Hill; 1 edition (June 2002). Page 101.