Subscribe by Email


Showing posts with label Defined. Show all posts
Showing posts with label Defined. Show all posts

Thursday, April 5, 2012

Explain empirical vs defined & prescriptive process?

To make any process successful it has to be controlled in a way that it achieves its predefined goals or we can say it should be guided along the path of success. This fact holds good for any type of process in this world and so does for the processes in the field of software engineering.

In the field of software engineering, two approaches have been identified for keeping a control over the development and other related processes namely:


1. The empirical process control method and
2. The defined process control method.


In this article the above mentioned two approaches have been compared so that you get a better understanding of both the programs. So let us see how these two approaches control the processes.

The Empirical Process Control Method



- The empirical process control model was defined to exercise or control the process via following some frequent adaptations as well as frequent inspections.

- These inspections and the adaptations both are meant for the generation of the unpredictable and unrepeatable outcomes or results and can be thought of as being imperfectly designed.

- Since for the past many years the various software development methodologies have been known to be controlled by the latter approach i.e., the defined process control method.

- But we all know that every time a certain same output or outcome cannot be expected from the software development processes.

- Therefore, most of the agile software development methodologies are controlled by the empirical process control model and the most famous example being that of the “scrum” agile software development methodology.

- The term empirical process control model itself justifies as the term empirical means the information acquired by the means of experimentation and observation.

- Here the information is achieved by means of inspection and adaptations which serve as a means for the observation and experimentation.

- The process of the empirical control is constituted of a continuous cycle of adaptation of the process as per the requirements and inspection of the process for correct working.

- The empirical control process model has three pillars as we can make out from the definition of the process control model without which it cannot be called as the empirical process control method:
1. Transparency
2. Inspection and
3. Adaptation.

- The first pillar i.e., transparency indicates that the outcomes of the affects of the empirical process control model and the aspects affecting the outcomes should be visible to the programmers and developers who are responsible for controlling the whole process.

- The second pillar i.e., the inspection indicates that all the aspects of the control process should be monitored quite frequently to enable the fast and early detection of the unacceptable variances.

- The third pillar i.e., the adaptation indicates the adjustment of one or more aspects as required of the control process if the software system or application being processed is observed to lie outside the acceptable limits implying that the result will also be unacceptable.

- The defined process control model approach is adopted when the underlying mechanisms of the software system or application are well understood by the programmers and the developers.

The Defined Process Control Model



- The defined process control model can be thought of as a theoretical approach.

- When a well defined set of inputs is given, it is obvious that the same outcomes will be generated every time the program executes.

- With the well understood technologies and stable requirements, one can very well predict a whole software project.

- Even nowadays the empirical process control model holds as the essence of the agile software development processes.

- Empirical process holds good for the complex development processes which encounter difficulty in the production of repetitive outcomes.


Monday, February 6, 2012

What are different aspects of Software Engineering Institute (SEI)?

ABOUT SEI
- Software engineering institute is often abbreviated and called as SEI.
- The full name of the institute is “The Carnegie Mellon Software Engineering Institute”.
- SEI was established in the year of 1984 and has served the nation since than.
- The institute is funded by the federal government.
- SEI is a part of Carnegie Mellon University.
- The institute also serves as source of information and technologies for other organization apart from inspiring them.
- Apart from US, SEI has branches in Virginia and Germany.
- This engineering institute works in collaboration with the government organizations and defense to make effective software driven systems and improve the existing ones.
- The institute helps organizations as such to improve their software engineering standards within their project budget.
- SEI is involved with the research work for exploring effective solutions for the problems that are experienced in software engineering.
- Another purpose is the identification and coding of the solutions that are discovered.
- It struggles to a build a world of effective software intense systems and technologies.

AIM OF SEI
- SEI aims to continually improve the existing software engineering disciplines and technologies.
- It aims to achieve effective softwares within budget and of course time.
- SEI achieves all this by creating a vast community of software engineers and other professionals in the field.
- It is done with their help creating practical technologies that are feasible enough to be implemented to solve the real world problems.
- SEI seeks to improve the good effects of the software on the world.
- SEI considers excellence, impact and integrity as its guiding values.
- SEI conducts various programs in the field of:

System design
System security
Software development
Acquisition
Process management


DEFINED INITIATIVES OF SEI
SEI has some defined initiatives which are meant for improving the engineering capabilities of the software engineering society:

1. Engineering practices:
- These practices or programs are to continually improve the software engineering capabilities for predicting, controlling and analyzing all the properties of a software system.
- Tools like SEI frame work SPLP (software product line practice), SEI SMART (service migration and reuse technique) and SEI ATAM (architecture tradeoff analysis method) are used.

2. Acquisition practices:
- These practices aim to improve the acquisition practices of the organizations.

3. Management practices:
- On top of all management practices are to manage all other practices effectively.
- It is needed to manage the development process of the software systems to achieve success.
- SEI has its own capability maturity model integration (CMMI) approach which is comprised of training courses, models and appraisal methods.
- The CMMI has improved the organization’s performance incredibly.
- Another management model that the institute uses is RMM or resiliency management model.

4. SQUARE or security quality requirements engineering:
- This method has been developed to generate security requirements in order of some priority.
- Using SQUARE method security is incorporated in to the software system at early stages.
- It is particularly used for systems based on information technology.

5. Security:
- SEI is also the origination of the CERT coordination center which is well known for its computer security programs.
- The main aim of the CERT is to resist the attacks on the computer networks by means of effective measures like appropriate system management practices.
- It is implemented to curb the damage and ensure that the service link is not damaged.

6. Conferences:
- The institute organizes workshops, meetings and conferences from time to time. - Such events are to cover topics like COTS based systems (commercial off the shelf), acquisition practices, research on software processes, CMMI, network security and so on.

7. Membership program:
- This program seeks to help other organizations to join the network.


Wednesday, November 2, 2011

Define the tracking progress for an object oriented project?

For a object oriented project, tracking becomes really difficult and establishing some meaningful milestones is also a difficult task as there are many things that are happening at once. For tracking an object oriented project, following milestones are considered to be completed when the below mentioned criteria are met:

Milestone for Object Oriented Analysis is considered completed when the following conditions are satisfied :
- Every class is defined and reviewed.
- Every class hierarchy are defined and reviewed.
- Class attributes are defined and reviewed.
- Class operations are defined and reviewed.
- Classes that are reused are noted.
- The relationships among classes are defined and reviewed.
- Behavioral model is created and reviewed.

Milestone for Object Oriented Design is considered completed when the following conditions are satisfied :
- Subsystems are defined and reviewed.
- Classes are allocated to sub systems.
- Classes allocated are reviewed.
- Tasks are allocated.
- Task allocated are reviewed.
- Design classes are created.
- These design classes are reviewed.
- Responsibilities are identified.
- Collaborations are identified.

Milestone for Object Oriented Programming is considered completed when the following conditions are satisfied :
- Classes from design model are implemented in code.
- Extracted classes are implemented.
- A prototype is built.

Milestone for Object Oriented Testing is considered completed when the following conditions are satisfied :
Debugging and testing occur in concert with one another. The status of debugging is often assessed by considering the type and number of bugs.
- The correctness of object oriented analysis and design model is reviewed.
- The completeness of object oriented analysis and design model is reviewed.
- Collaboration between class and responsibility is developed and reviewed.
- Test cases designed are conducted for each class.
- Class level tests are conducted for each class.
- Cluster testing is completed and classes are integrated.
- Tests related to system testing are established and completed.

Each of the milestone is revisited as object oriented process model is iterative in nature.


Facebook activity