Author Archives: Sunny Roy

Lab Evaluation 4 – Sunny

Online Book Store

3) USABILITY:

Usability testing is a technique used in user center interaction design to evaluate a product by testing it on users.

Test case

Registering  information of a customer to the database (ID, password, name, address, phone number, email etc)

Test procedure:

  1. Move to the webpage for customer.
  2. Check whether the menu for registration exists or not.
  3. Check whether the menu for registration is linked correctly.
  4. Check whether the customer be able to register successfully.

Test case

Searching books by author name,title

 Test procedure:

  1. Check whether the menu for simple search exists or not.
  1. Check whether the customer be able to search books by title successfully.
  2. Check whether the customer be able to search books by author successfully.

Test case

Ordering a book by registered customer.

Test procedure:

  1. Check whether the menu for ordering a book exists or not.
  2. Check whether the menu for ordering a book is linked correctly.
  3. Check whether the administrator be able to order a book successfully.

MAINTAINABILITY

It is the characteristics of design which determines the probability that a failed system can be restored to its normal operable state within a given timeframe.

Test Case

Restoring system to its last best known configuration.

Test procedure:

  1. Check whether there is back up database.
  2. As soon as system fails adminstator should be informed.
  3. No data should be lost.

Compatibility

It is a non-functional software testing. It deals with whether developed application runs on all avaialble platform or not.

Test Case

Checking application on different platform (hardware,o.s,browser,network)

Test procedure

  • Hardware : checks software to be compatible with different hardware configurations .
  • Operating Systems: It checks your software to be compatible with different Operating Systems like Windows , Unix , Mac OS etc.
  • Software: checks developed software to be compatible with other software’s.
  • Network: Evaluation of performance of system In network with varying parameters such as Bandwidth, Operating speed, Capacity.  Also checks application  in different networks with all parameters mentioned.
  • Browser: checks compatibility of  website with different browsers like Firefox , Google Chrome , Internet Explorer etc.

1)       ISO 9001 Clauses

Documentation Requirements:

The important issue here is that people must have the information they need to do their job. The QMS must include quality policy, quality objectives, quality manual, documented procedures, documents to ensure the effective planning, operation and control of its processes, and records. All documents are required to be controlled. Also required is the control of records, i.e. identification, storage, protection, retrieval, retention time and disposition of records.

Management Responsibility

Specifically identifies the responsibility of top management and the need for effective leadership

Customer Focus

Top management shall ensure that customer requirements are determined and are met with the aim of enhancing customer satisfaction

Planning

Top management shall ensure that the planning of the QMS is carried out in order to meet the requirements of the standard as well as the quality objectives. The integrity of the QMS is maintained when changes to the QMS are planned and implemented

 

ISO 9126 Clauses

ISO/IEC 9126 enables software product quality to be specified and evaluated from

different perspectives by those associated with acquisition, requirements, development, use,

evaluation, support, maintenance, quality assurance and audit of software

• validate the completeness of a requirements definition;

• identify software requirements;

• identify software design objectives;

• identify software testing objectives;

• identify quality assurance criteria;

• identify acceptance criteria for a completed software product.

• a framework for software product quality definition in the customer-supplier process;

• support for review, verification and validation, and a framework for quantitative quality

evaluation, in the  support process;

• support for setting organizational quality goals in the management process.

• a framework for software product quality requirements definition in the primary lifecycle process;

• support for review, verification and validation in supporting lifecycle processes.

• support for setting quality goals;

• support for design review, verification and validation .

2)

The traditional SCM identifies four procedures that must be defined for each software project to ensure a good SCM process is implemented. They are

  • Configuration Identification
  • Configuration Control
  • Configuration Status Accounting
  • Configuration Authentication

Lab evaluation 3 – Sunny

1)    Programming paradigm applicable to for “Web Framework for online book store”
1)   Objected oriented Paradigms
2)   Multi Programming paradigm

Object Oriented Paradigm (OOP)
OOP is a programming paradigm that uses “objects” – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction, encapsulation, modularity, polymorphism, and inheritance.
Some Object Oriented Programming language are JAVA,C++ etc.

Multi Programming Paradigm
Multi programming is a language that supports more than one programming language.
For ex- C# supports both imperative and object oriented features as well as functional programming.
No programming language is enough to develop a project. The idea behind multi programming paradigm is to provide a framework in which programmers can work in a variety of styles. there is an option of  intermixing constructs from different paradigms

2)  Coding standards
**   NAMING CONVENTIONS
Name of variable is in mixed case, starting with lowercase
Global variables starts with “g”.
Class names are in mixed case , starting with uppercase
Class member variables names start with “m_ ”
for ex- void Transform(Book book, Writer writer) {
m_book = book;
m_writer = writer;
}
** COMMENTS
Header comment at every function definition is used. This increases code     understandibility
For ex- // This function will add new book to customer cart.
Comments explain WHY instead of HOW.
** Exception classes is suffixed with Exception.

3)
Reliability:
The system shall be available 24 hrs a day and 7 days a week.

Usability
• The system shall support large number of simultaneous users
against the central database at any time.
• The system shall provide access to catalog database with no
more then ten seconds .
• The system must be able to complete 80% of all transactions
within 2 minutes.
Compatibility
The software is compatible with different machine as well as different operating system (Mac,Linux etc.). As there can be variety is user.

Affordability
The Software is developed using coding standards, so there is less cost in maintainence and testing. At the same time user requirements are also fulfilled.

Maintainbility
In case of system failure, system can be restored to previous best know configuration.
New features can also be added with very less changes.

https://github.com/oceanparkk/OnlineBook

lab evaluation 1 – sunny

gantt chart resources usages resources

lab evaluation 1

gantt chart resources usages resources

EPIGRAMS ON PROGRAMMING

Alan j Perlis, the first Turing award winner for his work in the area of  advanced programming techniques.

He gave “Epigrams on programming” in 1982. These epigrams are basically one line description of his experience that he learned over the year of his work.

Some famous epigrams are :

 Syntactic sugar causes cancer of the semicolon

Syntactic sugar are constructs added to a language, to make it easier for programmers to read and write program code. But looking as a programmer it makes a language hard to learn.

For ex – using  a[i] instead of *(a+i) in c language is a syntactic sugar because it leads to confusion in programmer who doesn’t know what is really happening behind the scene. Actually it hides away a lot of the details of a program. When learning a new program knowing the basic is crucial.

This may be the reason why many language borrow the syntax from popular existing language. Because introducing a new syntactic sugar will lead to a new confusion.

Like c++ is syntactic sugar on C with OOP.

Everything should  be built  top-down,  except  the  first  time.

Consider an example, where in order to compute A , B should be computed first. Now if we follow top-down approach, A code will be written first with function call to B (not-yet-existing). But if we want to test during the whole development, then we would not able to test A , as B is not existing yet.

But if we do this other way around, means write B first, complete with unit test, after that code A and completes  it’s test. If B doesn’t produce the right answer, A won’t either (and thus not pass its Unit test), even though A might be correct.

This epigram is fairly attack on Top-down programming. As it is impossible to think purely top-down.

If a  listener nods  his  head when you’re explaining your program, wake  him  up.

Computer Programming is complex and hard! When you write a computer program, you have to get both the syntax and the semantics absolutely, 100% correct. It’s like writing a large novel in which there can be no spelling errors, no grammar errors. Even  single error can take days to get debugged.  May compiler shows error in line 10, but actual error may be in some other line.

So making someone understand your program by explaining is not going to help.  Even the person keep nodding his head to create an illusion that he is understanding everything, actually he is no more  concerned  about it and may just fall asleep.

So If a listener nods his head when you’re explaining your program, wake him up.

BY

SUNNY.