Sunday, July 12, 2015

Introduction to our system

Brief Introduction to our project:-
            The Problem 
              If some one need some organ, blood to save his/her own life , Current popular procedure is make a news paper advertisement. If patience has enough money he/she also make an TV and radio advertisement.
     In here lot of disadvantages in above system.
       1) Most of young people are not interest to read news papers. So young donators miss  donating chance and patience loose the chance to get what they expected.
        2) Peoples don't have money to make TV / Radio advertiesment

Our solution
  In Our system we have three main actors

  •          Banner publisher
  •          Administartor
  •          Software Developer


To publisher, we use Web interface. So it will make the system available to all people without depend on their device type(All devices like android,Windows are help web browsing)
Via that UI publisher can publish/post the banner (banner is image that says about the need
 Ex:- I need an kidney with O+ blood type)

We provide a Restful api to developers. So via that api developer can request to load the banner. When request comes api response with random banner (Banner image).
So developer can show it in his application as a banner.

Since this service is free it is more efficient to all parties.

SELF

Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession. 

Improve their ability to create safe, reliable, and useful quality software at reasonable cost and within a reasonable time.

In this project we got nearly 2 months of time. So we have to schedule our activities. Then we use a grant chart and decide a timelines for each activities. Since we have three members we divide our task among them. But the most difficult task is way to integrate them. To make it easier we have to decide the integration way in the designing phase.
Before the designing phase we have to get knowledge about "how to implement the non-functional requirements in the system".
So we found out hash based encryption method for password , reliable algorithm to get random banners , when we study about the banner publishers interface we found out most efficient way for the is use web interface. Because it doesn't required any platform based (android,ios) applications. because a browser is comes with them. And found out that most peoples are familiar with boostrap interfaces. So we discussed all things and decided what parts must come to our product and also why it must be in our project. 
When we doing that activity we learn many things specially in RestFul apis and UI designing.It will shine our knowledge.

PROFESSION

PROFESSION.

Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. In particular, software engineers shall, as appropriate:

Promote public knowledge of software engineering.

Take responsibility for detecting, correcting, and reporting errors in software and associated documents on which they work.


While we doing our project we have to run the unit test on component before they integrate to the main system. So we do black box testing by giving the component to other team members (except developer) and also white box testing by developer. 

When we doing this we found many errors in many components. Team found nearly 10 code errors and few design errors in my components. 
And also when we detect others errors first we report it to the document. Then we discuss what went wrong, why we suggest this is piece of code as error. 
Main thing we do is when reporting error we have to document the fact that why we suggest it is an error. This action take because of to prevent reporting non-errors as errors. And also to think about the logic of the code. 

Friday, June 26, 2015

Product :-  
Ensure proper and achievable goals and objectives for any project on which they work or propose.


When we got the idea about the project we didn't have any knowledge about Creating Restful Api. So First of all we study that field. And within a week we are able gain a method to do the above project.
So according to that knowledge we design following tasks.

  • User Interfaces
  • Database scheme
  • Messages format passing via the API with client.

Then according to their preferences and skills we divide following tasks among them.
Also we have to consider the some courses they follow in the University.we take that decisions because we believe we can make a system very fast and correctly under above task separation methodology.
  • Implement User Interface for the Web Site.
  • Create database interaction layer and database.
  • Implement RESTful api functions.
But when we dividing the tasks there were no one who knew the json / xml message passing technologies. But within few days we obtain the knowledge about using json and how they use with language like PHP. 

within one week we are able to finish our tasks and we began to combine components. First time  create the appkey (for developers)  and try to save it on our database. But there was an error. Then student who work with api functions began to find the bug with the student who develop the database layer.

The error was found after 30-45 minutes of work.After that our component combining task is very successful. And system functioned as expected.