Author Archives: anudeepsk

unit -2 software design process -anudeep

Software design is a process of problem solving and planning for a  software  solution. A software design may be platform-independent or platform-specific, depending on the availability of the technology called for by the design.

Software design can be considered as putting solution to the problem(s) in hand using the available capabilities. Hence the main difference between Software analysis and design is that the output of the analysis of a software problem will be smaller problems to solve and it should not deviate so much even if it is conducted by different team members or even by entirely different groups. But since design depends on the capabilities, we can have different designs for the same problem depending on the capabilities of the environment that will host the solution (whether it is some OS, web, mobile or even the new cloud computing paradigm). The solution will depend also on the used development environment (Whether you build a solution from scratch or using reliable frameworks or at least implement some suitable design patterns)

Software design plays an important role in developing software: it allows software engineers to produce various models that form a kind of blueprint of the solution to be implemented. We can analyze and evaluate these models to determine whether or not they will allow us to fulfill the various requirements. We can also examine and evaluate various alternative solutions and trade-offs. Finally, we can use the resulting models to plan the subsequent development activities, in addition to using them as input and the starting point of construction and testing.


software design consists of two activities that fit between software requirements analysis and software construction:

  • Software architectural design (sometimes called top-level design): describing software’s top-level structure and organization and identifying the various components
  • Software detailed design: describing each component sufficiently to allow for its construction.


A number of key issues must be dealt with when designing software. Some are quality concerns that all software must address – for example, performance. Another important issue is how to decompose, organize, and package software components

unit -3 distributed development -anudeep

A distributed development project is a research & development  project that is done across many business worksites or locations. It is a form of R&D where the project members may not see each other face to face, but they are all working collaboratively toward the outcome of the project. Often this is done through email, the Internet and other forms of quick long-distance communication.

Distributed Development is a methodology that leverages a common development environment to promote reuse of services, code, processes and technologies and industry best practices adoption for MHS Automated Information Systems (AIS).  To accomplish this, the PEO Joint Medical Information Office Distributed Development team is organizing a series of working group sessions to define System Development Life Cycle (SDLC) activities and underlying tasks and to develop standardized toolkits. The result of this effort will promote reuse throughout the enterprise, increase the speed to market, and reduce overall cost.

The overall approach is to work with all stakeholders as a team to

  • Develop an MHS team product
  • Involve wide participation by all interested organizations
  • Develop a shared solution

In Distributed Development, employees work from various locations and worksites. Through the use of email, the internet, and other communication devices, in this day and age, Distributed Development has become a very popular method of bringing people together on a range of projects. This method is different from outsourcing and subcontracting, where the company pays others to produce work for them. Rather in the Distributed Development model, team members are employees of the company that owns the project. If you want to see a clear cut case of success in Distributed Development, then take a look at the story of how Stack Overflow was created, and see how it affected the overall project. Distributed Development is also a well-known word around companies like Microsoft, whose reach is global and because of this, practical Distributed Development becomes essential to the survival of globally reaching projects.






EVERY  METHOD  we use is to prevent and find bugs leaves a residue of subtler bugs against which those methods are ineffectual.

TESTING alone will not gurantee to make software better complexity barrier complexity grows to limit of our ability to manage that complexity

By  eliminating easy bugs you allowed another escalation of features &complexity,but this time you have subtler bugs to face ,just to retain reliability you had before.

If a failure occour during prelimnary testing &code is changed software may now work for testCase that is didn’t work previously.But its behaviour on pre-error test case is passedbefore can no longer be guaranteed.

Software bugs will almost exists in any software module with moderate size,not because programmes are careless or irresponsible but because complexity of software is generally intraceble and human have only limited ability to manage complexity.

SO by this we can conclude that SOFTWARE TESTING is process of executing a program or system

Intent of finding is unlike other physical where input are received  and output are

Produced.SO detecting all different failure mode for software is generally infeasible.


unit -5 position of FOSS on cloud computing -anudeep

Acronym for FREE OPEN SOURCE SOFTWARE. (FOSS) programs are those that have licenses that allow users to freely run the program for any purpose, modify the program as they want, and also to freely distribute copies of either the original version or their own modified version.

The FOSS-Cloud is a Software, which enables you, to build your own Privat- or your Public-Cloud!

The FOSS-Cloud (FOSS-Cloud software and hardware) is an integrated and redundant server infrastructure to provide cloud services, Windows or Linux based SaaS-, Terminal Server-, Virtual Desktop Infrastructure (VDI) or virtual server environments. It makes virtual machines available, which can be accessed from internally as well as from the Internet. FOSS-Cloud covers all of the aspects of an Open Source IT environment. The FOSS-Cloud is the most advanced Open Source Cloud. There is a natural synergy between free open source software and cloud computing.FOSS-Cloud is a pure Open Source solution, it is licensed under the EUPL and is available on the

Its features are mainly

  • Full integration into existing Windows and Linux environments
  • Cloud for server- and desktop virtualization
  • Powerfull virtualization for Windows and Linux 32/64bit
  • Published Desktop
  • Persistent virtual machines including session transfer to other devices
  • Dynamic desktop with Golden Image to serve user groups
  • Application streaming
  • Published application support with RDS
  • Video streaming

lab evaluation -4 anudeep


reliability:It mainly deals with how well the testing tool,or method is reliable.

It represents how well the testing tool is reliable and error in case of webframe work for online storage refers to the how well testing tool is reliable for online below taking a test case as an example customer should be relible to order a book




Test case

: The registered customer should be able to order a book.

Test procedure:

  1. Check whether the menu for ordering a book exists or not.

Test result: Satisfied. In the right top part of the webpage for the customer logged in.

  1. Check whether the menu for ordering a book is linked correctly.

Test result: Satisfied.

  1. Check whether the administrator be able to order a book successfully.

Test result: Satisfied.



Compability:IT deals with how well the testing tool is refers to how well testing process can be configured in the available resources.



maintainability– Describes the ease with which an item to be retained in, or restored to, a specified condition when maintenance is performed by personnel having specified skills using prescribed procedures and resources at each prescribed level of maintenance and repair.It also reveals with how well the testing tool can be in case online webframe for book store refers to maintaining the online transaction to its normal position if faults or error have happened.




Usability:Usability is the ease of use and learnability of a human-made object. The object of use can be a internet,any software,any equipment.

Here in case of testing webframe work for online book shop refers to ease with which user learn the utilisation of software.



Test case

: Stakeholders (Application users) are two identical users, customer and administrator.

Test procedure:

  1. Check whether the webpage exists for customer.

Test result: Satisfied

  1. Check whether the webpage separated with one for administrator exists for customer.

Test result: Satisfied.

1)ISO 9000 clauses:



1)scope:Scope of the QMS, areas covered and any exclusions identified


2)Normative Reference:The normative reference ISO 9000 must be used in conjunction with the standard itself


3)Terms & Definitions :The terms and definitions given in ISO 9000 apply.

5.4)Quality Policy :A Quality Policy establishes a commitment to quality, a commitment to continuous improvement, the context for quality objectives and how the objectives relate to customer requirements


5.5)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;


unit 1 -FAKE RATIONAL PROCESS (anudeep)

This concept of Faking of rational process was first proposed by David  L Parnas and Paul C. Clements

The rational way of designing a software is impossible.One can try for rational way of developing software but to acheive it is impossible.There are reasons for inability to      develop a software using rational cannot be a perfect with his requirements to develop a software.

The below given are the 2 ways of approaching to develop a software



rational process: here every phase of software development is done in an rational way i.e   every phase of software development is done in an systematic way.

ideal process:here  every phase of software development is done by deriving and duplicating some of the earlier designed softwares

To become a perfect in developing a software using a rational way , it is required to know what is to be developed,what are the requirements to develop,how to implement the the various phases of software development.

Undoubtedly rational way of developing the software is better  But practically  it  is  impossible to meet the above criteria.we can develop the software  idealy  but  not  in  rational way.duplicating of rational process is not impossible but difficult  but mere getting of perfect rational way of developing software  is highly impossible and striving to acheive rational way of software development is useless