Requirements engineering is a fundamental activity in systems development and it is the process by which the requirements for software systems are identified, systematized and implemented and are followed through the complete lifecycle. Traditionally engineers focused on narrow functional requirements. Now it is being argued by Aurum and Wohlin (2005) that focusing only on the functional and non-functional aspects of the system is no more appropriate. The developers have to concentrate on the entire business system for which it provides solutions even though some of the aspects may be out of the system. Thus there are complexities that arise based on the requirements of the system and the clients for which detailed analysis is required firsthand.
Software Development Life Cycle ( SDLC)
Explain Requirement process ( in SDLC) in detail. Why is this exercise important?
Requirements engineering is a fundamental activity in systems development and it is the process by which the requirements for software systems are identified, systematized and implemented and are followed through the complete lifecycle. Traditionally engineers focused on narrow functional requirements. Now it is being argued by Aurum and Wohlin (2005) that focusing only on the functional and non-functional aspects of the system is no more appropriate. The developers have to concentrate on the entire business system for which it provides solutions even though some of the aspects may be out of the system. Thus there are complexities that arise based on the requirements of the system and the clients for which detailed analysis is required firsthand.
Requirements dictate the system design. The requirement process has many intricate steps that make it whole. The foremost is project planning. This gives direction to the project and also limits costs and schedules are managed bettering planning the requirements will be the basis of the project planning process. Selection of the appropriate software development life cycle and development of resources are based on the resources required and the general requirements. (Wiegers, 2012)
The aim of the design today is to create flexible systems. The flexible system can be used in more than one ways and there is a high degree of interaction with different users, and the task performance is high with desirable system characteristics; and flexible programs will increase the efficiency of the system. There are adaptable and adaptive systems that fall into this category. In systems with complex functionality the developer is forced to see that some compromises occur so that the system can be flexible to all possible needs of all users. Thus if an adaptable system is created then the end-user is allowed to create choice and make changes in the system to suit the individual functions. (Oppermann, 1994)
Some activities follow the route map created by the requirement analysis and documentation. One is the development of the system, and allocation of resources and the other is tracking the progress. Thus project tracking is possible by the proper study of the requirement and this is the only way for verifying that the construction of the system is as intended. If the processing is not proper and the method of implementing of the requirements is not understood, then the requirements may have to be studied again and reallocation has to be done over the lower priority requirements. This also is important in the change control process where the importance of a proposed change can be understood. .Thus there must be a proper requirements documentation that is highly accurate. (Wiegers, 2012)
The requirements documentation is kept current and accurate. The next step, system testing also is based on the requirements processes with the user requirements and functional requirements used for system testing. Finally the development of the software again is based on the requirements and the software can only be tested using the requirements tracing. Lastly the most important part of the development of the system namely the documentation process, vital to maintenance can be created based on the user documentation process, and the requirements analysis. (Wiegers, 2012)
The general approach seems to be the method of braking the complex IT system into smaller segments or subsystems and thus many interdependent subsystems make up the governance system -- which itself thus is a mix of procedures, protocols, systems, and many types of data and human relational mechanisms. There are many conflicting external and internal factors in the system that has to be understood well not only by the designer but by the administration or the information officers. (Wolak, 2001)
One of the most important aspects of governance where IT has now played a role and is becoming crucial is in the field of accounting and financial operations. Organizations are judged by their financial performance and therefore the processing of information to leveraging its financial capital as well as its intellectual capital is the basis for the firm's survival. (Thierauf; Hoctor, 2003) Because of online financial activities many of these financials are linked directly or indirectly to the internet and the World Wide Web and thus many issues are involved in the formulation of finance based IT scenarios.
Question 2. Requirement Analysts (SDLC) need to have good people skills. Explain.
Software design is very complex. As a result of the complexity of systems the user must be the basis of development including proper support in understanding complexity of the application. This means that the designers must be able to analyze how the user would connect to the system and generally to each application, and for this purpose sometimes it becomes necessary to develop entirely new system and in some cases existing systems must be extended, to adapt to the user's needs. This fundamental principle forms the back bone of the system creation and maintenance. There are lots of human factors that the systems engineer and system developer must be aware of. Thus the developers of the system must have a thorough knowledge of the user behavior, needs and in what way the system must be designed to elicit adaptive system behavior from the user to make the system effective. (Oppermann, 1994)
While the system developer usually concentrates on turning out the best problem-solving system, some input must be generated that would also account for the human factors involved. Thus the study of human factors by specialized engineer would create the development of software and systems that are user friendly and can adapt to the customer. In other words, people skills result in highly efficient and adaptable systems for the client. Such endeavor will create adaptive systems. The modeling and the components are created using the interaction of the system designer with the users and complete components of the proposed system. (Oppermann, 1994)
Therefore the persons involved in the design need be highly people skilled and oriented. Adaptive lifecycles is based on the overall mission focused on the component and the way features are developed and this method therefore has a cycle that is based on the need to re-evaluate the project's mission, scope, schedule, resources, and defects. Other methods include the Agile Software Process -- ASP which is based on time schedule and is able to bring this about by creating a set of lightweight processes, that are iterative and is a time-based delivery. It has both the concurrent and asynchronous processes. It can be used in a large-scale software system creation and maintenance. (Wolak, 2001)
Another modern system design concept that is current is Crystal SDLC methodologies invented by Alistair Cockburn who argued that various project types require differing methodologies. Based on the personnel employed and the team and the amount of risk that is involved in capital terms determine the type of project which is color coded and the clear bands are the simple ones devoid of any risk violet is thus at the far end of the spectrum with large amount of personnel and also risk. For each of these sets the rules and methodologies are different. Thus larger methodology is used for bigger teams and denser methodologies for more critical projects are one set of rules. The software also undergoes a rigorous quality control check. The human error possibilities have also been incorporated into this system. (Wolak, 2001)
These systems are pertaining not only to the client side but also the developer side. There is a need to tailor the system to the side of the developer because one can observe a well established relationship between IT and organizational structure. The importance of IT is because it helps companies remain competitive and also they can have better processing ability of information. The most effective use of IT can then be achieved only by a strong organizational structure. The organizational structure can affect the effectiveness of the use of information technology. The structure of the organization also includes the routines and learning capabilities and adaptation to the changing roles in the work place and information processing. (Earl, 1988)
The major goal is to integrate information systems/information technology with the corporate strategy to use information for better governance and management. This has improved with the connectivity and networking and also the shrinking cost -- performance ratios in technology. IT governance thus is a result of the complete merger of computer and communications technologies, like data processing and high advancement in networks, and integrated systems. (Bloomfield; Coombs; Knights; Littler, 2000)
Thus the information officers are involved in the process of strategic information systems planning -- SISP which in turn could yield better business strategy or strategic options and the roles of the Information system is wide today. It is expected to play a key role in the management of resources; creating competitive advantage, furthering business goals; and making the organization very efficient and effective. (Earl, 1988)
Many systems exist for different types of governance needs. One is the organizational approach that has better success rate. In other words the system creation and management is very important. There have been vast changes in the very functions of government and these changes have been made in many sectors that are the core of the government, the "nodality, authority, treasure and organization." (Margetts, 1999) These thus are vital concepts that actually take in the system development from the side of the client and the developer.
Question 3. As part of design process in SDLC, what quality attributes should be focused on? Describe each in detail.
Quality is the key in the software development necessary at many levels: Primarily the changes that occur in the hardware and the software industry the programmers have to be also upgraded to keep the quality of programming. They must also be able to get "new knowledge and skills; and must thus acquire a variety of knowledge bases" and are the victims of increasing work intensity seem to make the work tedious with attrition. (Docherty; Forslin; Shani, 2002)
Thus loss of key personnel has a major impact on the quality. However the general method of improvement still functions well. The method of process improvement simply is the selection of the paradigms that work and elimination of those which were problematic in the past. The first step to this is to begin by correcting the problems that were seen in the systems in the past. If the system as of now works well the need to change it must be considered with caution and the impact the changes will have on the users. The second necessity is anticipating problems that may be created in the future. (Wiegers, 2012)
The aim of development however is to see that the system is "intelligent" and "autonomous" in response and minimize the tasks for the user. The opposite end is to see that the human problem solving potential is exploited and leaves the system as the executor of the solution where the user designs the responses in the system to the needs. (Oppermann, 1994) The major consideration is on quality focus on the infrastructure that would be needed for the project. Thus there must be quality infrastructure available and along with that there be a method of measuring the process. The process measurement is based on many quantitative techniques that are used to diagnose software processes and find information on quality and the weakness and strengths. It is also used for the process implementation and for evaluation. (Emam, 2001)
The definitions of the process also decide the quality. Thus models have to be created that can elucidate the processes and the tasks and paradigms involved. These steps make it possible for the life cycle processes to be fit to any life cycle frameworks. The two important quality determining procedures are the "ISO/IEC 12207: Information Technology -- Software Life Cycle Processes [80] and ISO/IEC TR 15504: and the Information Technology -- Software Process Assessment [42][81]. Both being produced by the IEEE and they consist of the definitions of the measurement scale to evaluate the capability of the processes." (Emam, 2001)
Thus by adhering to the IEEE standard on developing life cycle processes the quality can be set and maintained for the system lifecycle and the maintenance processes and for creating quality software. The system is important to the management of inventory and all other functions order taking, logistics, delivery and stocking merchandise. Order processing has many vital divisions that have to be understood in the individual context and the system as a whole. Even in a small operation the information system ought to have better tracking functions, "data analysis and reporting, vendor management, customer databases processing and marketing analysis feasibility." (Lagana, 2004) Only when such an integrated system is developed tailor made to the business, can the efficiency required to be competitive be perceived in the business. (Lagana, 2004)
The technology driven market has brought in the way of complex ordering processes for example the traditional mail order is replaced with e-commerce. Thus online and store front services have merged and this require customized configuration, with the inclusion of the possible services. The success of the business could thus depend upon the proper implementation of proper systems that could adapt to complex ordering processes. The most important is the management of customer orders which could then affect the profitability or viability of a company. The creation of a system undergoes many stages, with the definition of the business strategy, and the mission and needs of the organization, which is then analyzed as to its functioning model which can be called the environment of business and the way the work is to be accomplished and the transactions involved. (Lagana, 2004)
This lays the foundation for the security analysis and the design of the system. In any system the need for computer system security is present but it is more marked in the case where a network environment is a part of the system. This opens up a possibility of unauthorized entry, or where there is sensitive data that is not to be disclosed and the vulnerability of the system persists. There are many criteria with which individual institutions may define security. It may be the integrity factor, where the primary concern is protecting the interest defined either in terms of integrity, privacy or the safety of transactions. In modern times all three are relevant and are probably basic requirements. The fact that persistent intruders could access at any time the systems and play havoc prompted the trial of many security systems within the IT system of the organizations.
Question 4. Explain the Design principles for System Development Life Cycle
Software development life cycle is a conceptual model used in project management that describes the stages involved in an information system development. It is the methodologies which people use to develop systems of software development in a continuous process called the life cycle. It is the most important concept in software development and it is vital to the implementing organization for mapping out and planning how to implement the software development life cycle. Software development life cycle should be client oriented and a generic overview concerning completely different client oriented software development methodologies. The software development life cycle has numerous activities and steps, some simultaneous and some sequential. These steps, including validating the system, requirement analysis and finally the testing of software has all the process mapped out in a formal set of documents and the logical steps that must be taken to develop a software product are part of the cycle. However the vast changes in the world have made some of these processes out dated. The basic paradigm of development is now old. (Kliem; Ludin, 1994)
It is contended that development methods must change with the demands of the developing technology. Some of the methods of systems development have now become obsolete. The case is that in the older systems development paradigm there is a central goal -- the creation of a viable product as fast as it can be created. The process of arriving at the product is not material. The developers work in this system with the end in sight rather than the robustness of what they create. These developers are thus a "good case of tunnel vision" and this approach is called the "archaic paradigm." (Kliem; Ludin, 1994) This method has its own steps and that begins with the analysis and design, after which there comes construction, followed by implementation, and finally management. The methods may vary and be different, but in short, the System Development Life Cycle -- SDLC is a method that is used to ensure that the final software is perfect and meets the requirement that it is created to fulfill. (Kliem; Ludin, 1994)
To arrest the waywardness and different perceptions of developers the life cycle is a system that brings in quite a lot of work ethos and f discipline to the software development process thereby making the process highly specialized and very efficient. Merely because it is some what old does not mean that it has no value. There is still the strength in the traditional method although the modern methods are faster and with out so many processes. Both have to be considered simultaneously with highlights on the differences between them. The traditional SDLC methodologies sometimes fall short in the new e-business software environment and cannot keep up with the pace of e-business software development projects. Hence now "light" SDLC methodologies with reduced documentation and managerial effort are now being used. (Wolak, 2001)
You’re 83% through this paper. Sign up to read the full paper.
Sign Up Now — Instant Access Already a member? Log inAlways verify citation format against your institution’s current style guide requirements.