Friday, April 5, 2019
Problems Of Architecture And Design
Problems Of Architecture And determination computer computer computer softwargon establishment computer architecture and fig is the master(prenominal) signifier of package development life cycle. There be various essential challenges that are associated with this phase. During our look for on evaluating various bundle architecture rule approaches, we identified many issues that are associate with be approaches like parcel requirements specification, software initiation regularitys its architectural styles, software processes and different constraints and associated policies. Present regularitys fulfills the demand of piffling and large scale software products but still there are several(prenominal) problems that we need to way more about. In this bracingsprint we highlight these problems through survey mode and also present some ideas and methods about their improvement.Key TermsSDLC ( software dodge development life cycle),UML ( unite manakin language), SDM ( software development methodology), CASE (Computer Aided Software Engineering)IntroductionArchitecture is concerned with the selection of architectural elements, their interactions, and the constraints on those elements. Interaction is necessary to provide a framework in which to receive the requirements and serve as a basis for the send off.As in propose 1, we can see that Architecture=elements,interactions,constraintsFigure 1 Software architecture goal as a pair devise is concerned with the modularization and detailed interfaces of the fig elements, their algorithms and procedures, and the data examplecasts needed to support the architecture and to satisfy the requirements. be after=elements,algorithms, procedures, datatypesFigure 2 Outline of architectural digit approachThe next part of this paper is section II which get out describe what software architecture foundation is all about. Section iii of this document entrust describe the current challenges of soft ware architecture and design. In section IV we willing describe our survey question results. Section V will describe our proposed solution by identifying alive problems in software architecture design. Section VI will summarize the main recommendation for future(a) look on software architecture design improvements.Literature ReviewThe design architecture of software system has primary importance in software engineering research. goal is an legal action which is engaged by a wide range of stake holders, calld throughout of SDLC phases, provides coiffe of key choices for applications architecture. Richard N. Taylor in his research The once and future focus of software engineering shows why design is a principal focus. His room for design research includes(a) Various drawing techniques(b) Design of application functionality, style architecture(c) Expand the software design to add different intangible software artifacts.A good architecture ensures that system will satisfy key requirements e.g. reliability, efficiency, quality, performance, scalability, portability, and interoperability. A bad architecture leads towards complex problems e.g. system crash. David Garlan in his research Software Architecture a Roadmap defines that change in technology raises a number of new challenges for software design architecture. This paper presents some of the important trends challenges of software architecture in research. Architecture contains set of interacted shares. Architectural explanation includes sufficient information to do high-level epitome of system. It plays a role as a bridge between requirements and implementation. Software architecture has important role in six aspects of software development Understandability, re utilize, construction, evolution, synopsis management.Design style also plays an important role in real-time software development. For real-time software applications using more sophisticated methodologies is critical to ensure th e fulfillment of safety requirements. Manas Saksena in his research real time SoftwareDesign State of the Art and Future Challenges presents a high-level overview of real-time software architecture design. His focus is on standard techniques for dealing with the critical issues of concurrency and timeliness along with using automated tools. contrary design styles for constructing real-time software principal technological trends currently emerging in the field are described.For large scale software systems development, different security system challenges are associated. Bhavani Thuraisingham Kevin W. Hamlen in his paper Challenges and Future Directions of Software Technology Secure Software Development describes different aspects of just software development like security policy denition, formal modeling, create security architecture and software models, testing verication and validation and evaluation. By developing using new software architectures including service orien ted architectures and object oriented systems for various computing. This paper describes both security challenges that need to be considered in building evolvable and exible secure systems(a) Applying formal methods(b) Secure services modeling of systems. data-driven design techniques are important mechanisms to manage complexity in systems. Important design ideas should not be ignored. Rebecca J and Wirfs-Brock in Designing in the Future presents their idea that Up-front thinking is rarely wasted effort, in particular when tackling complex or novel design problems.Proposed different aspectsFocusing on the DetailsThinking and intend add valueThe Design Value of Well-structured requirementsThe poorly defined requirements have bad effect on overall design architecture. Designers should design the problems in well-formed manner to bring clarity in design. one-time(prenominal) by using simple, comprehensive solutions is not suitable. Messy problems leads towards poor design archite cture small elements dont constantly collectively add up values to design abstractions. It needs to use better techniques for understanding and structuring problems as well as design solutions.Challenges of Architecture Design PhaseHere we describe some important phases of SDLC in detail along with the existing processes then highlighted some problems cerebrate to these processes.3.1. Requirements ElicitationIt is about collecting the requirements of a system from users, customers and other stakeholders. Requirements elicitation processes include interviews, questionnaires, user observation, workshops, brain storming, use cases, role contend and prototyping.ProblemsSome of the problems are related toDefining the system objectives scopeUnderstanding among stakeholders affected by the system developmentVolatile nature of requirements3.2. Design MethodologiesStructured methods of software design are sets of guidelines. It supports different type of models likeA structural modelD ata-flow modelAn object-oriented modelAn ER modelProblemsSome of the issues related to software design areReliabilityQualityComplexityConformityChangeabilityInvisibility3.3. Tools/Technologies distinguishable types of software design tools are available in market for use.Commercial tools areRational roseate (IBM)Together Designer (Borland)Rhapsody (I-Logix)Poseidon (Gentleware)Free ToolsUMLetEclipseUMLVisual ParadigmOpen source ToolsArgoUML (Tigris)StarUML (Sourceforge)ProblemsSome other problems in CASE technologies areUsability, Complexity.Need creative skillsIntegrations between teams3.4. Software Development Process methodologiesIt contains structured set of activities required to develop a software system. Different software process models are usedfalls modelEvolutionary modelIterative/Incremental modelSpiral modelAgile software DevelopmentAgile unified processDesign driven DevelopmentDynamic systems development methodExtreme programmingRational unified processScrumTest driven developmentUnified processProblemsApplying the wrong process for software productUse less rule by generating code using automated tools3.5. Design ProcessesSome important processes related to design areDesign system flowDevelop data modelCreate physical data modelDesign screensData entry screensInquiry screensHelp screensDesign reportsDesign PatternsConduct design walkthroughScreen designsProblemsSome of the problems related to design processes areTraceability to the requirements.External consistency with the requirements.Internal consistency between components.Appropriateness of design methods and standards used. flesh out designs feasibility.Feasibility of operation and maintenance.3.6. Design StandardsFollowing standards are vernacular for all type of software projects identification of tasks, frames, units, and proceduresIdentification of common modulesIdentification of the programming languageDefinition of the control logic for e precise componentIdentification of access of databaseEvaluate operation and performance requirementsProblemsSome of problems related to design standards areScalability sensation standard are applied for both small and large scale projectsStandards become very common when every type of project follow them3.7. Architecture and design DocumentationDocumentation includes following requisite documentsFor Enterprise ArchitecturePhysical Design DocumentSystem Architecture DocumentLogical Design DocumentInfrastructure Component Placement DiagramInfrastructure Pattern MatchFor Waterfall progressArchitecture DesignSystem/Subsystem DesignApplication Architecture and DesignInterface DesignDatabase DesignScreen/Report DesignFor Iterative ApproachDesign ClassDesign ModelDesign PackageSoftware Architecture DocumentUse-Case RealizationProblemsUnderstandabilityChangeabilityInvisibility3.8. Costs and RisksWhen we deoxidize risks on early stages of architecture and design then this will disgrace cost on later phases. Resolving risks on late r phases are very expensive and very difficult.ProblemsFrom preliminary studies it is concluded that design for dependability and depth psychology is risky and costly due to following reasonsEffect of design on analysis and cost is not determined and understandable.During the course of the project whenever requirements change, the design will also change. This condition will make dependability of the system invalid.Top-down method is not good for those systems that are inherited from their previous systems.Survey Report ResultsWe have designed a questionnaire containing questions related to challenges of architecture and design.Research AnalysisThis analysis is a comparison and research of most thought-provoking activities during architecture and design phase.4.1. Secure architecture and design harmonise to our research 13 % Architect is using attack trees and threat models for designing a secure architecture. 26% are concord on misuse cases are utilized during the design process . 40% Architects are using secure software design principles to mitigate potential weaknesses. Similarly 20% is concur on that existing software is using known, good cryptographic methods/algorithm.Figure 3 Secure architecture and design4.2. to the highest degree challenging task in design processAccording to our analysis most challenging activity is to create internal consistency within the module of a system in design process. 40% is concur on this. Then maintenance and feasibility are challenging with the percentage of 26% and 20% respectively. Finally following standards are also difficult task and 13% are concur on this.Figure 4 Most challenging task in design process4.3. decisive deficiency in design standardAccording to our analysis the most critical deficiency in present design standard is flexibility and 40% hoi polloi are agreed on this. 33% and 26% are agreed on global acceptance and scalability respectively is critical deficiencies.Figure 5 Critical deficiency in de sign standard4.4. Challenges related to design documentationAccording to research in case of multiple stakeholders the most common problem related to documentation is changeability. 33% agreed on this. 26% agreed that understandability and flexibility are problems in documentation and 13% agreed that invisibility is a common deficiency.Figure 6 Challenges related to design documentation4.5. Design tools technologiesAccording to our analysis 33% projects use commercial tools because of their high reliability and efficiency. 26% and 20% organizations or people use open source tool and free tools respectively. These tools are available and easily accessible.Figure 7 Design tools technologies4.6. Design methodologiesBrainstorming is related to finding out root causes of a problem so 26% people are agreed that this process is most effective for requirement elicitation. 20% agreed on prototyping.10% are agreed on interview and questionnaire because they cover very limited domain of prob lem. 6% agreed on use cases and workshop because it required skills and cooperation between team members.Figure 8 Design methodologies4.7. Problems with explosive nature of requirementsAccording to survey 40% people agreed upon that we can reduce irritability by freezing or fixing requirements. 33% agreed that we can reduce this issue by reducing modifications. 26% agreed that we should ignore changes.Figure 9 Problems with volatile nature of requirements4.8. outmatch software design method33% people agreed that surmount method for software design is iterative method. Then 25%, 20%, 13% and 6% agreed that Agile method, Spiral method, waterfall method and evolutionary method respectively are well suited method.Figure 10 Best software design methodV- Proposed Solution5.1. Secure architecture and designFor the purpose of reducing security risks designers should use secure software design principles. Designer should also focus on complex cryptographic techniques.5.2. Most challenging task in design processMaintaining internal consistency within the module of a system is very difficult task. Designer can reduce this issue by making minimum dependency within the modules. Design whole system in small increments will also assistance to reduce this problem. In this way requirements will be traceable to their original resources.5.3. Critical deficiency in design standardArchitecture and design standards are most common thing for all type of software system. So flexibility is very challenging characteristic of standards and policies because most adopted standards are very common. If standards are according to system or product design then we can accommodate new changes.5.4. Challenges related to design documentationChangeability or modifiability is very critical task in the design documentation. Requirements might be change in any stage of design phase. When requirement changes then design will be according to these modified requirements.5.5. Design tools technolog iesAccording to analysis software development organizations should use commercial tools for design and architecture phase. Commercial tools are reliable, efficient and provide good performance.5.6. Design methodologiesDefects in requirement elicitation phase will create problem during design and architecture. We should use brainstorming method because this will reduce causes of problem occurrence. For large projects we should use prototyping. In prototyping an increment is delivered to customers and they will identify problems.5.7. Problems with volatile nature of requirementsVolatile nature of requirement causes problems during architecture and design phase. When we freeze or fix requirements in the first place design and architecture phase then this will reduce problem related to volatility of requirement.5.8. Best software design methodThis is a very challenging task to select a best method for development software. The selected method will also effect on the architecture and de sign phase of software. When we use iterative method then this will reduce problems in later phases because early increments will measure performance of systems design.VI- Conclusion and future workSoftware architecture and design is the core activity of any development cycle. In this paper we highlight some problems related to this phase. These problems are faced by every type of project. We also suggest some solution for this problem. When we follow these suggestions then we can reduce problems associated with different phases of architecture and design.In future we can implement these suggestions. Secondly there is also a possibility to highlight issue very deeply and related to each activity of architecture and design phases.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.